1. 程式人生 > >體驗Android程式設計之美

體驗Android程式設計之美

因為公司業務是做行情的,一般的短連線達不到這種頻繁更新資料的需求,所以長連線是必不可少的。 當下比較流行的三方框架我覺得就屬Mars了,多平臺都可以使用,而且最主要的是微信官方開源,瞬間逼格就上去了,在網路質量、日誌列印這些方面表現相對比較突出,所以就決定用Mars元件進行長連線的開發。 官方[demo](https://github.com/Tencent/mars),下載到本地後, - 如果你只是想看下長連效果,那麼匯入Android專案後,直接將MarsServiceStub.java下
{
    @Override
    public String[] onNewDns(String host) {
        return new String[]{
                "xxx.xxx.xxx.xxx"
        };
    }
}
  • 如果你想對接自己本地服務
    1.全域性搜尋marsopen.cn,修改替換為localhost
    2.在保證 app/build.gradle 下useLocalMarsWrapper = true的情況下,在 wrapper module 下修改 com.tencent.mars.sample.wrapper.service. MarsServiceStub.java 的 dns 解析的地址為本地主機的 IP 地址 (wiki 上沒寫清楚)
{
    @Override
    public String[] onNewDns(String host) {
        return new String[]{
                "192.168.128.123"
        };
    }
}
原始碼返回的是null,此處修改為他們遠端服務地址即可。但是如果你想除錯自己本地服務,你也有兩種方式: ①找到Server資料夾下有個start_server.py的Python檔案,在mac命令列下輸入命令直接開啟服務(此處嚴重要注意的是,我7月份下的官方程式碼服務端有問題,害我除錯很長時間沒成功,後來找到之前下的程式碼,才發現沒有問題,如果大家執行Python檔案服務也未開啟成功,可移步到結尾下載)
$ python start_server.py 
Enter menu:
1.
start server on Mac, Linux or Cygwin. 2. start server on Windows. 3. exit.
由於服務端程式碼是gradle構建,和Android Studio的gradle一樣,所以第一次會很慢,請大家耐心等待。如果成功的話,會彈出兩個新彈窗,不成功的話就是服務有問題,請下載我提供的程式碼。

出現以上介面,說明服務開啟成功。

②這是利用指令碼開啟服務,一般對於不會服務端開發的人適用,如果你會服務端開發,那麼可以直接匯入程式碼開啟服務,這樣還能更好的理解服務端程式碼邏輯。本人服務端沒有研究過,暫時只是搭建了環境,不知道怎麼才算執行成功,總之是沒看到效果,回頭還是請教下專業人士,再把這裡完善下。

好了,我們看下效果。

DEMO下載