Guardar información local con Room Database y Kotlin
Entidades, DAO y consultas reactivas sobre SQLite en Android.
Persistir notas sin conexión mediante la biblioteca Room.
Antes de comenzar
Parte de un proyecto de prueba o de una copia de trabajo de tu aplicación. Revisa versiones, permisos y dependencias en los enlaces oficiales del final: las plataformas Android y los servicios de Google pueden actualizar sus requisitos.
El objetivo de esta guía es aplicar un proceso concreto y comprobar su resultado. Documenta cualquier cambio relevante para poder mantenerlo y, cuando corresponda, medir sus efectos con datos.
Cómo hacerlo
Agrega las dependencias de Room y KSP…
Agrega las dependencias de Room y KSP compatibles con las versiones de Kotlin y Gradle que ya utilizas.
Diseña una entidad con clave primaria y…
Diseña una entidad con clave primaria y campos necesarios; evita almacenar datos sensibles sin evaluar protección.
Declara un DAO con métodos para insertar,…
Declara un DAO con métodos para insertar, consultar y borrar, usando suspend o Flow según el caso.
Define una clase RoomDatabase y crea una…
Define una clase RoomDatabase y crea una única instancia de base de datos por proceso cuando corresponda.
Accede a los datos desde un repositorio,…
Accede a los datos desde un repositorio, no directamente desde el composable.
Prueba inserción, reinicio de app y una…
Prueba inserción, reinicio de app y una migración de esquema antes de distribuir cambios de versión.
@Entity(tableName = "notas")
data class Nota(
@PrimaryKey(autoGenerate = true) val id: Long = 0,
val texto: String
)
@Dao
interface NotaDao {
@Query("SELECT * FROM notas ORDER BY id DESC")
fun observarNotas(): Flow<List<Nota>>
@Insert
suspend fun insertar(nota: Nota)
}Fragmento educativo: adapta las importaciones, clases, dependencias y versiones a tu proyecto. Consulta la documentación oficial antes de integrarlo.
Ejercicio práctico
Guarda tres notas, cierra la aplicación, vuelve a abrirla y confirma que continúan disponibles.
No uses fallbackToDestructiveMigration de manera indiscriminada: podría eliminar datos de usuarios.
Cómo verificar el resultado
- Completa los pasos anteriores en un entorno de pruebas antes de distribuir cambios.
- Comprueba que la función, configuración o estrategia responde al objetivo planteado.
- Revisa errores, impacto para usuarios y políticas aplicables a tu caso.
- Conserva la evidencia y anota qué deberás revisar cuando cambien las versiones.
Fuentes oficiales para profundizar
Consulta los requisitos y ejemplos vigentes en estas fuentes antes de publicar una implementación.