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の記述があるので参考にしてみてはいかがでしょうか。