android 获取versionName和versionCode以及作用

android:versionCode:
主要是用于版本升级所用,是INT类型的,第一个版本定义为1,以后递增,这样只要判断该值就能确定是否需要升级,该值不显示给用户
android:versionName:
这个是我们常说明的版本号,由三部分组成..,该值是个字符串,可以显示给用户。
关于版本号有两个值,如下面的例子

android:versionCode=”2”
android:versionName=”1.1”

versionCode是给设备程序识别版本(升级)用的,必须是一个interger值,整数,代表app更新过多少次

versionName是给用户看的,可以写1.1.1 , 1.1.2的形式

延伸出另外一个问题:当app需要校对版本的时候怎样读取这个值?

//eclipse获取versionCode和versionName 这两个参数是写在manifest.xml文件中
public void getEclipseVersionInfo(){
    int versioncode;
    String versionname;
    PackageManager pm = getPackageManager();
    try {
        PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), 0);
        versioncode = packageInfo.versionCode;
        versionname = packageInfo.versionName;
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
}

//在Android Studio中获取到versionname和versionCode 这两个参数是写在${modle_name}.gradle文件中

public void getASVersionName(){
    int versionCode = BuildConfig.VERSION_CODE;
    String versionName = BuildConfig.VERSION_NAME;
}

这样我们就可以拿到versioncode和versionname了,这里我们看到使用到了BuildConfig类(是从项目包下的配置文件,即 我们的包名.BuildConfig;),可以导入这个类后Ctrl+单击查看这个类,里面还有其他的参数

手机型号: android.os.Build.MODEL 
SDK版本: android.os.Build.VERSION.SDK
系统版本: android.os.Build.VERSION.RELEASE

你可能感兴趣的:(综合分类,Android知识点)