Base de datos de salas en Android con MVVM (Clean) e inicio de sesión / registro | Autor Umeshchandra Yadav | Octubre 2021
Comencemos con la parte de codificación 😄
Agregar dependencias de Gradle
dependencies
def room_version = "2.3.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 Symbolic Processing (KSP)
ksp("androidx.room:room-compiler:$room_version")
// optional - Kotlin Extensions and Coroutines support for Room
implementation("androidx.room:room-ktx:$room_version")
base de datos Aplicación con AppDatabase.kt
Una aplicación tiene solo una base de datos, por lo que solo tenemos una clase de base de datos en nuestro proyecto. Tiene algunas condiciones para borrar la base de datos.
- Es una clase abstracta extendida
RoomDatabase class
. - Tener una lista de entidades asociadas a la base de datos.
- Incluya un método / función abstracto sin ningún parámetro y devuelva una clase anotada
@Dao
.
@Database(entities = [Users::class, Product::class], version = 1, exportSchema = false)
Como podemos ver, la línea anterior es para la arquitectura de la base de datos. Aquí usamos 2 entidades Usuario y producto. Cuando actualizamos nuestra arquitectura de datos, la versión es 1. Luego necesitamos aumentar en 1, y la versión actual también necesita ser migrado.
entidad:
Esta es nuestra clase de datos, pero está anotada con @Entity. El identificador de habitación es parte de la base de datos.
También decimos que es una entidad de datos. Se muestra como una tabla en el esquema de base de datos.
Algunas anotaciones que usamos en entidades de datos.
@Entity for define table@PrimaryKey(autoGenerate = true) for define primary key of table@ColumnInfo(name = “name_column”) for define column name of table if we not use then column name will be variable name.
la carretera:
Finalmente está Dao, que tiene consultas SQL y está conectado a db. En SQlite, usamos Cursor para acceder a la base de datos, pero usamos Dao en Room.
Hemos utilizado el modo MVVM para permitirnos comenzar a observar y consumir datos de base de datos.
Nuestro repositorio:
Ejemplo::
Ver modelo:
- Registre el modelo de vista:
2. Modelo de vista de inicio de sesión:
Actividad ::: Ahora hemos completado todo el trabajo de observación de los datos de la IU.
- Evento de registro
2. Actividad de inicio de sesión
Gracias por leer este artículo mío
¿Y si hiciste algo mal?
Dime en los comentarios. Me encantaría mejorar en el futuro.
Contáctame para cualquier ayuda y consultas. LinkedIn.
Por favor revisa el mío Repositorio de GitHub Para el código del proyecto.