Android DataStore를 알아보자

312·2024년 5월 20일

Android 알아보기

목록 보기
2/7

What is DataStore?


데이터를 저장할 때 사용하는 안드로이드 내부 로컬 DB이다.
이전에는 SharedPreference를 사용했는데, DataStore로의 이전이 권고되었다.

Why DataStore?

DataStore 이전에 로컬 Database를 사용할 때에는 SharedPreference 라는 인터페이스를 사용했었다.

간단한 key-value를 저장할 때는 유용했지만, 멀티 쓰레드나 타입의 안정성 등의 이유로 DataStore가 등장하게 되었다고 한다.

따라서 DataStore는 비동기적이고 타입 안정성을 제공하며 데이터 일관성을 보장한다.

DataStore's Advantages

DataStore는 SharedPreference에 존재하던 여러가지 단점이 개선되었다.

먼저 정식으로 Kotlin Coroutine과 Flow타입을 지원해 동시성 프로그래밍에 최적화 되었다.

그리고 데이터 일관성 보장을 통해 멀티 쓰레드 환경에서 동일하게 데이터를 추출할 수 있게 되었다.

마지막으로 SharedPreference에는 없던 타입 안정성을 제공해서 데이터가 클래스를 기준으로 입출력 되어 안전하게 I/O 할 수 있다.

Use DataStore!

SharedPreference에 비해 DataStore는 비동기적 데이터 처리, Coroutine 및 Flow 지원, 데이터 일관성 보장 등의 강력한 기능을 제공한다.

따라서 기존에 적용되어 있던 프로젝트를 리팩토링하거나 새로운 프로젝트를 시작할 때, DataStore로 전환하게 되면 앱의 안정성과 에러 관리에 있어서 더 용이할 것 같다고 생각한다.

특히 Google의 Jetpack에 대한 지원을 통해 DataStore의 채택률이 더 올라갈 것 같다..!

profile
안드로이드 개발자 이상일입니다.

0개의 댓글