android SharedPreferences データを保存する
今回は、androidのSharedPreferencesについて書きます。
SharedPreferencesは、Androidアプリで、データを保存する方法の一つです。
これの仕組みについて簡単に説明しますと、データを「キー」と「値」の組み合わせで保存(XML形式)する仕組みです。
「キー」と「値」の関係は、図に書くとこんな感じです。
あと、比較的、簡単に導入できるのも特徴の一つです。
では、コードを書きます。
①保存
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); sp.edit().putString("SAVE", "nya").commit();
これで保存ができます。
「putString("キー", "値" )」の第一引数が「キー」です。第二引数が「値」です。
上のコードですと、キーが「SAVE」で値が「nya」です。
注意が必要なのは、「commit」です。これをつけないと保存されません。
②読み込み
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); sp.getString("SAVE", "空です。"), BufferType.NORMAL
「getString("キー", "読み込み不能の時の値" )」の第一引数はキーです。第二引数は、読み込みが出来なかった時に、読み込まれる値です。(nullでも、okです。)
読み込み失敗時の実行結果↓
ちなみに、上のコードをこのまま使うと、エラーが出ます(笑)
実際に使うときは、
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); TextView textView = (TextView) findViewById(id.textview); textView.setText( sp.getString("SAVE", "空です。"), BufferType.NORMAL);
このようにTextViewなどに使いましょう。
上では、putString,getStringと書いています。
これは、String型を保存する時に使います。
intやbooleanなどを保存したい場合は、少し変える必要があります。
こちらにまとめました↓
保存メソッド
- putInt(String key, int value)・・・int
- putFloat(String key, float value)・・・float
- putLong(String key, long value)・・・long
- putBoolean(String key, boolean value)・・・boolean
- putString(String key, String value)・・・String
読み込みメソッド
- getInt(String key, int defValue)・・・int
- getFloat(String key, float defValue)・・・float
- getLong(String key, long defValue)・・・long
- getBoolean(String key, boolean defValue)・・・boolean
- getString(String key, String defValue)・・・String
以上で、終わります。