안드로이드/안드로이드
[안드로이드] SharedPreferences
snaildeveloper
2023. 11. 29. 20:09
정보 또는 데이터를 앱 자체에 저장하는 인터페이스다.
이는 데이터베이스와는 다르며 Key & Value 값으로 저장된다.
주로 앱 환경설정에 사용된다.
사용 방법
MyApplication.kt
SharedPreferences는 context를 필요로 한다.
따라서 어디서든 불러 사용할 수 있도록 MyApplication에서 호출한다.
class MyApplication : Application() {
companion object {
lateinit var prefs: PreferenceUtil
}
override fun onCreate() {
prefs = PreferenceUtil(applicationContext)
super.onCreate()
}
}
preferenceUtil.kt
class PreferenceUtil (context: Context) {
private val prefs: SharedPreferences =
context.getSharedPreferences("prefs_name", Context.MODE_PRIVATE)
fun getString(key: String, defValue: String): String {
return prefs.getString(key, defValue).toString()
}
fun setString(key: String, str: String?) {
prefs.edit().putString(key, str).apply()
}
}
Activity
MyApplication.pref.setString("key", "value")
MyApplication.pref.getString("key", defvalue)
다음과 같이 사용할 수 있으며
defvalue는 해당 key 값에 value가 설정되어 있지 않다면, defvalue 값을 반환한다.