Three.jsを使って、作ってみた

プログラミング関連の事を色々書いています(^^) 週末はレストランやコンビニのお菓子のことを書いています。

android SharedPreferences データを保存する

今回は、androidのSharedPreferencesについて書きます。


SharedPreferencesは、Androidアプリで、データを保存する方法の一つです。

これの仕組みについて簡単に説明しますと、データを「キー」と「値」の組み合わせで保存(XML形式)する仕組みです。
「キー」と「値」の関係は、図に書くとこんな感じです。
f:id:gupuru:20140330223117p:plain

あと、比較的、簡単に導入できるのも特徴の一つです。


では、コードを書きます。

①保存

 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です。)

読み込み失敗時の実行結果↓
f:id:gupuru:20140330223645p:plain


ちなみに、上のコードをこのまま使うと、エラーが出ます(笑)

実際に使うときは、

 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


以上で、終わります。


参考サイト
データを簡単に保存する方法(Preference編) | Tech Booster