DataStore는 Android의 Jetpack 라이브러리 중 하나로, 경량화된 로컬 데이터 저장 솔루션을 제공합니다. DataStore는 SharedPreferences의 대안으로 사용되며, 복잡한 데이터 구조를 다루는데 더 적합한 솔루션을 제공합니다. 주로 애플리케이션의 설정, 사용자 데이터, 캐시 등을 저장하고 관리하는 데 사용됩니다.
DataStore는 다음과 같은 특징과 장점을 가지고 있습니다:
- 타입 안정성(Type Safety): DataStore는 Protocol Buffers를 사용하여 데이터를 직렬화하고 저장합니다. 이로 인해 데이터의 타입을 명확하게 지정할 수 있으며, 데이터를 가져올 때 자동으로 역직렬화하여 타입 안정성을 확보합니다.
- 비동기적 처리: DataStore는 비동기적으로 데이터를 읽고 쓸 수 있는 API를 제공합니다. 이를 통해 메인 스레드를 차단하지 않고 데이터를 다룰 수 있습니다.
- Flow 지원: Flow를 통해 데이터의 변경을 감지하고 관찰할 수 있습니다. 데이터의 변경이 감지될 때마다 자동으로 업데이트되는 UI를 구현할 수 있습니다.
- 선언적 API: 데이터를 쓰기 위한 edit 함수와 데이터를 읽기 위한 data 프로퍼티를 통해 선언적으로 데이터를 다룰 수 있습니다.
- 변화 관리: DataStore는 백그라운드에서 변경을 관리하며, 다양한 상황에서 데이터의 일관성을 보장합니다.
- Migrations: 데이터 스키마 변경 시에도 데이터 유지를 위한 마이그레이션을 지원합니다.
- 데이터 암호화: 민감한 데이터를 저장할 때 데이터 암호화를 적용할 수 있습니다.
DataStore는 라이브러리 내에서 datastore-preferences와 datastore-protobuf 두 가지 모듈을 제공합니다. datastore-preferences는 SharedPreferences와 유사한 API를 제공하는 모듈이며, datastore-protobuf는 Protocol Buffers를 사용하여 데이터를 저장하는 모듈입니다. 각 모듈은 데이터의 특성에 따라 선택하여 사용할 수 있습니다.
애플리케이션의 요구사항과 데이터의 복잡성에 따라 적절한 DataStore 모듈을 선택하여 사용하면 데이터 관리가 더욱 효율적으로 이루어질 수 있습니다.
'Android > simple data 저장하기' 카테고리의 다른 글
Datastore - 구글 설명 (0) | 2023.08.31 |
---|---|
datastore-protobuf 사용하기 (0) | 2023.08.30 |
datastore-preferences 사용하기 (0) | 2023.08.30 |
SharedPreferences 사용하기 (0) | 2023.08.29 |
simple data 저장 방법 (0) | 2023.08.29 |