android 对比版本号
16lz
2021-01-23
给定两个版本号,比较哪一个版本号更新。
通过版本号的长度,有三种情况 1.2.9.1 比 1.2.9 新。
1.2.9 比 1.2.8.5 新。
1.2.9.8 比 1.2.9.3新
public class TestContrastVersionNum {public static void main(String[] args) {boolean flag = new TestContrastVersionNum().isUpdateForVersion("1.3.9","1.3.8.2");System.out.println(flag);}/** * 版本对比(是否需要更新版本) * @param newVersion 服务器上获取的版本 * @param indexVersion 当前使用的版本 * @return true:服务器上是最新版本,需要更新; false:不需要更新 */public boolean isUpdateForVersion(String newVersion, String indexVersion) {// boolean resultFlag = false;if ("".equals(newVersion) || null == newVersion|| "null".equals(newVersion)) {return false;} else {String[] newNums = newVersion.split("\\.");String[] indexNums = indexVersion.split("\\.");if (newNums.length > indexNums.length) {// 比较的次数为长度最小for (int i = 0; i < indexNums.length; i++) {// 服务器上版本数大于 当前的,就是最新版,要更新if (Integer.parseInt(newNums[i]) > Integer.parseInt(indexNums[i])) {return true;} else if (Integer.parseInt(newNums[i]) < Integer.parseInt(indexNums[i])) {return false;}}return true;} else if (newNums.length <= indexNums.length) {for (int i = 0; i < newNums.length; i++) {// 服务器上版本数大于 当前的,就是最新版,要更新if (Integer.parseInt(newNums[i]) > Integer.parseInt(indexNums[i])) {return true;} else if (Integer.parseInt(newNums[i]) < Integer.parseInt(indexNums[i])) {return false;}}return false;}}return false;}}
更多相关文章
- android官方下载链接最新版 (Windows版本)
- android 版本更新和下载安装 适配android 7.0
- Android获取已安装应用信息(图标,名称,版本号,包)
- Android的版本的介绍
- Android Studio 3.0 正式版本 发行说明 (翻译)
- Android安卓应用版本命名规范
- 在低版本Android上使用Material Design
- 使用RenderScript库,在某些手机或Android版本奔溃的问题