データを保存する際に使うPreferenceについて
便利なのか便利じゃないのか微妙なところですが、
良く使うPreferenceについてまとめます。
Preferenceとはアプリ内に保存するデータベースのこと。
その為、アプリをアンインストールすると消えてしまいます。
逆に電源落としてもアプリ終了させても消えはしません。
そういうアプリって世の中に結構あるよね。
ログインしなくても使える電子書籍とか、とか、、
一見便利そうに聞こえますよね。
しかし、このPreference使い方によってはすごく難しい。
例えば、Preferenceに保存しました。
でも、そのままにしていたら。。?
アプリをアンインストールするまで
ずーっと残ってるんです。
その為、設計する際にきちんとPreferenceの初期化処理のタイミングを
考えておく必要があります。
これをきちんとしておけば便利なAPIだと思います。
前置きはさておき、実際の使い方です。
Preferenceは基本putとgetがあります。
◆put処理(保存処理)
○呼ばれる側
public static void putTestCode(Context context, String testCode) {
SharedPreferences pref = context.getSharedPreferences("", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("TEST_CODE", testCode);
editor.commit();
}
○呼出し側
PreferenceClass.putTestCode(this, "123456789");
◆get処理(取得処理)
○呼ばれる側
public static String getTestCode(Context context) {
SharedPreferences pref = context.getSharedPreferences("", Context.MODE_PRIVATE);
// 第二引数は初期値.
return pref.getString(TEST_CODE, "12345");
}
○呼出し側
PreferenceClass.getTestCode(context);
これだけで出来ます。
今回はString型の例ですが、int型やlong型など
様々なデータ型で保存することが可能です。
前置きで話したようにデータを全て削除したい場合は、
以下で行うことが出来ます。
public static void clearPreference() {
SharedPreferences pref = context.getSharedPreferences("", Context.MODE_PRIVATE);
pref.edit().clear();
}
いい感じ!
以上