今回はAndroidアプリケーションのヴァージョン情報についてです。
Androidアプリケーションのヴァージョン情報には以下の2種類があります。
- android:versionCode:アプリケーションのヴァージョンを示す整数値
- android:versionName:リリースのヴァージョンを示す文字列値
これらのヴァージョン情報は常にセットで定義するよう推奨されています。
android:versionCode
android:versionCodeはアプリケーションのヴァージョンを示す整数値です。
この値はアプリケーションをヴァージョンアップするごとにインクリメントする必要があります。
Android Marketにアプリケーションをアップデートする際にこの値が登録されているものよりも
大きな値になっているかがチェックされるからです。
また、このヴァージョン情報がユーザに表示されるものではありませんが、
アプリケーションの管理画面でこの情報を確認することができます。
android:versionName
android:versionNameはリリースのヴァージョンを示す文字列値で、自由に記述することができますが
「1.0.0」といった形式で記述するのが一般的のようです。
また、この情報はAndroid Marketでアプリケーションのヴァージョンとしてユーザに伝えられます。
では、続きからマニフェストファイルの設定です。
マニフェストファイルにヴァージョン情報を定義する
android:versionCodeとandroid:versionNameを以下のように
マニフェストファイルに定義します。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.jpn.techbooster.getScreenSize" android:versionCode="1" android:versionName="1.0.0"> ... </manifest>
android:versionCodeに整数値、android:versionNameに文字列値を与えます。
アプリケーションからヴァージョン情報を取得する
これらのヴァージョン情報をアプリケーションから取得したい場合は、
getPackageInfoメソッドを使って取得します。
PackageInfo packageInfo = null; TextView tv = (TextView)findViewById(R.id.TextView); try { packageInfo = getPackageManager().getPackageInfo("org.jpn.techbooster.getScreenSize", PackageManager.GET_META_DATA); } catch (NameNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } tv.setText("versionCode : "+packageInfo.versionCode+" / "+"versionName : "+packageInfo.versionName);