很多人喜欢拿重复造轮子来调侃那些重复做相同事情的人,我也觉得做重复的事情很无聊,所以······我喜欢用现成的。经过这些年的发展,安卓已经非常成熟,安卓开发行业也是···。随着安卓版本的不断更新,以前简单的app应用更新如今却是非常麻烦。麻烦主要提现在不同版本权限可能发生变化,授权方式也可能不同。这就很尴尬了,举个例子,比如让前端适配IE6.0,麻烦吧!自从上次写了个更新后,我再也不想自己写了,甚至连复制代码的欲望都没有,还是别人写的好,虽然有些多余功能。下面介绍一款我试用过的Android更新框架XUpdate,一起来学习下它的使用。
作者的话:
一个轻量级、高可用性的Android版本更新框架。
项目地址:https://github.com/xuexiangjys/XUpdate
功能说明:
- 支持post和get两种版本检查方式,支持自定义网络请求。
- 支持设置只在wifi下进行版本更新。
- 支持静默下载(后台更新)、自动版本更新。
- 提供界面友好的版本更新提示弹窗,可自定义其主题样式。
- 支持自定义版本更新检查器、版本更新解析器、版本更新提示器、版本更新下载器、版本更新安装、出错处理。
- 支持MD5文件校验、版本忽略、版本强制更新等功能。
- 支持自定义请求API接口。
- 兼容Android6.0、7.0和8.0。
- 支持中文和英文两种语言显示(国际化)
使用方法
添加依赖
1.先在项目根目录的 build.gradle 的 repositories 添加:
复制
allprojects { repositories { ... maven { url "https://jitpack.io" } } }
2.然后在dependencies添加:
复制
dependencies { ... implementation 'com.github.xuexiangjys:XUpdate:1.0.8' }
最新版本以作者的项目地址显示为准。
初始化XUpdate
在Application进行初始化配置
复制
XUpdate.get() .debug(true) //开启debug模式,可用于问题的排查 .isWifiOnly(true) //默认设置只在wifi下检查版本更新 .isGet(true) //默认设置使用get请求检查版本 .isAutoMode(false) //默认设置非自动模式,可根据具体使用配置 .param("VersionCode", UpdateUtils.getVersionCode(this)) //设置默认公共请求参数 .param("AppKey", getPackageName()) .setOnUpdateFailureListener(new OnUpdateFailureListener() { //设置版本更新出错的监听 @Override public void onFailure(UpdateError error) { ToastUtils.toast(error.toString()); } }) .setIUpdateHttpService(new OKHttpUpdateHttpService()) //这个必须设置!实现网络请求功能。 .init(this); //这个必须初始化
这里说下Application里面怎么初始化,首先新建个Java类,让它继承Application,然后你就可以写上面的代码了,还不会就下载项目,看看demo吧,里面有写。
更新效果:
框架自带的UI效果有很多种,默认是下面这种
不过我还是比较喜欢简洁版的
demo上将所有更新方式都写了例子,建议结合demo学习。
评论 (3)