新版本更新库使用说明文档
<h3>新版本更新库使用说明文档 (最新版本V2.0)</h3>
<h4>前言</h4>
<p>V1.1.0 版本升级公共库,在原有老版本的基础上<code>新增</code>了一个封装较全面的版本更新功能库。</p>
<pre><code>1. 内部统一规范了Dialog样式;
2. 支持扩展自定义更新Layout(需按一定的规范定义控件id);
3. 支持断点续传。</code></pre>
<h4>接入方式</h4>
<p>子模块方式接入:</p>
<pre><code>1. [SSH] (git@192.168.173.100:mobile/android_comm/appupdate-lib.git).
2. [HTTP] (http://192.168.173.100:90/mobile/android_comm/appupdate-lib.git)</code></pre>
<h4>使用方式</h4>
<p>使用 <code>UpdateDialogFragment</code> 作为唯一入口,无须再定义外部传入Handler,回调处理下一步逻辑。</p>
<pre><code>new UpdateDialogFragment.Builder()
.setApkUrl(resp.getAndroidPackageUrl())//配置版本下载地址
.setDesc(resp.getAndroidComment())//版本更新描述信息
.setUpdateTitle("新版本" + resp.getAndroidVersion() + "全新上线")//头部更新内容(不是必须)
.setWidth(DensityUtil.dp2px(270))//Dialog宽度设置
.setWidthScale(0.8f)//设置宽度占屏幕宽度的比例(与setWidth二选一)
.setLayoutId(R.layout.update_dialog)//自定义布局
.setForceUpdate(resp.isAndroidUpdateMadatory())//是否强制更新
.setDownLoadStateListener(new SimpleDownloadListener() {//更新回调
@Override
public void onLoadSuccess() {
//下载完成
finish();
}
@Override
public void onCancel() {
//点击了取消按钮,(下次再说、取消)
next();
}
})
.build()
.show(getSupportFragmentManager());</code></pre>
<h4>默认UI布局</h4>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/ac310be5893de4c70d83df163a2b3a18?showdoc=.jpg" alt="" /></p>
<h4>使用自定义更新的布局注意事项</h4>
<p>传入自定义UI布局时,需要按照图示标注,定义控件的id,标注的控件都为<code>TextView</code>.
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/144d00c9ec342a0ee03f6cb4a283a055?showdoc=.jpg" alt="" /></p>
<p>--------------------------------------V2.0开始------------------------------------------</p>
<h3>V2.0版本在V1.0版本上做了优化;</h3>
<h5>1)下载部分文件后退出应用再进 支持连续下载;</h5>
<h5>2)解决下载过程中网络切换(WIFI与移动网络切换),不能连续下载问题;</h5>
<h5>3)优化下载完安装包不去安装,下次进入应用时还需要下载的问题(下次进入可直接安装,无须再次下载);</h5>
<p>使用方式:
在原有基础上增加了应用版本号 <code>versionNo</code>入参;(必传)</p>
<pre><code> new UpdateDialogFragment.Builder()
.setApkUrl(resp.getBody().getFilePacket())
.setDesc(resp.getBody().getReleaseDesc())
.setWidth(DensityUtil.dp2px(300))
.setVersionNo(resp.getBody().getVersionNo())//新增入参,必传;服务器最新的版本号:1.1.3
.setForceUpdate(resp.getBody().getIsForceRelease() == 1)
.setDownLoadStateListener(new SimpleDownloadListener()</code></pre>