判断版本升级 有的笔试过程中 可能会遇到。自己曾经吃过亏 ,故自己写了一下,有更好的方法可以一起探讨。不过我们平时只是用versioncode累加的方式来判断版本的升级。不用versionName。
String[] versionLocal = new String[]{"1.2.0", "1.2.3", "1.1.0", "1.5"};
String newVersion = "1.5.6";
/**
* 判断版本更新
* @param localVersion 本地app 版本号
* @param newVersion 最新版本号
* @return true 需要更新 false 不用
*/
public boolean updateApp(String localVersion, String newVersion) {
String[] localVersionArray = localVersion.split("\.");
String[] newVersionArray = newVersion.split("\.");
if (localVersionArray.length < newVersionArray.length) {
int cha = newVersionArray.length - localVersionArray.length;
for (int i = 0; i < cha; i++) {
localVersion = localVersion + ".0";
}
localVersionArray = localVersion.split("\.");
}
try {
for (int i = 0; i < newVersionArray.length; i++) {
int temp = Integer.parseInt(newVersionArray[i]);
int compar = Integer.parseInt(localVersionArray[i]);
if (temp > compar) {
return true;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
网友评论