易采站长站为您分析android实现通知栏下载更新app示例,需要的朋友可以参考下
<manifest package="com.cnblogs.tianxia.subway"
android:versionCode="1" <!--Integer类型,系统不显示给用户-->
android:versionName="1.0"<!--String类型,系统显示用户-->
></manifest>
谷歌建议我们使用versionCode自增来表明版本升级,无论是大的改动还是小的改动,而versionName是显示用户看的软件版本,作为显示使用。所以我们选择了VersionCode作为我们定义版本升级的参数。
public class Global {
//版本信息
public static int localVersion = 0;
public static int serverVersion = 0;
public static String downloadDir = "app/download/";
}
因为本文只是重点说明升级更新,为了防止其他太多无关代码冗余其中,我直接在SubwayApplication中定义方法initGlobal()方法。
复制代码
/**
* 初始化全局变量
* 实际工作中这个方法中serverVersion从服务器端获取,最好在启动画面的activity中执行
*/
public void initGlobal(){
try{
Global.localVersion = getPackageManager().getPackageInfo(getPackageName(),0).versionCode; //设置本地版本号
Global.serverVersion = 1;//假定服务器版本为2,本地版本默认是1
}catch (Exception ex){
ex.printStackTrace();
}
}
如果检测到新版本发布,提示用户是否更新,我在SubwayActivity中定义了checkVersion()方法:
复制代码
/**
* 检查更新版本
*/
public void checkVersion(){
1.设计思路,使用VersionCode定义为版本升级参数。
android为我们定义版本提供了2个属性:
<manifest package="com.cnblogs.tianxia.subway"
android:versionCode="1" <!--Integer类型,系统不显示给用户-->
android:versionName="1.0"<!--String类型,系统显示用户-->
></manifest>
谷歌建议我们使用versionCode自增来表明版本升级,无论是大的改动还是小的改动,而versionName是显示用户看的软件版本,作为显示使用。所以我们选择了VersionCode作为我们定义版本升级的参数。
2.工程目录
为了对真实项目或者企业运用有实战指导作用,我模拟一个独立的项目,工程目录设置的合理严谨一些,而不是仅仅一个demo。
假设我们以上海地铁为项目,命名为"Subway",工程结构如下,
3.版本初始化和版本号的对比。
首先定义在全局文件Global.java中定义变量localVersion和serverVersion分别存放本地版本号和服务器版本号。
public class Global {
//版本信息
public static int localVersion = 0;
public static int serverVersion = 0;
public static String downloadDir = "app/download/";
}
因为本文只是重点说明升级更新,为了防止其他太多无关代码冗余其中,我直接在SubwayApplication中定义方法initGlobal()方法。
复制代码
/**
* 初始化全局变量
* 实际工作中这个方法中serverVersion从服务器端获取,最好在启动画面的activity中执行
*/
public void initGlobal(){
try{
Global.localVersion = getPackageManager().getPackageInfo(getPackageName(),0).versionCode; //设置本地版本号
Global.serverVersion = 1;//假定服务器版本为2,本地版本默认是1
}catch (Exception ex){
ex.printStackTrace();
}
}
如果检测到新版本发布,提示用户是否更新,我在SubwayActivity中定义了checkVersion()方法:
复制代码
/**
* 检查更新版本
*/
public void checkVersion(){
if(Global.localVersion < Global.serverVersion){
//发现新版本,提示用户更新
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("软件升级")










