在项目做到快结束的时候,需要给用户一个能更新新版本的提示,那么下面就来实现这个功能
首先,我们看看要实现这个新版APK的更新,后台的接口给了我们什么:
后台给了我们新版本的版本号和APK下载地址然后,简单说一下整体思路:
我们将获取的新版本号和当前应用的版本号进行对比,如果新版本号>当前版本号,说明可以安装新版本,否则不行;
若可以安装新版本,我们就弹出一个对话框询问是否下载最新版本?若用户点击下载新版本,则我们给出一个下载进度框提示下载进度;
下载完毕后,会进入安装界面,点击安装实现安装新版本;
安装完毕后,进入选择“完成”/“打开”界面;
点击打开后就进入该应用的新版本了。思路结束。
那么,具体该如何去实现:请参考以下步骤
一:获取渠道号
新建一个工具类util,里面写获取渠道号的方法
获取渠道号上面要获取渠道号,那有哪些渠道呢?看下面( 例:获取小米的渠道号 )
多渠道打包在Manifest文件中加入下方的橘色框中代码,其name属性是获取渠道号方法中的第二参数key
然后是请求后台的接口并获取返回的字段,下面是返回的字段的信息类
VersionBean版本信息类请求接口返回的两个字段,并获取这俩字段(这个每个人请求的方式不大一样,请用自己的方式请求)
请求接口,获取返回的字段(新版本号/APK下载地址)来把上面的绿色框部分拿出来看看
在wifi情况下,并且有新版本的时候才弹出询问框那么上面的橘色框的重点是什么?下面来看一下
新建一个UpDateInfoManager更新管理类(比较长,截图分好几张)
更新管理类第一部分(一些不可少的声明) 更新管理类第二部分(询问对话框) 更新管理类第三部分(下载进度提示框和下载方法)看一下下载的过程(使用流下载)
更新管理了第四部分(使用流下载APK文件)实现APK下载的方法(对上一部分的封装)
更新管理类第五部分(下载APK文件)最后,实现安装,打开的一条龙服务
更新管理类第六部分(安装APK ,打开新应用)结束。
网友评论