Android学习系列(2)--App自动更新之通知栏下载
见证过博客园的多次升级,你也希望你的软件通过更新发布新特性通知用户吧,是的。
这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。
,使用VersionCode定义为版本升级参数。
android为我们定义版本提供了2个属性:
?
1
2
3
4
<manifest package=""
android:versionCode="1" <!--Integer类型,系统不显示给用户-->
android:versionName=""<!--String类型,系统显示用户-->
></manifest>
谷歌建议我们使用versionCode自增来表明版本升级,无论是大的改动还是小的改动,而versionName是显示用户看的软件版本,作为显示使用。所以我们选择了VersionCode作为我们定义版本升级的参数。
为了对真实项目或者企业运用有实战指导作用,我模拟一个独立的项目,工程目录设置的合理严谨一些,而不是仅仅一个demo。
假设我们以上海地铁为项目,命名为"Subway",工程结构如下,
。
。
?
1
2
3
4
5
6
public class Global {
//版本信息
public static int localVersion = 0;
public static int serverVersion = 0;
public static String downloadDir = "app/download/";
}
因为本文只是重点说明升级更新,为了防止其他太多无关代码冗余其中,我直接在SubwayApplication中定义方法initGlobal()方法。
?
1
2
3
4
5
6
7
8
9
10
11
12
/**
* 初始化全局变量
* 实际工作中这个方法中serverVersion从服务器端获取,最好在启动画面的activity中执行
*/
public void initGlobal(){
try{
= getPackageManager().getPackageInfo(getPackageName(),0).versionCode; //设置本地版本号
= 1;//假定服务器版本为2,本地版本默认是1
}catch (Exception ex){
();
}
}
如果检测到新版本发布,提示用户是否更新,我在SubwayActivity中定义了checkVersion()方法:
?
1
2
3
4
5
6
7
8
9
10
/**
* 检查更新版本
*/
public void checkVersion(){
if( < ){
//发现新版本,提示用户更新
alert = new (this);
("软件升级")
.setMessage("发现新版本,建议立即更新使用.")
.setPositiveButton("更新", new
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
() {
public void onClick(DialogInterface dialog, int which) {
//开启更新服务UpdateService
Android学习-APP自动更新之通知栏下载 来自淘豆网m.daumloan.com转载请标明出处.