Android 自動版本更新庫

472799002 9年前發布 | 22K 次閱讀 安卓開發 Android開發 移動開發

CheckVersionLib

現在熱更新技術挺火的,大公司都出了自己的熱更新框架,但個人感覺熱更新技術還不是很完善,一般的IT公司還是傾向于傳統的下載安裝包進行版本升級,這是一個android上的自動版本檢測并更新庫。庫集成了檢測版本以及下載版本升級

特點

1.任何地方都可以檢測

2.任何地方都可以彈出升級對話框

3.自定義性強,手動回調解析,適用于各種版本檢測接口

4.自動處理下載和升級

效果

使用步驟

android studio導入

compile 'com.allenliu:checkversionlib:1.0.0'

如何使用

1.自定義service,service必須繼承庫的 AVersionService ,實現其中的 onResponses(AVersionService service, String response) 抽象方法,該方法 主要是請求版本接口的回調,由于不同的使用者版本檢測接口返回數據類型不一致,所以你需要自定解析數據,然后判斷版本號之后調用 service.showVersionDialog(downloadUrl,updateMsg ) 方法。示例代碼:

if (serverVersion > clientVersion) {
         //傳入下載地址,以及版本更新消息
              service.showVersionDialog(downloadUrl,updateMsg );
          } else {
          //由于是回調方法,當不進行版本升級時,需要手動關閉service。需要進行版本升級時,由庫管理生命周期
              stopSelf();
          }

2.在任意地方開啟自定義service,并傳入 VersionParam

VersionParams versionField = new VersionParams()
                     //是否強制升級,默認false
                    .setIsForceUpdate(false)
                    //接口請求方式,默認get
                    .setRequestMethod(AVersionService.POST)
                    //請求參數,選填
                    .setRequestParams(param)
                    //當版本接口請求失敗時,service會根據設定的間隔時間繼續請求版本接口,
                      直到手動關閉service或者接口請求成功,不填默認10s
                    .setPauseRequestTime(requestTime)
                     //接口地址,必填
                    .setRequestUrl(url)
                    //自定service包名,必須填寫用于開啟service
                    .setVersionServiceName("com.allenliu.versionchecklib.DemoService");
            Intent intent = new Intent(VersionDemoActivity.this, DemoService.class);
            intent.putExtra("versionField", versionField);
            startService(intent);

3.下載通知欄圖標和文字替換,需要自定義圖標只需在mimap文件下建立 ic_launcher 圖標,替換標題只需在項目xml定義 app_name 屬性

 

來自:https://github.com/AlexLiuSheng/CheckVersionLib

 

 本文由用戶 472799002 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!