Android 自动版本更新库

472799002 8年前
   <h2><strong>CheckVersionLib</strong></h2>    <p>现在热更新技术挺火的,大公司都出了自己的热更新框架,但个人感觉热更新技术还不是很完善,一般的IT公司还是倾向于传统的下载安装包进行版本升级,这是一个android上的自动版本检测并更新库。库集成了检测版本以及下载版本升级</p>    <h2><strong>特点</strong></h2>    <p>1.任何地方都可以检测</p>    <p>2.任何地方都可以弹出升级对话框</p>    <p>3.自定义性强,手动回调解析,适用于各种版本检测接口</p>    <p>4.自动处理下载和升级</p>    <h2><strong>效果</strong></h2>    <p style="text-align:center"><img src="https://simg.open-open.com/show/294137dff93fcde1957ca3a5cf607554.gif"></p>    <h2><strong>使用步骤</strong></h2>    <h3><strong>android studio导入</strong></h3>    <p>compile 'com.allenliu:checkversionlib:1.0.0'</p>    <h3><strong>如何使用</strong></h3>    <p>1.自定义service,service必须继承库的 AVersionService ,实现其中的 onResponses(AVersionService service, String response) 抽象方法,该方法 主要是请求版本接口的回调,由于不同的使用者版本检测接口返回数据类型不一致,所以你需要自定解析数据,然后判断版本号之后调用 service.showVersionDialog(downloadUrl,updateMsg ) 方法。示例代码:</p>    <pre>  <code class="language-java">if (serverVersion > clientVersion) {           //传入下载地址,以及版本更新消息                service.showVersionDialog(downloadUrl,updateMsg );            } else {            //由于是回调方法,当不进行版本升级时,需要手动关闭service。需要进行版本升级时,由库管理生命周期                stopSelf();            }</code></pre>    <p>2.在任意地方开启自定义service,并传入 VersionParam</p>    <pre>  <code class="language-java">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);</code></pre>    <p>3.下载通知栏图标和文字替换,需要自定义图标只需在mimap文件下建立 ic_launcher 图标,替换标题只需在项目xml定义 app_name 属性</p>    <p> </p>    <p>来自:https://github.com/AlexLiuSheng/CheckVersionLib</p>    <p> </p>