欢迎来到天天文库
浏览记录
ID:1247070
大小:89.99 KB
页数:12页
时间:2017-11-09
《android学习系列(2)--app自动更新之通知栏下载》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Android学习系列(2)--App自动更新之通知栏下载这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.设计思路,使用VersionCode定义为版本升级参数。 android为我们定义版本提供了2个属性:1.3. android:versionName="1.0"4.>2、>复制代码谷歌建议我们使用versionCode自增来表明版本升级,无论是大的改动还是小的改动,而versionName是显示用户看的软件版本,作为显示使用。所以我们选择了VersionCode作为我们定义版本升级的参数。1.png(9.97KB,下载次数:165)下载附件 保存到相册2011-10-422:24上传2.工程目录 为了对真实项目或者企业运用有实战指导作用,我模拟一个独立的项目,工程目录设置的合理严谨一些,而不是仅仅一个demo。 假设我们以上海地铁为项目,命名为"Subway",工程结构如下, 3.版本初始化和版本号的对比。 首先定义在全局文件Global.3、java中定义变量localVersion和serverVersion分别存放本地版本号和服务器版本号。1.publicclassGlobal{2. //版本信息3. publicstaticintlocalVersion=0;4. publicstaticintserverVersion=0;5. publicstaticStringdownloadDir="app/download/";6.}复制代码因为本文只是重点说明升级更新,为了防止其他太多无关代码冗余其中,我直接在SubwayApplication中定义方法initGlobal()方法。1./**2.*初始化全局变量4、3.*实际工作中这个方法中serverVersion从服务器端获取,最好在启动画面的activity中执行4.*/5.publicvoidinitGlobal(){6. try{7. Global.localVersion=getPackageManager().getPackageInfo(getPackageName(),0).versionCode;//设置本地版本号1. Global.serverVersion=1;//假定服务器版本为2,本地版本默认是12. }catch(Exceptionex){3. ex.printStackTrace(5、);4. }5.}复制代码如果检测到新版本发布,提示用户是否更新,我在SubwayActivity中定义了checkVersion()方法:1./**2.*检查更新版本3.*/4.publicvoidcheckVersion(){5.6. if(Global.localVersion6、Message("发现新版本,建议立即更新使用.")11. .setPositiveButton("更新",newDialogInterface.OnClickListener(){12. publicvoidonClick(DialogInterfacedialog,intwhich){13. //开启更新服务UpdateService14. //这里为了把update更好模块化,可以传一些updateService依赖的值15. //如布局ID,资源ID,动态获取的标题7、,这里以app_name为例16. IntentupdateIntent=newIntent(SubwayActivity.this,UpdateService.class);17. updateIntent.putExtra("titleId",R.string.app_name);18. startService(updateIntent);19.
2、>复制代码谷歌建议我们使用versionCode自增来表明版本升级,无论是大的改动还是小的改动,而versionName是显示用户看的软件版本,作为显示使用。所以我们选择了VersionCode作为我们定义版本升级的参数。1.png(9.97KB,下载次数:165)下载附件 保存到相册2011-10-422:24上传2.工程目录 为了对真实项目或者企业运用有实战指导作用,我模拟一个独立的项目,工程目录设置的合理严谨一些,而不是仅仅一个demo。 假设我们以上海地铁为项目,命名为"Subway",工程结构如下, 3.版本初始化和版本号的对比。 首先定义在全局文件Global.
3、java中定义变量localVersion和serverVersion分别存放本地版本号和服务器版本号。1.publicclassGlobal{2. //版本信息3. publicstaticintlocalVersion=0;4. publicstaticintserverVersion=0;5. publicstaticStringdownloadDir="app/download/";6.}复制代码因为本文只是重点说明升级更新,为了防止其他太多无关代码冗余其中,我直接在SubwayApplication中定义方法initGlobal()方法。1./**2.*初始化全局变量
4、3.*实际工作中这个方法中serverVersion从服务器端获取,最好在启动画面的activity中执行4.*/5.publicvoidinitGlobal(){6. try{7. Global.localVersion=getPackageManager().getPackageInfo(getPackageName(),0).versionCode;//设置本地版本号1. Global.serverVersion=1;//假定服务器版本为2,本地版本默认是12. }catch(Exceptionex){3. ex.printStackTrace(
5、);4. }5.}复制代码如果检测到新版本发布,提示用户是否更新,我在SubwayActivity中定义了checkVersion()方法:1./**2.*检查更新版本3.*/4.publicvoidcheckVersion(){5.6. if(Global.localVersion6、Message("发现新版本,建议立即更新使用.")11. .setPositiveButton("更新",newDialogInterface.OnClickListener(){12. publicvoidonClick(DialogInterfacedialog,intwhich){13. //开启更新服务UpdateService14. //这里为了把update更好模块化,可以传一些updateService依赖的值15. //如布局ID,资源ID,动态获取的标题7、,这里以app_name为例16. IntentupdateIntent=newIntent(SubwayActivity.this,UpdateService.class);17. updateIntent.putExtra("titleId",R.string.app_name);18. startService(updateIntent);19.
6、Message("发现新版本,建议立即更新使用.")11. .setPositiveButton("更新",newDialogInterface.OnClickListener(){12. publicvoidonClick(DialogInterfacedialog,intwhich){13. //开启更新服务UpdateService14. //这里为了把update更好模块化,可以传一些updateService依赖的值15. //如布局ID,资源ID,动态获取的标题
7、,这里以app_name为例16. IntentupdateIntent=newIntent(SubwayActivity.this,UpdateService.class);17. updateIntent.putExtra("titleId",R.string.app_name);18. startService(updateIntent);19.
此文档下载收益归作者所有