〈kotlin〉Android studio使い方メモ4:Preference
金宏和實さんの「作ればわかる!Androidプログラミング kotlin対応」を参考に
Android studioでkotlinを使ってAndroidアプリ作成。
共有プリファレンスによるデータ保存について
共有プリファレンスとは
Android端末の内部の記憶媒体にKey-Value形式でデータを記憶する、データの保存方法。
記憶できるデータの形式やデータ量に制限がある。
主にアプリの設定値など少量のデータ保存に使う。
その他の保存方法は
PreferenceManagerは非推奨になった
共有プリファレンスにアクセスする方法として、
本書で使われているPreferenceManagerクラスはAPIレベル29から非推奨になっていた。
(PreferenceManagerをインポートすると取り消し線が引かれる)
代わりにAndroidX Preference Libraryの使う。
AndroidX Preference Libraryの設定
まずGradle Scriptsからbuild.gradle(Module)を開き、コードを追加する。
dependencies{ implementation 'androidx.preference:preference-ktx:1.1.1' } //Sync Now
プログラムにimport文を追加する
import androidx.preference.PreferenceManager
共有プリファレンスの読み込み
val pref = PreferenceManager.getDefaultSharedPreferences(this) val name = pref.getString("key", "")
これで使用中のプリファレンスにアクセスできる。
プリファレンスを指定するにはgetSharedPreferencesメソッドを使う。
val pref = getSharedPreferences("preference_name", MODE_PRIVATE) //第一引数:プリファレンスのファイル名 第二引数:モード指定
データを取得してくるにはgetメソッドにキーとデフォルト値を指定する。
指定したキーの値がなければ、設定したデフォルト値が返ってくる。
getメソッドはデータ型に合わせてそれぞれ、
getBoolean(), getFloat(), getInt(), getLong(), getString(), getStringSet()
を使う。
共有プリファレンスに保存
val pref = PreferenceManager.getDefaultSharedPreferences(this) val editor = pref.edit() editor.putString("key", "value") editor.apply()
putメソッドでkeyと共に書き込む。
保存するためにはapplyメソッドを使用する。
2022.7 追記
移行が推奨されているPreference DataStore記事書きました
〈kotlin〉Preferences DataStore - ゆるプログラミング日記