지식쌓기

Android - DataStore

바나나쥬스 2021. 9. 17. 15:00

요건 또 모냐

간단한 데이터 저장용으로 SharedPreferences 를 쓰는데 

또 더 좋은게 나왔나 보다 (한참전에 -_-)

 

야금야금 새로운걸 적용해 나가보자

 

https://developer.android.com/topic/libraries/architecture/datastore?hl=ko#kotlin 

 

Datastore  |  Android 개발자  |  Android Developers

Datastore   Android Jetpack의 구성요소. Jetpack Datastore는 프로토콜 버퍼를 사용하여 키-값 쌍 또는 유형이 지정된 객체를 저장할 수 있는 데이터 저장소 솔루션입니다. Datastore는 Kotlin 코루틴 및 Flow를

developer.android.com

 

https://developer.android.com/codelabs/android-preferences-datastore?hl=ko#0 

 

Preferences Datastore를 사용하여 작업하기  |  Android 개발자  |  Android Developers

이 Codelab에서는 샘플 앱을 수정하여 SharedPreferences를 대체하는 새로운 향상된 데이터 저장소 솔루션인 Jetpack Preferences Datastore를 통합합니다.

developer.android.com

 

 

비교

 

결론

  • SharedPreferences는 UI 스레드에서 호출하기에 안전해 보일 수 있는 동기 API가 있고, 오류 신호를 보내는 메커니즘이 없고, 트랜잭션 API가 없다는 등 일련의 단점이 있습니다.
  • SharedPreferences를 대체하는 Datastore는 API의 거의 모든 단점을 해결합니다.
  • Datastore는 Kotlin 코루틴과 Flow를 사용하는 완전 비동기 API가 있으며, 데이터 이전을 처리하고, 데이터 일관성을 보장하고, 데이터 손상을 처리합니다.