安卓Version信息的几个应用:升级管理,guide页面显示
来源:互联网 发布:现代家庭网络布线 编辑:程序博客网 时间:2024/05/29 13:04
Version位置:Android Studio进行安卓开发时在app的build.gradle中有一个defaultConfig里面有versionCode和versionName两个标签,代表了当前程序的版本信息,接下来简单说明一下这个版本信息的用处
- 管理升级:客户端启动时获取服务器最新版本号与当前版本进行对比,若有新版本则进行更新
- 引导界面:每次有大的更新发布需要添加一个引导界面对更新内容进行说明,通过判断版本号若是新的版本则显示引导界面,否则直接进入首页
- 版本标志:作为参数传给服务器,服务器根据不同版本显示不同内容,新版本发布会有用户选择继续使用老版本,这时服务器可能需要根据不同版本推送不同的信息,使得不同版本都能正常运行,也就是通常说的多版本维护,时间久了太旧的版本就会弃用,通过控制升级参数使用户强制升级否则不能用(不太友好,毕竟有些用户因设备原因无法升级新版本)或者提示某个版本以下不再维护
- 版本信息还有很多用处,不再一一列举
- 详细介绍一下版本号在升级管理中的应用,其他的类似
- 首先说明一点,安卓默认不允许低版本覆盖高版本,有类似需求时可以先卸载掉高版本再安装低版本
- 代码获取版本信息public static intgetAppVersionCode(Context context) {
if(context != null ) {
PackageManager pm = context.getPackageManager();
if(pm != null) {
PackageInfo pi;
try{
pi = pm.getPackageInfo(context.getPackageName(), 0);
if(pi != null) {
returnpi.versionCode;
}
} catch(PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
}
}
return-1;
}
*注:此处返回的是versionCode,versionName一般作为内部标识使用,pm中还可以获取很多其他的有用信息,例如firstInstallTime,lastUpdateTime,packageName等等 - 将版本号所谓value存入sharePreference中,从服务器获取最新的版本号,通过上段代码获取程序当前的版本号,若需要更新弹出类似下图的更新提示框
- 功能说明及实现思路
- 立即升级 :通过downLoadManager去下载新版本然后安装
注意要把下载文件加头application/vnd.android.package-archive这样下载的文件默认为可安装文件,下载完成后自动打开是否安装页面 - 稍后再说 :延迟一段时间之后再次提醒
将服务器当前版本号作为key,value为当前时间存入sharePreference中,再次启动程序时获取服务器当前最新版本号若在sharePreference中找到了对应的versionCode且当前时间减去sharePreference中存储的时间大于一天(具体时间自己设置)则弹出新版本升级框 - 不再提醒:服务器当前最新版本不再提示升级
同上,将服务器当前版本号作为key存入sharePreference中,再次启动程序时获取服务器当前最新版本号若在sharePreference中找到了对应的versionCode则不弹出新版本升级框
- 立即升级 :通过downLoadManager去下载新版本然后安装
2 0
- 安卓Version信息的几个应用:升级管理,guide页面显示
- 轻松管理安卓应用中的log打印信息
- 安卓应用实时显示MJGP-streamer所抓取的摄像头信息
- 安卓显示页面跳转
- 修改安卓界面显示的标签信息
- 安卓手机电池信息的获取与显示
- 安卓应用数据库升级新姿势
- 为什么安卓应用在“设置-应用管理-正在运行”中不显示?
- 为什么安卓应用在“设置-应用管理-正在运行”中不显示?
- 安卓开发获取当前手机应用信息的方法
- 安卓应用版本升级时sqlit数据库升级
- 安卓ListView获取信息并显示
- JRE Version Migration Guide&Lucene JDK版本影响&升级注意
- 安卓icon应用图标不能显示的可能问题
- Struts2 标签在页面的几个应用
- 几个复古的页面应用-------Day25
- 页面左上角显示加载信息的 JS
- ActiveMQ_页面上显示队列的信息
- properties中文乱码,ASCII码
- [剑指offer][第四章][28]字符串的排列
- JAVA学习---集合系列---ArrayList
- html 更改tab键焦点
- gcc编译使动态链接库
- 安卓Version信息的几个应用:升级管理,guide页面显示
- nginx直接返回
- AFNetworking 撤消请求
- Qt实现滚动图片效果
- Ajax 传值
- continue、break和return经典解析
- SAP-ABAP 通过字符串计算公式,执行计算的函数:EVAL_FORMULA
- 为什么是0不是1
- Zookeeper学习二:zookeeper分布式安装