Biblioteca de persistência Room Parte do Android Jetpack.
A biblioteca de persistência Room oferece uma camada de abstração sobre o SQLite para permitir um acesso mais robusto ao banco de dados, aproveitando toda a capacidade do SQLite.
A biblioteca ajuda você a criar um cache dos dados do seu app em um dispositivo que o executa. Esse cache, que funciona como a única fonte da verdade do seu app, permite que os usuários vejam uma cópia consistente das informações importantes no app, independentemente dos usuários terem ou não uma conexão de Internet.
Para usar a Room no app, adicione as seguintes dependências ao arquivo
build.gradle
do app:
Groovy
dependencies { def room_version = "2.4.1" implementation "androidx.room:room-runtime:$room_version" annotationProcessor "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:2.4.1" }
Kotlin
dependencies { val roomVersion = "2.4.1" implementation("androidx.room:room-runtime:$roomVersion") annotationProcessor("androidx.room:room-compiler:$roomVersion") // To use Kotlin annotation processing tool (kapt) kapt("androidx.room:room-compiler:$roomVersion") // To use Kotlin Symbolic Processing (KSP) ksp("androidx.room:room-compiler:$roomVersion") // optional - Kotlin Extensions and Coroutines support for Room implementation("androidx.room:room-ktx:$roomVersion") // optional - RxJava2 support for Room implementation("androidx.room:room-rxjava2:$roomVersion") // optional - RxJava3 support for Room implementation("androidx.room:room-rxjava3:$roomVersion") // optional - Guava support for Room, including Optional and ListenableFuture implementation("androidx.room:room-guava:$roomVersion") // optional - Test helpers testImplementation("androidx.room:room-testing:$roomVersion") // optional - Paging 3 Integration implementation("androidx.room:room-paging:2.4.1") }
Outros documentos
Para ver um guia sobre como aplicar os recursos da Room à solução de persistência de armazenamento de dados do seu app, consulte o guia de treinamento da Room.
Outros recursos
Para saber mais sobre a Room, consulte os recursos listados a seguir.
Amostras
- Sunflower (link em inglês), um app de jardinagem que ilustra as práticas recomendadas de desenvolvimento com o Android Jetpack.
- Amostra de migração da Room (link em inglês)
- Amostra da Room & RxJava (Java) (Kotlin) (links em inglês)
Codelabs
Blogs
- Apresentação do Android Sunflower (link em inglês)
- Room + Time (link em inglês)
- Migração incrementada do SQLite para Room (link em inglês)
- Sete dicas para o Room (link em inglês)
- Noções básicas sobre migrações com Room (link em inglês)
- Testar migrações de Room (link em inglês)
- Room + RxJava (link em inglês)