Posted at

【入門】SharedPreferences


SharedPreferencesとは

データベースを用いずとも、Key-Value形式で簡易的にデータを保持する(データ永続化)ことができる仕組み。

XMLファイルとして保存されます。

メモリ上にキャッシュするものなので、膨大なデータを保存することには向いていませんが、頻繁にアクセスするデータなどに対しては非常に有効だと言えるでしょう。


使い方

SharedPreferencesの主な使い方には、大きく分けて以下の2つのプロセスがあります。


  • データの書き込み(保存)

  • データの読み込み(取得)

例として、アプリを起動した日付に関して、keyを"LAUNCH_DATE"、valueを"date"として保存するケースを考えます。順を追って説明しましょう。


データの書き込み(保存)

インスタンスの取得方法にも様々あるのですが、今回はgetDefaultSharedPreferencesを用います。

// インスタンスを生成し、edit()を呼び出します

SharedPreferences pref = getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = pref.edit();
// KeyとValueを保存します
editor.putString(LAUNCH_DATE, date);
// 保存したデータを書き込みます
editor.apply();


データの読み込み(取得)

// 引数に先ほど設定したkeyを渡して、valueを取得します

String launch_date = pref.getString(LAUNCH_DATE, null);


基本はこれだけ!

公式ドキュメントにもSharedPreferencesの記述があるので参考にしてみてはいかがでしょうか。