Android Jetpack

dataStore - 1

----___<<<<< 2022. 8. 6. 20:42

안드로이드 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