안드로이드 DataStore에 대해서 알아보겠습니다.
implementation("androidx.datastore:datastore-preferences:1.0.0")
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1"
class TestActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_test)
val userManager = UserManager(applicationContext)
lifecycleScope.launch{
for(i in 0..10) {
delay(1000)
userManager.insertData()
userManager.getData()
}
}
val end = findViewById<Button>(R.id.end)
end.setOnClickListener {
finish()
}
}
}
class UserManager(context : Context) {
private val Context.dataStore: DataStore<Preferences> by preferencesDataStore("user_pref")
private val mDataStore: DataStore<Preferences> = context.dataStore
val USER_NAME_KEY = stringPreferencesKey("USER_NAME")
suspend fun insertData() {
mDataStore.edit { preferences ->
preferences[USER_NAME_KEY] = "abc"
}
}
suspend fun getData(){
mDataStore.edit { preferences ->
val currentCounterValue = preferences[USER_NAME_KEY] ?: "null"
Log.e("UserManager ", currentCounterValue)
}
}
}
- 참조
https://developer.android.com/topic/libraries/architecture/coroutines?hl=ko
수명 주기 인식 구성요소와 함께 Kotlin 코루틴 사용 | Android 개발자 | Android Developers
수명 주기 인식 구성요소와 함께 Kotlin 코루틴 사용 Kotlin 코루틴은 비동기 코드를 작성할 수 있게 하는 API를 제공합니다. Kotlin 코루틴을 사용하면 코루틴이 실행되어야 하는 시기를 관리하는 데
developer.android.com
https://www.youtube.com/watch?v=xZV3RUtp9b4
https://jizard.tistory.com/213
[Android] Preferences DataStore 사용법과 개념
원문 https://medium.com/@shalutd007/welcome-datastore-good-bye-sharedpreferences-4bf68e70efdb https://developer.android.com/topic/libraries/architecture/datastore 원문을 읽으면서 제가 공부하려고 번/..
jizard.tistory.com
https://developer.android.com/topic/libraries/architecture/datastore?hl=ko
앱 아키텍처: 데이터 영역 - Datastore - Android 개발자 | Android Developers
데이터 영역 라이브러리에 관한 이 앱 아키텍처 가이드를 통해 Preferences DataStore 및 Proto DataStore, 설정 등을 알아보세요.
developer.android.com
https://developer.android.com/codelabs/android-preferences-datastore?hl=ko#1
Preferences Datastore를 사용하여 작업하기 | Android Developers
이 Codelab에서는 샘플 앱을 수정하여 SharedPreferences를 대체하는 새로운 향상된 데이터 저장소 솔루션인 Jetpack Preferences Datastore를 통합합니다.
developer.android.com
'Android Jetpack' 카테고리의 다른 글
Simple Paging3 (0) | 2022.12.24 |
---|---|
dataStore - 2 (0) | 2022.08.15 |
BindingAdapter + databinding (0) | 2022.08.05 |
ROOM TypeConverter (0) | 2022.07.23 |
ROOM Embeded (0) | 2022.07.22 |