Junior — Middle
¿Puedes enumerar las principales partes y componentes de la biblioteca Room para trabajar con bases de datos?
sobes.tech AI
Respuesta de la IA
Partes principales de la biblioteca Room para trabajar con bases de datos en Android:
- Entity — clases que describen las tablas de la base de datos. Cada campo de la clase corresponde a una columna de la tabla.
- DAO (Data Access Object) — interfaces con métodos para acceder a los datos (inserción, actualización, eliminación, consultas). Room genera la implementación de estos métodos.
- Database — clase abstracta que hereda de RoomDatabase y une todos los DAO. A través de ella se crea y accede a la base.
Ejemplo:
@Entity
data class User(
@PrimaryKey val id: Int,
val name: String
)
@Dao
interface UserDao {
@Query("SELECT * FROM User")
fun getAll(): List<User>
@Insert
fun insert(user: User)
}
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}