정보 또는 데이터를 앱 자체에 저장하는 인터페이스다.
이는 데이터베이스와는 다르며 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 값을 반환한다.
'안드로이드 > 안드로이드' 카테고리의 다른 글
[안드로이드] BottomSheetDialog (0) | 2024.02.29 |
---|---|
[안드로이드] Alarm Manager (0) | 2024.01.17 |
[안드로이드] MyApplication (1) | 2023.11.26 |
[안드로이드] 백그라운드에서 위치 데이터 지속적으로 얻기 (1) | 2023.11.26 |
[안드로이드] Api Key 저장 방법 with local.properties (1) | 2023.11.25 |