最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Java代碼來(lái)比較Android客戶端版本號(hào)

 更新時(shí)間:2015年07月30日 11:56:10   作者:低調(diào)小一  
這篇文章主要介紹了使用Java代碼來(lái)比較Android客戶端版本號(hào),Java是目前安卓程序唯一的開(kāi)發(fā)語(yǔ)言,需要的朋友可以參考下

關(guān)鍵點(diǎn)

    為什么不能使用String.compareTo方法來(lái)比較客戶端版本號(hào)?

    舉個(gè)例子,之前客戶端版本號(hào)為:9.9.9,而服務(wù)器端最新的客戶端版本號(hào)為:10.0.1,雖然10.0.1明顯高于9.9.9,但是按照compareTo方法,這個(gè)9.9.9是大于10.0.1的,導(dǎo)致客戶端版本號(hào)比較錯(cuò)誤。

Java代碼實(shí)現(xiàn)

扯了一些,最后還是要show一下代碼的,以下是我的客戶端版本號(hào)比較代碼,歡迎吐槽。

   

 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;
    }
  }

相關(guān)文章

最新評(píng)論

宁德市| 莆田市| 施甸县| 松溪县| 察雅县| 富源县| 象州县| 乳山市| 巴林右旗| 滕州市| 长丰县| 东乌珠穆沁旗| 马龙县| 得荣县| 泰宁县| 黔南| 楚雄市| 阳谷县| 聊城市| 永昌县| 美姑县| 微山县| 五台县| 凤凰县| 新平| 定边县| 德格县| 东丰县| 三亚市| 阿尔山市| 施秉县| 阜城县| 江陵县| 石阡县| 麟游县| 承德市| 繁昌县| 镇江市| 佛山市| 潜江市| 胶州市|