データを保存する際に使う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();
}

 

 

 

 

 

 

 


いい感じ!
以上