Biblioteca de persistencias Room Parte de Android Jetpack
La biblioteca de persistencias Room brinda una capa de abstracción para SQLite que permite acceder a la base de datos sin problemas y, al mismo tiempo, aprovechar toda la potencia de SQLite.
La biblioteca te ayuda a crear una caché de los datos de tu app en un dispositivo que la ejecute. Esta caché, que funciona como la única fuente de confianza de tu app, permite que los usuarios vean una copia coherente de información clave en la app, independientemente de si cuentan con conexión a Internet.
Para usar Room en tu app, agrega las siguientes dependencias al archivo build.gradle
de la app:
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") }
Documentación adicional
Consulta la guía de capacitación de Room para aplicar las capacidades de Room a la solución de persistencia de almacenamiento de datos de tu app.
Recursos adicionales
Para obtener más información sobre Room, consulta los siguientes recursos adicionales.
Ejemplos
- Sunflower, una app de jardinería que ilustra las prácticas recomendadas de desarrollo de Android con Android Jetpack
- Ejemplo de la migración de Room
- Ejemplo de Room y RxJava (Java) (Kotlin)