使用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)用圖標(biāo)和包名
- Android5.1系統(tǒng)通過包名給應(yīng)用開放系統(tǒng)權(quán)限的方法
- Android編程獲取APP應(yīng)用程序基本信息輔助類【APP名稱、包名、圖標(biāo),版本號等】
- Android獲取應(yīng)用版本號與版本名稱
- Android獲取手機型號/系統(tǒng)版本號/App版本號等信息實例講解
- Android獲取當(dāng)前手機網(wǎng)絡(luò)類型(2g、3g、4g、wifi)以及手機型號、版本號代碼
- Android通過aapt命令獲取apk詳細(xì)信息(包括:文件包名,版本號,SDK等信息)
- Android 獲取未安裝的APK圖標(biāo)、版本號、包名等信息方法
- Android編程實現(xiàn)應(yīng)用獲取包名、版本號、權(quán)限等信息的方法
相關(guān)文章
Spring事務(wù)執(zhí)行流程及如何創(chuàng)建事務(wù)
這篇文章主要介紹了Spring事務(wù)執(zhí)行流程及如何創(chuàng)建事務(wù),幫助大家更好的理解和學(xué)習(xí)使用spring框架,感興趣的朋友可以了解下2021-03-03Java調(diào)用計算機攝像頭拍照實現(xiàn)過程解析
這篇文章主要介紹了Java調(diào)用計算機攝像頭拍照實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05java基于quasar實現(xiàn)協(xié)程池的方法示例
本文主要介紹了java基于quasar實現(xiàn)協(xié)程池的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>2022-06-06一文掌握SpringSecurity?BCrypt密碼加密和解密
BCrypt就是一款加密工具,可以比較方便地實現(xiàn)數(shù)據(jù)的加密工作。也可以簡單理解為它內(nèi)部自己實現(xiàn)了隨機加鹽處理,這篇文章主要介紹了SpringSecurity?BCrypt密碼加密和解密,一文學(xué)會使用BCryptPasswordEncoder的方法,需要的朋友可以參考下2023-04-04