ソフトウェアを公開するには、バージョン番号を必ず付ける必要がある。
Android用ソフトのバージョン番号の取扱いについてまとめてみた。
http://code.google.com/android/devel/sign-publish.html
Androidでは、各アプリケーションは、マニュフェストファイルにバージョン番号を記載する。
このバージョン番号は、Androidによって論理的に意味付をされて使用されないため、自由なルール付けをして設定可能である。
バージョン情報は2つありAndroidManufest.xmlに記載を行う
android:versionCode
- Integer型のバージョン番号。
- どのように上げていくかは、開発者に任される。
- 通常ユーザに見える事はない。
- GoogleのAndroid Marketにて、アップグレード情報として使用される
android:versionName
- ユーザが見る事ができるバージョン番号。
- Androidによって、アプリケーションのバージョン番号として表示される。
- Android Market上で表示される。
Aboutダイアログ等への表示
プログラム上では、Aboutボックスにバージョン番号を表記する。この表示する番号は別リソースに持ってもよいのだが、バージョンアップをすると二か所を変更することになり好ましくない。
以下はManufestファイルからバージョン番号を取得し一元管理する方法
Aboutダイアログボックス等でプログラム内から上記バージョン番号を表示する場合は、PackageManagerからPackageInfoを取得しバージョン番号を得る。
String versionName ;
PackageManager pm = getPackageManager();
try {
PackageInfo info = null;
info = pm.getPackageInfo("jp.co.taosoftware.wareki", 0);
versionName = info.versionName;
} catch (NameNotFoundException e) {
}
もちろんバージョン番号だけでなく、マニュフェストファイルに記載されている内容に関しては、上記PackageInfoから取得可能である。
2009/5/19
情報が古くなった箇所があったため修正しました。
2010年4月12日 at 6:24 PM
Android関連の情報や、特にプログラミングに関しては、いつも大変参考にさせて頂いています。
バージョン番号の取得に関して質問があります。
このエントリーのようにPackageManager から取得する方法では、コード内では自由に使えると思いますが、例えば preferenceactivity を用いて設定画面をXMLで記述する場合、このXML中にPackageManager の値を反映させるにはどうしたら良いでしょうか?
お忙しいところ恐縮ですが、ご教示頂けると幸いです。
宜しくお願い致します。
2010年4月15日 at 6:27 PM
コメントありがとうございます。
XML上での記載は無理かと思います。
それ用のStringリソースを用意するか、OnCreateにて設定をするのが一番だと思います。
2010年4月22日 at 4:10 PM
ご教示頂きありがとうございます。
お礼が遅くなり申し訳ございませんでした。
XMLではやはり無理ですか。
ありがとうございました。