使用Java代碼來比較Android客戶端版本號
關(guān)鍵點
為什么不能使用String.compareTo方法來比較客戶端版本號?
舉個例子,之前客戶端版本號為:9.9.9,而服務(wù)器端最新的客戶端版本號為:10.0.1,雖然10.0.1明顯高于9.9.9,但是按照compareTo方法,這個9.9.9是大于10.0.1的,導(dǎo)致客戶端版本號比較錯誤。
Java代碼實現(xiàn)
扯了一些,最后還是要show一下代碼的,以下是我的客戶端版本號比較代碼,歡迎吐槽。
public static int compareVersion(String version1, String version2) {
if (version1.equals(version2)) {
return 0;
}
String[] version1Array = version1.split("\\.");
String[] version2Array = version2.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;
}
}
- Android Studio 修改應(yīng)用包名實例詳解
- java批量采集豌豆莢網(wǎng)站Android應(yīng)用圖標和包名
- Android5.1系統(tǒng)通過包名給應(yīng)用開放系統(tǒng)權(quán)限的方法
- Android編程獲取APP應(yīng)用程序基本信息輔助類【APP名稱、包名、圖標,版本號等】
- Android獲取應(yīng)用版本號與版本名稱
- Android獲取手機型號/系統(tǒng)版本號/App版本號等信息實例講解
- Android獲取當(dāng)前手機網(wǎng)絡(luò)類型(2g、3g、4g、wifi)以及手機型號、版本號代碼
- Android通過aapt命令獲取apk詳細信息(包括:文件包名,版本號,SDK等信息)
- Android 獲取未安裝的APK圖標、版本號、包名等信息方法
- Android編程實現(xiàn)應(yīng)用獲取包名、版本號、權(quán)限等信息的方法
相關(guān)文章
@Autowired自動裝配,@Bean注入@Primary,@Qualifier優(yōu)先級講解
這篇文章主要介紹了@Autowired自動裝配,@Bean注入@Primary,@Qualifier優(yōu)先級,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
使用Java實現(xiàn)系統(tǒng)托盤功能的介紹(附源碼以及截圖)
本篇文章介紹了,在Java中實現(xiàn)系統(tǒng)托盤功能的詳解,文中附源碼以及截圖介紹。需要的朋友參考下2013-05-05
SpringBoot實現(xiàn)動態(tài)加載外部Jar流程詳解
這篇文章主要介紹了SpringBoot動態(tài)加載外部Jar的流程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-05-05
Opencv創(chuàng)建車牌圖片識別系統(tǒng)方法詳解
本文主要介紹了一個基于spring?boot+maven+opencv實現(xiàn)的圖像識別及訓(xùn)練項目,可以實現(xiàn)車牌識別功能,感興趣的可以跟隨小編一起試一試2022-01-01
Java日志相關(guān)技術(shù)_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了Java日志相關(guān)技術(shù)_動力節(jié)點Java學(xué)院整理的相關(guān)資料,需要的朋友可以參考下2017-07-07
Java之Spring AOP 實現(xiàn)用戶權(quán)限驗證
本篇文章主要介紹了Java之Spring AOP 實現(xiàn)用戶權(quán)限驗證,用戶登錄、權(quán)限管理這些是必不可少的業(yè)務(wù)邏輯,具有一定的參考價值,有興趣的可以了解一下。2017-02-02

