VersionCode
開發app的時候, 會以版號來標註每一個版本之間的不同
我們打開"設定" 時也可以在應用程式裡看到每一個app的版本號
例如
這個版號是定義在AndroidManifest.xml中的
android:versionCode="123"
android:versionName="1.2.3"
其中android:versionCode是用來讓程式判斷目前版本的一個整數,
android:versionName則是給使用者看的版本字串, 不過這並沒有硬性規定
要注意的是, 當app更新版本的時候android:versionCode
這個設定值必須比目前裝置上的app版號來的大, 否則系統不會讓app安裝到裝置上
(實際測試結果是當版號相等時也可以安裝, 不過重開機後似乎會讀取比較舊的版本)
我們可以透過以下方式在app開啟的時後取得這個版號
try {
int vCode =getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
String vName = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
} catch (NameNotFoundException e) {
}
一般來說, 應用的情況有以下幾種
先把versionCode存在Shared Preference,
之後開啟app只要比較當前的versionCode和Shared Preference裡面的versionCode
就可以知道當前版本是否有變動
開啟app後連線制網路端檢查是否有更新的版本,
這個動作google play會自動執行, 當然也可以自己實作並客製化