Room 永続ライブラリ Android Jetpack の一部
Room 永続ライブラリは SQLite 全体に抽象化レイヤを提供することで、データベースへのより安定したアクセスを可能にし、SQLite を最大限に活用できるようにします。
このライブラリは、アプリを実行しているデバイスでアプリのデータのキャッシュを作成する際に有用です。このキャッシュは、アプリの信頼できる唯一の情報源として機能します。ユーザーはこのキャッシュを使用することで、インターネットに接続しているかどうかに関係なく、アプリ内の重要な情報の一貫性のあるコピーを表示できます。
アプリで Room を使用するには、アプリの build.gradle
ファイルに次の依存関係を追加します。
Groovy
dependencies { def room_version = "2.5.0" implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version" // To use Kotlin annotation processing tool (kapt) kapt "androidx.room:room-compiler:$room_version" // To use Kotlin Symbol Processing (KSP) ksp "androidx.room:room-compiler:$room_version" // optional - RxJava2 support for Room implementation "androidx.room:room-rxjava2:$room_version" // optional - RxJava3 support for Room implementation "androidx.room:room-rxjava3:$room_version" // optional - Guava support for Room, including Optional and ListenableFuture implementation "androidx.room:room-guava:$room_version" // optional - Test helpers testImplementation "androidx.room:room-testing:$room_version" // optional - Paging 3 Integration implementation "androidx.room:room-paging:$room_version" }
Kotlin
dependencies { val room_version = "2.5.0" implementation("androidx.room:room-runtime:$room_version") annotationProcessor("androidx.room:room-compiler:$room_version") // To use Kotlin annotation processing tool (kapt) kapt("androidx.room:room-compiler:$room_version") // To use Kotlin Symbol Processing (KSP) ksp("androidx.room:room-compiler:$room_version") // optional - Kotlin Extensions and Coroutines support for Room implementation("androidx.room:room-ktx:$room_version") // optional - RxJava2 support for Room implementation("androidx.room:room-rxjava2:$room_version") // optional - RxJava3 support for Room implementation("androidx.room:room-rxjava3:$room_version") // optional - Guava support for Room, including Optional and ListenableFuture implementation("androidx.room:room-guava:$room_version") // optional - Test helpers testImplementation("androidx.room:room-testing:$room_version") // optional - Paging 3 Integration implementation("androidx.room:room-paging:$room_version") }
その他のドキュメント
Room の機能をアプリのデータ ストレージ永続化ソリューションに応用する方法については、Room のトレーニング ガイドをご覧ください。
参考情報
Room について詳しくは、以下のリソースをご覧ください。
サンプル
- Sunflower(Android Jetpack を使用した Android 開発のおすすめの方法を示すガーデニング アプリ)
- Room による移行のサンプル
- Room と RxJava のサンプル(Java)、(Kotlin)