KC Blog

【Compose Multiplatform】ローカル永続ストレージをDataStoreで実装する方法

2 min read
CrossPlatform#CMP#DataStore#Kotlin

はじめに

純粋なAndroidプロジェクトでは

ネイティブのDataStoreを直接使用できますが

Compose Multiplatformプロジェクトでは

どのようにDataStoreをシームレスに使い続けることができるでしょうか?

本記事では、クロスプラットフォーム環境で

DataStoreによるローカルストレージの実装方法を紹介します

{% include table/compose-multiplatform-category.html %}

実装手順

1. ライブラリのインポート
.tomlファイルに追加:

build.gradle.ktsに追加:

2. 各プラットフォーム向けDataStoreの実装
expect関数とローカルストレージ名の作成:

Androidプラットフォームの実装:

iOSプラットフォームの実装:

3. commonMainでDataStoreを使用する
上記で実装したインターフェースを使用して commonMainでDataStoreを使用できます:
4. Koinモジュールの追加(オプション)
依存性注入にKoinを使用したい場合は、次のように設定できます:

まとめ

  • Compose Multiplatformでは、クロスプラットフォームプロジェクトでDataStoreを使用できます
  • 適切なカプセル化により、異なるプラットフォーム間で統一されたDataStore APIを使用できます
  • DataStoreを使用することで、ローカルデータの永続化の実装が簡素化されます
  • Koinなどの依存性注入フレームワークと組み合わせることで、DataStoreインスタンスをより適切に管理できます

参考資料

Android Developer 公式