SharedPreferencesの使い方
使い方
まずSharedPreferencesインスタンスを生成する。そしてインスタンスのメソッドを使って内容を書き込んだり、読み込んだりする。
android.content.SharedPreferences
SharedPreferencesインスタンスの生成
val sp: SharedPreferences = getSharedPreferences("SessionManage", Context.MODE_PRIVATE)
第一引数は、おそらくxmlのファイル名となる。このファイルのデータの読み書きがインスタンスのメソッドを通じて実行される。
第二引数は、書き込みの権限を設定していると思われる。 MODE_PRIVATEは"このアプリからのみ読み書き可"を意味する。
また、getSharedPreferences()はContext#getSharedPreferencesであるのでFragment内で呼び出すにはまずContextオブジェクトを経由させrこと。
データを読み込む
- Stringデータを読み込む
val last_account:String? = sp.getString("last_account", null)
インスタンスにgetString()メソッドを使ってデータの読み込みを行う。
第一引数がkeyとなっており、key に対応するvalueが返される。仮にkeyがない場合にはエラーが発生するのではなく、第二引数で定めた値が返される。
データを書き込む
val editor = sp.edit() editor.putString("last_account", "chiaki").apply()
SharedPreferencesインスタンスにedit()メソッドを使わないと書き込みができない。
edit()メソッドで返された値には、SharedPreferencesインスタンスにデータを格納することができるメソッドを有する。
android.content.SharedPreferences.Editor
Editor.putString()メソッドの第一引数はkeyであり、第二引数が値である。 またメソッド実行後にapply()メソッドやcommit()メソッドを使い変更をコミットする事が必要である。
メソッドは以下の通りである。
- putBoolean(key: String!, value: Boolean)
- putFloat(key: String!, value: Float)
- putInt(key: String!, value: Int)
- putLong(key: String!, value: Long)
- putString(key: String!, value: String?)
- putStringSet(key: String!, values: MutableSet<String!>?)
- remove(key: String!)
参考
[Android] データを保存し Android Studio で確認 SharedPreferences