安卓Version信息的几个应用:升级管理,guide页面显示

来源:互联网 发布:现代家庭网络布线 编辑:程序博客网 时间:2024/05/29 13:04
 Version位置:Android Studio进行安卓开发时在app的build.gradle中有一个defaultConfig里面有versionCode和versionName两个标签,代表了当前程序的版本信息,接下来简单说明一下这个版本信息的用处
  1. 管理升级:客户端启动时获取服务器最新版本号与当前版本进行对比,若有新版本则进行更新
  2. 引导界面:每次有大的更新发布需要添加一个引导界面对更新内容进行说明,通过判断版本号若是新的版本则显示引导界面,否则直接进入首页
  3. 版本标志:作为参数传给服务器,服务器根据不同版本显示不同内容,新版本发布会有用户选择继续使用老版本,这时服务器可能需要根据不同版本推送不同的信息,使得不同版本都能正常运行,也就是通常说的多版本维护,时间久了太旧的版本就会弃用,通过控制升级参数使用户强制升级否则不能用(不太友好,毕竟有些用户因设备原因无法升级新版本)或者提示某个版本以下不再维护
  4. 版本信息还有很多用处,不再一一列举
  5.  详细介绍一下版本号在升级管理中的应用,其他的类似
    1. 首先说明一点,安卓默认不允许低版本覆盖高版本,有类似需求时可以先卸载掉高版本再安装低版本
    2.  代码获取版本信息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等等
    3. 将版本号所谓value存入sharePreference中,从服务器获取最新的版本号,通过上段代码获取程序当前的版本号,若需要更新弹出类似下图的更新提示框
    4. 功能说明及实现思路
      1. 立即升级 :通过downLoadManager去下载新版本然后安装
               注意要把下载文件加头application/vnd.android.package-archive这样下载的文件默认为可安装文件,下载完成后自动打开是否安装页面
      2. 稍后再说 :延迟一段时间之后再次提醒
               将服务器当前版本号作为key,value为当前时间存入sharePreference中,再次启动程序时获取服务器当前最新版本号若在sharePreference中找到了对应的versionCode且当前时间减去sharePreference中存储的时间大于一天(具体时间自己设置)则弹出新版本升级框
      3. 不再提醒:服务器当前最新版本不再提示升级     
               同上,将服务器当前版本号作为key存入sharePreference中,再次启动程序时获取服务器当前最新版本号若在sharePreference中找到了对应的versionCode则不弹出新版本升级框
2 0
原创粉丝点击