Android版本升级的时候一般都会比较服务器上的版本和本地的版本,看是否需要升级。

 public  boolean compareVersions(String otaPackageVersion, String systemVersion) {
        //判断是否为空数据(otaPackageVersion为服务器上版本号,systemVersion为本地版本号)
        if ((otaPackageVersion == null) || systemVersion == null) {
            return false;
        } 
        String[] otaPackageVersionArray = otaPackageVersion.split("\\.");
        String[]  systemVersionArray= systemVersion.split("\\.");


        if (otaPackageVersionArray.length == systemVersionArray.length) {
            for (int i = 0; i < otaPackageVersionArray.length; i++) {
                if (Integer.parseInt(otaPackageVersionArray[i]) > Integer.parseInt(systemVersionArray[i])) {
                    return true;
                } else if (Integer.parseInt(otaPackageVersionArray[i]) < Integer.parseInt(systemVersionArray[i])) {
                    return false;
                } else if (Integer.parseInt(otaPackageVersionArray[i]) == Integer.parseInt(systemVersionArray[i])) {


                }
            }
        } else {
            if (otaPackageVersionArray.length > systemVersionArray.length) {
                for (int i = 0; i < systemVersionArray.length; i++) {
                    if (Integer.parseInt(otaPackageVersionArray[i]) > Integer.parseInt(systemVersionArray[i])) {
                        return true;
                    } else if (Integer.parseInt(otaPackageVersionArray[i]) < Integer.parseInt(systemVersionArray[i])) {
                        return false;


                    } else if (Integer.parseInt(otaPackageVersionArray[i]) == Integer.parseInt(systemVersionArray[i])) {
                        if (systemVersionArray.length == 1) {
                            continue;
                        }
                        if (i == systemVersionArray.length - 1) {


                            for (int j = i; j < otaPackageVersionArray.length; j++) {
                                if (Integer.parseInt(otaPackageVersionArray[j]) != 0) {
                                    return true;
                                }
                                if (j == otaPackageVersionArray.length - 1) {
                                    return false;
                                }


                            }
                            return true;
                        }
                    }
                }
            } else {
                for (int i = 0; i < otaPackageVersionArray.length; i++) {
                    if (Integer.parseInt(otaPackageVersionArray[i]) > Integer.parseInt(systemVersionArray[i])) {
                        return true;
                    } else if (Integer.parseInt(otaPackageVersionArray[i]) < Integer.parseInt(systemVersionArray[i])) {
                        return false;


                    } else if (Integer.parseInt(otaPackageVersionArray[i]) == Integer.parseInt(systemVersionArray[i])) {
                        if (otaPackageVersionArray.length == 1) {
                            continue;
                        }
                        if (i == otaPackageVersionArray.length - 1) {
                            return false;


                        }
                    }


                }
            }
        }
        return false;
    }
    

更多相关文章

  1. 使用Android(安卓)Studio搭建Android集成开发环境(图文教程)
  2. Android下setLatestEventInfo警告、Handler警告、SimpleDateForm
  3. 下载旧版本android sdk tools
  4. egret 打包android app 时 js 错误
  5. 错误 'roundIcon' in package 'android'
  6. Android(安卓)Studio 启动 无缘故报 Error:Could not find commo
  7. Android(安卓)Studio http://schemas.android.com/apk/res/andro
  8. android 隐藏虚拟按键
  9. Android(安卓)Things APP版本更新解决方案

随机推荐

  1. Android(安卓)Studio 无法预览xml布局视
  2. 解决Could not find method android() fo
  3. Delphi XE5 Android(安卓)调用手机震动
  4. Android中控制虚拟键盘
  5. Android常见面试题总结 1.1
  6. Android(安卓)开发常用代码片段
  7. 菜鸟的安卓实习之路----editText 只允许
  8. Android(安卓)InputMonitor
  9. 进度条2
  10. Android(安卓)——对HandlerThread的理解