Android アプリ開発時の汎用関数の紹介
日曜日, 5月 16th, 2010自分がAndroid アプリの開発をやるようになって、これでもう1年は経過したのではないかと思っています。1年経った今でも、Androidアプリを開発するときは分からないことが多く、分からないことが出てくるたびにGoogle先生のお世話になったり、過去に自分が書いたコードを探して見てみる、などということをしてきました。そんな中で、自分がAndroid アプリを開発する際に比較的よく使う関数群を汎用関数として、Utilクラスとしてまとめてみましたのでその一部を紹介します。
バージョン情報の取得
Androidアプリケーションには、1つのアプリケーションにつき必ず1つのAndroidManifest.xmlというファイルが存在します。このAndroidManifest.xmlファイルには、アプリケーションの名前や使用するインテント名、サービス名、バージョン情報などなど多くの情報がXMLによって書かれています。このAndroidManifest.xmlファイルに書かれているバージョン情報を取得し、そのバージョンによって処理を変える場合があります。そこで、現在のアプリケーションのバージョンを知るための関数を2つ作成しました。
作成したバージョン情報取得関数
// バージョン情報の取得関連
public static int getVersionCode( Context context ) {
int ver;
try {
ver = context.getPackageManager().getPackageInfo( context.getPackageName(), 1 ).versionCode;
} catch (NameNotFoundException e) {
ver = -1;
}
return ver;
}
public static String getVersionName( Context context ) {
String ver;
try {
ver = context.getPackageManager().getPackageInfo( context.getPackageName(), 1 ).versionName;
} catch (NameNotFoundException e) {
ver = "";
}
return ver;
}
説明
Android のバージョンには2種類あり、1つ目は整数値で表現された番号。2つ目は1.3.12などのように詳細な情報が文字列として表現されているバージョン名です。今回作成した関数では前者をVersionCode、後者をVersionNameとして取得しています。なお、これらの情報はContextクラスから、PackageManagerクラスを取得し、そこからさらにPackageInfoを取得するとversionCodeとversionNameの情報が得られます。それらを単純にgetVersionCode, getVersionNameとした関数です。



