稼働中の端末のPlatform(API level・バージョン)を取得するでも触れた、Build.VERSIONについて調べた。
結論は次のとおり。
我々のような一般的なプログラマから見て、実用的なのは、Build.VERSION.SDK_INTだけである。これ以外の定数を使う機会はない。
Build.VERSIONは稼働しているAndroidのバージョンを知るクラスである。自分のアプリのバージョンを知る道具ではない。
エミュレータの4.0.3上での実行結果は次のとおりであった。
Build.VERSION.CODENAME : REL
Build.VERSION.INCREMENTAL : 237985
Build.VERSION.RELEASE : 4.0.3
Build.VERSION.CODENAME : ICE_CREAM_SANDWICH_MR1
sample codeは次のとおりである。
String s, s1, s2, s3;
TextView tv;
s1 = "Build.VERSION.CODENAME : " + Build.VERSION.CODENAME +"\n";
s2 = "Build.VERSION.INCREMENTAL : " + Build.VERSION.INCREMENTAL +"\n";
s3 = "Build.VERSION.RELEASE : " + Build.VERSION.RELEASE +"\n";
switch(Build.VERSION.SDK_INT){
case Build.VERSION_CODES.DONUT: s = "DONUT"; break;
case Build.VERSION_CODES.ECLAIR: s = "ECLAIR"; break;
case Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1: s = "ICE_CREAM_SANDWICH_MR1"; break;
default: s = "unknown";
}
s = s1 + s2 + s3 + "Build.VERSION.CODENAME : " + s;
tv = (TextView)findViewById(R.id.Text);
tv.setText(s);