简单两步实现安卓软件自动升级(自动升级工具类)
今天讲一个安卓软件非常实用的自动升级功能,非常简单,简单到你觉得没意思。只需两步即可实现安卓软件自动升级。
1.将下载的Dmeo中的UpdateManager这个类拷贝到你的程序中,将progress.xml布局文件拷贝到layout文件夹下。
2.联网获取服务器端的版本,对比自己软件当前的版本,如果服务器端的软件版本大于当前手机中的版本,则调用自动更新程序,提示更新。
好了,就是这么简单,现在已经实现了自动更新功能。 什么你还不会?好吧,那我就再来说说第2步,具体怎样实现吧。
2.1 后台需要给我们提供一个接口,控制版本号。我们在软件启动的时候,联网获取服务器端的版本号,这里就和其他网络请求一样,可以返回一个json包含版本号,直接解析json就可以了。
2.2 使用下面的方法,获取手机中当前软件的版本号:
/**
* 获取版本号
*
*
@return
当前应用的版本号
*/
public
static
String
getVersionName() {
try {
PackageManager
manager
=
instance.
getPackageManager();
PackageInfo
info
=
manager.
getPackageInfo(
instance.
getPackageName(),
0);
String
versionName
=
info.
versionName;
return
versionName;
}
catch (
Exception
e) {
e.
printStackTrace();
return
null;
} }
2.3 把2.1中获取的版本号和2.2中获取的对比,如果服务器端的大于手机中的,那么就执行以下代码,调用自动升级工具类进行升级
//这里调用软件更新管理者类,下载安装软件
mUpdateManager
=
new
UpdateManager(
getActivity());
mUpdateManager.
checkUpdateInfo();
2.4接下来就是设置一下软件下载地址和下载后存储路径了,打开
UpdateManager这个类,把
savePath路径修改为自己想要的路径,这里注意只能有一个子目录,“/sdcard/修改这里为你想要的路径/”;
把apkUrl 修改成你apk的下载地址。这个地址可以设置成固定的,也可以从你们后台动态提供,和刚才返回的版本号一起返回,这样以后修改起来方便。
2.5一定要在清单注册文件
AndroidManifest.xml 中,添加上网的权限和SD卡读写权限
<
uses
–
permission
android:
name
=
“android.permission.INTERNET” /
>
<
uses
–
permission
android:
name
=
“android.permission.WRITE_EXTERNAL_STORAGE” /
>
Dmeo下载地址http://download.csdn.net/detail/beibaokongming/9608152