반응형
SharedPreferences
정의
간단한 데이터를 저장하고 불러올 수 있다.
어플을 꺼도 데이터가 유지된다는 점에서 간편한 데이터베이스 역할을 할 수 있다.
ShardPreferences는 어플리케이션에서 파일 형태로 데이터를 저장한다.
데이터는 (key, value) 형태로 shared_prefs 폴더 안에 xml 파일로 저장된다. 해당 파일은 어플리케이션이 삭제되기 전까지 보존된다.
SharedPreferences 사용방법
SharedPreferences는 app에서 전역적으로 사용한다.
따라서 싱글톤 패턴을 사용하여 앱 어디든 접근이 가능하게 만드는 것이 좋다.
SharedPreferences 클래스는 앱에 있는 다른 액티비티보다 먼저 생성되어야 다른 곳에 데이터를 넘겨줄 수 있다.
따라서 Application에 해당하는 클래스를 생성하고나서 전역변수로 ShardPreferences를 가져야 한다.
Application을 상속받는 MyApplication을 생성하고 onCreate보다 preferences를 먼저 초기화하여 준다.
MyApplication.kt
class MyApplication : Application() {
companion object{
lateinit var preferences: PreferenceUtil
}
override fun onCreate() {
preferences = PreferenceUtil(applicationContext)
super.onCreate()
}
}
PreferenceUtil.kt
class PreferenceUtil(context: Context) {
private val preferences: SharedPreferences = context.getSharedPreferences("prefs_name", Context.MODE_PRIVATE)
fun getString(key: String, defValue: String):String{
return preferences.getString(key,defValue).toString()
}
fun setString(key: String, defValue: String){
preferences.edit().putString(key, defValue).apply()
}
}
이제 이것을 통해
MyApplication.preferences.getString("연습","입니다.")
MyApplication.preferences.setString("연습","안해요.")
이렇게 사용하면 된다.
반응형
'안드로이드(Kotlin)' 카테고리의 다른 글
Kotlin 코틀린의 Retrofit (0) | 2022.08.26 |
---|---|
Kotlin 코틀린의 RecyclerView (0) | 2022.08.25 |
Kotlin 코틀린의 Context (0) | 2022.08.08 |
Kotlin 코틀린의 Handler 와 Looper (0) | 2022.08.04 |
Kotlin 코틀린의 Intent와 Inflate (0) | 2022.08.04 |