android 版本号大小比较

简介: android 版本号大小比较
大家都知道,版本号一般由以下几部分组成:
1.  主版本号
2.  次版本号
3.  修正版本号
4.  编译版本号
例如:2.1.3 ,3.7.5,10.2.0

在比较版本号时,正确的做法应该是,主版本号和主版本号比较,次版本号和次版本号比较等等,也就是把版本号分割,对应的组成之间进行比较,如下:

1./**
     * 版本号比较
     * 
     * @param version1
     * @param version2
     * @return
     */
    public static int compareVersion(String version1, String version2) {
        if (version1.equals(version2)) {
            return 0;
        }
        String[] version1Array = version1.split("\\.");
        String[] version2Array = version2.split("\\.");
        Log.d("HomePageActivity", "version1Array=="+version1Array.length);
        Log.d("HomePageActivity", "version2Array=="+version2Array.length);
        int index = 0;
        // 获取最小长度值
        int minLen = Math.min(version1Array.length, version2Array.length);
        int diff = 0;
        // 循环判断每位的大小
        Log.d("HomePageActivity", "verTag2=2222="+version1Array[index]);
        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;
        }
    }

结果说明:0代表相等,1代表version1大于version2,-1代表version1小于version2

通过此方法便可以直接进行android 版本号大小比较了,方法直接拿来用即可.

目录
相关文章
|
5月前
|
Android开发
安卓获取版本号
安卓获取版本号
25 0
|
XML Java Android开发
修改Android设备型号、版本号、去掉自定义版本显示
修改Android设备型号、版本号、去掉自定义版本显示
678 0
|
Android开发 C++
【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )(二)
【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )(二)
1475 0
【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )(二)
|
API 开发工具 Android开发
v4 v7包的使用,Android Gradle的理解,版本号对应Gradle发行版本
v4 v7包的使用,Android Gradle的理解,版本号对应Gradle发行版本
730 1
|
XML Java 程序员
Android开发:获取安卓App版本号的方法步骤
在Android开发过程中,想要开发一个完整功能的App,各个地方的内容都要涉及到,比如获取App的系统版本号就是必须要有的功能。Android的App版本号相关内容比iOS的App版本号内容要多,而且iOS版的App版本信息跟Android的还不一样。本篇文章就来介绍一下Android开发中获取App版本号的方法步骤,方便以后使用。获取App版本号常用的有两个方法,这两种方式都能获取到系统版本号,请根据实际需求或者偏好来选择任何一种方法即可。
1006 0
Android开发:获取安卓App版本号的方法步骤
|
Android开发
Android获取APP的版本号和版本名
Android获取APP的版本号和版本名
848 0
Android获取APP的版本号和版本名
|
Android开发
Android获取包名版本号,获取屏幕宽高。
Android获取包名版本号,获取屏幕宽高。
88 0
|
网络协议 安全 Linux
Android SDK对应版本号
Android 的开发于 2003 年由 Android, Inc.开始,该公司于 2005 年被 Google 收购。 Android 1.0 的首次公开发布发生在 2008 年 10 月 T-Mobile G1(又名 HTC Dream)的发布。Android 1.0 和 1.1 并未以特定代号发布。代号“Astro Boy”和“Bender”在一些早期 1.0 之前的里程碑版本中被内部标记,并且从未用作操作系统 1.0 和 1.1 版本的实际代号。
259 0
Android SDK对应版本号
|
Android开发
【Android 逆向】ELF 文件格式 ( ELF 文件当前版本号 | 操作系统 ABI 信息 | ABI 版本 | 文件头校验 | 文件头长度信息 )
【Android 逆向】ELF 文件格式 ( ELF 文件当前版本号 | 操作系统 ABI 信息 | ABI 版本 | 文件头校验 | 文件头长度信息 )
242 0
【Android 逆向】ELF 文件格式 ( ELF 文件当前版本号 | 操作系统 ABI 信息 | ABI 版本 | 文件头校验 | 文件头长度信息 )
|
开发工具 Android开发
【Flutter】Flutter 拍照示例 ( Android 应用兼容 Android X | Gradle 版本号 | Gradle 插件版本号 | Android X 支持 | SDK 版本 )(二)
【Flutter】Flutter 拍照示例 ( Android 应用兼容 Android X | Gradle 版本号 | Gradle 插件版本号 | Android X 支持 | SDK 版本 )(二)
176 0
【Flutter】Flutter 拍照示例 ( Android 应用兼容 Android X | Gradle 版本号 | Gradle 插件版本号 | Android X 支持 | SDK 版本 )(二)