Sobes.tech
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
}