2011年10月24日月曜日

[Android TIPS] 各バージョンの初回起動時に変更履歴を表示する

これまで青空読手や仕事でAndroidのコードを書くにあたり色んなブログを参考にさせてもらってきました。今度は自分もやってみようということで、青空読手を作るにあたって自分が得たノウハウをちょっとずつ書いていこうと思ってます。週一くらいのペースでかければと思ってます。

そんなこんなで、しょっぱなは各バージョンの初回起動時に変更履歴を表示する方法です。

青空読手ではアップデートする度に左図みたく変更履歴を表示してます。「OK」ボタンを押すと右図みたく初期画面がでると。



これを実現するためにアプリのバージョン番号を SharedPreference に保持するようにしていて、今起動したバージョン番号を保持していなければそのバージョンを初めて起動したと判断して変更履歴を出しています。コードは下記な感じ。

String ver = "1.0";
try
{
 // アプリのバージョンを取得
 ver = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_META_DATA).versionName;
}
catch (Exception e)
{
}

// 現在のバージョンを起動するのは初めて?
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
if (!ver.equals(sp.getString("ver", "")))
{
 // 変更履歴を表示
 Toast.makeText(this, "変更履歴", Toast.LENGTH_SHORT).show();
 
 // このバージョンで起動したことを記録
 sp.edit().putString("ver", ver).commit();
}

変更履歴を出した後は SharedPreference に今起動したバージョン番号を保持して、次にアップデートするまで変更履歴を表示しなくしてます。そんなかんじー。

そんなこんなでいつまで続くやら... :-)