App版本检测工具类
public class CompareVersionUtil {
/**
* 三种情况:
* 1、当前版本 > 传入的版本 返回 -1
* 2、当前版本 = 传入的版本 返回 0
* 3、当前版本 < 传入的版本 返回 1
* @param onlineVersion 数据库中查询出来的版本
* @param currentVersion 当前版本
* @return
*/
public static int compareVersion(String onlineVersion, String currentVersion) {
if (onlineVersion.equals(currentVersion)) {
return 0;
}
String[] version1Array = onlineVersion.split("\\.");
String[] version2Array = currentVersion.split("\\.");
int index = 0;
//获取最小长度值
int minLen = Math.min(version1Array.length, version2Array.length);
int diff = 0;
//循环判断每位的大小
while (index < minLen && (diff = Integer.parseInt(version1Array[index]) - Integer.parseInt(version2Array[index])) == 0) {
index++;
}
if (diff == 0) {
//如果位数不一致,比较多余位数
for (int i = index; i < version1Array.length; i++) {
if (Integer.parseInt(version1Array[i]) > 0) {
return 1;
}
}
for (int i = index; i < version2Array.length; i++) {
if (Integer.parseInt(version2Array[i]) > 0) {
return -1;
}
}
return 0;
} else {
return diff > 0 ? 1 : -1;
}
}
}
该博客介绍了一个用于比较应用程序版本号的Java工具类`CompareVersionUtil`。该类通过将版本号拆分为数组并逐位比较,判断当前版本与数据库中的在线版本之间的大小关系,返回-1、0或1以表示小于、等于或大于。此工具对于App更新管理和版本控制非常实用。
823

被折叠的 条评论
为什么被折叠?



