android 獲取versionName和versionCode以及作用
阿新 • • 發佈:2019-01-06
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