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

使用Java代碼來比較Android客戶端版本號

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

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

相關(guān)文章

最新評論

托克托县| 清新县| 长葛市| 株洲市| 永春县| 无极县| 分宜县| 木里| 方城县| 竹北市| 揭阳市| 宜良县| 柳林县| 安福县| 江津市| 乌恰县| 永宁县| 于田县| 禄劝| 丰县| 浮梁县| 乌兰浩特市| 河南省| 宁国市| 芜湖市| 阿尔山市| 桐庐县| 太谷县| 庆阳市| 张家川| 龙川县| 句容市| 凉山| 永德县| 淅川县| 德清县| 合阳县| 十堰市| 娄烦县| 南平市| 军事|