[kotlin] DataStore 라이브러리 사용법

DataStore 라이브러리는 Android 앱에서 Preferences 또는 SQLite 데이터베이스를 사용하는 대체 라이브러리로, 기존 SharedPreferences보다 더 안정적이고 성능이 우수합니다. DataStore를 사용하면 코틀린의 코루틴과 플로우를 활용하여 데이터를 비동기적으로 저장하고 검색할 수 있습니다.

이제 DataStore 라이브러리를 사용하는 방법을 알아보겠습니다.

1. DataStore 라이브러리 추가

build.gradle 파일에 다음 의존성을 추가합니다.

implementation "androidx.datastore:datastore-preferences:1.0.0"

2. DataStore 인스턴스 생성

다음과 같이 DataStore 인스턴스를 생성합니다.

val dataStore: DataStore<Preferences> = context.createDataStore(
    name = "settings"
)

3. 데이터 저장

suspend fun saveToDataStore(key: Preferences.Key<String>, value: String) {
    dataStore.edit { settings ->
        settings[key] = value
    }
}

4. 데이터 가져오기

val exampleKey = preferencesKey<String>("exampleKey")
val exampleValueFlow: Flow<String> = dataStore.data.map { preferences ->
    preferences[exampleKey] ?: "default value"
}

DataStore 라이브러리를 사용하여 SharedPreferences 대신으로 안정적이고 효율적인 데이터 저장소를 구현할 수 있습니다.

더 자세한 내용은 공식 문서를 참고하세요.