新人成長記録14th
今回はPreferenceについて書いていきます
Preferenceはキーと値の組み合わせで情報を保存し、アプリを終了してもデータを保持しているために基本的な情報などを持たせるのに良いです
ただ、アプリ(メモリデータ)を削除されてしまうとPreferenceのデータも削除されてしまうので要注意です
Preference
Preferenceで使用できる型には5つと限られています
Boolean型
Float型
Int型
Long型
String型
となります
では、どのようにPreferenceを実装していけばよいのか
まずは、SharedPreferencesクラスの取得をします
取得の仕方には色々あります
例えば、getPreference()で取得するとファイル名がPreferenceを使用したクラス名となります
統一したいのであれば、ファイル名が指定できるgetSharedPreferences()の方がよいでしょう
また、閉じた環境のみでの使用ならばPreferenceManagerクラスにある、Modeが常にprivateになるgetDefaultSharedPreferences()でも良いですね
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
sharedPreferences.edit().putInt("hogehoge", 1);
書き込み方は上記のようになり、SharedPreferencesクラスからeditを取得して値を書き込むためのputxxx()を使用して書き込みをしていきます
Preferenceから値を取得する場合には、以下のようにします
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
sharedPreferences.getInt("hogehoge",0);
2つ目の引数はもし、指定したキーに値がない場合の値のを示します
上記の場合ですと、0か値があればその値が返ってきます
非常に単純ですが、使いやすく便利なクラスなので、適所でどんどん使っていきたいですね
ただ、大量のデータの保管などには向いていないためにそういった場合には、データベースを使用した方がいいでしょう
終わりに
Preferenceは多くの場面で使うので、まとめてクラスとして保持した方が追加や修正をしやすいと思います
また、使うたびにSharedPreferencesクラスを取得する手間も省けます
特殊な方法ですが、GSONというGoogleから提供されているオープンソースライブラリを使用することで、オブジェクトをJSONデータに変換することで、文字列としてPreferenceに保存することができます
戻す時もJSONデータをPreferenceから受け取り、GSONを使用してオブジェクトに戻すことができます
火曜日担当:poppy
admin at 2016年11月15日 10:22:49