アプリのデータを Preferences を用いて読み書きする
アプリのデータを保存したり読み込んだりしたい
Androidアプリを作成していると、アプリの設定や情報を保存しておきたい場合があります。これにはいろいろな方法があるのですが、最も手軽に利用できる Preferences を用いたデータの読み書きの方法を紹介したいと思います。
実行イメージ
名前と年齢と性別を入力する画面です。「保存する」ボタンをクリックしたら、入力された名前と年齢と性別を保存します。次回起動時には、保存した情報を読み出し、名前と年齢と性別を表示します。
名前と年齢と性別を保存する
/** * Preferences にパーソナルデータを保存する * @param context * @param name 名前 * @param age 年齢 * @param male 性別(true:男/false:女) */ private void savePerson(Context context, String name, int age, boolean male){ // アプリ標準の Preferences を取得する SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); // Preferences に書き込むための Editor クラスを取得する SharedPreferences.Editor editor = sp.edit(); // putXxxx("キー",データ) にて書き込むデータを登録する editor.putString("name", name); editor.putInt("age", age); editor.putBoolean("male", male); // 書き込みを確定する editor.commit(); }
android.preference.PreferenceManager クラスの getDefaultSharedPreferences() メソッドで android.content.SharedPreferences を取得します。これはアプリの情報を読み書きできるクラスで、保存するファイルを指定する必要がない場合に使用します。
Editor クラスからデータの型に応じて putString()、putInt()、putBoolean() メソッドを呼び、書き込む情報を登録しています。ここで重要なのは、書き込む際にキーを指定していることです。このキーを元に読み出しも行うので間違いがないようにします。
commit() メソッドで実際に書き込みを行います。
名前と年齢を読み出す(性別に関しては割愛)
/** * Preferences から名前を読み出す * @param context * @return 名前(なければ空文字を返す) */ private String loadName(Context context){ // アプリ標準の Preferences を取得する SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); return sp.getString("name", ""); } /** * Preferences から年齢を読み出す * @param context * @return 年齢(なければ 0 を返す) */ private int loadAge(Context context){ // アプリ標準の Preferences を取得する SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); return sp.getInt("age", 0); }
読み出す方は簡単で、Preferences を取得したら読み出したいデータの型に応じたメソッドをキーとともに呼び出すだけです。第2引数には、そのキーに該当するデータが見つからない場合に返すデータを指定します。
まとめ
SharedPreferences を用いてアプリのデータを読み書きする方法を紹介しました。難しい操作は必要ないので、手軽に実装できると思います。
Android StudioではじめるAndroidプログラミング入門
- 作者: 掌田津耶乃
- 出版社/メーカー: 秀和システム
- 発売日: 2014/04
- メディア: 単行本
- この商品を含むブログ (1件) を見る
- 作者: 柴田文彦,川口仁
- 出版社/メーカー: インプレス
- 発売日: 2014/01/16
- メディア: Kindle版
- この商品を含むブログ (1件) を見る