
アプリ動作中に取得した情報をスマホに保持させて次回起動時に読み込みたい
こうした悩みを解決します。
概要
スマホに情報保存させるには、SharedPreferences API を使用するとよいです。
Key-Value ペアを格納したファイルをポイントし、Key-Value ペアの読み書きを行うためのシンプルなメソッドです。
保存
KEYというキーに、文字列型のvalueというバリューを保存させる例です。
val sharedPreff = getSharedPreferences(sharedPrefFile, Context.MODE_PRIVATE)
sharedPreff.edit().putString("KEY", "value").apply()
getSharedPreferencesで、sharedPrefFileという名称のファイルを指定(なければ作成される)
editで編集を開始
putStringでキー/バリューをセット
applyで保存
という流れです。実際自分たちがいじくるのはputStringの中身だけですね、簡単簡単。
読込
KEYというキーからバリューを読みこむ例です
val sharedPref = getSharedPreferences(sharedPrefFile, Context.MODE_PRIVATE)
var temp = sharedPref.getString("KEY", "no data").toString()
これも保存と似てますね。
getSharedPreferencesで、sharedPrefFileという名称のファイルを指定(なければ作成される)
getStringでキー(上記例では第一引数のKEY)を指定
指定キーがなかった場合のデフォルト値を指定(上記例では第二引数のno data)
これをtemp変数に文字列型に変換して入れています。
まとめ
スマホに情報を保存・読込したい場合はgetSharedPreferencesを使うとよいでしょう。
これも近くサンプルプログラム作って提供しますね。