Junior — Middle
Podes listar as principais partes e componentes da biblioteca Room para trabalhar com bases de dados?
sobes.tech IA
Resposta da IA
Partes principais da biblioteca Room para trabalhar com bases de dados no Android:
- Entity — classes que descrevem as tabelas da base de dados. Cada campo da classe corresponde a uma coluna.
- DAO (Data Access Object) — interfaces com métodos para aceder aos dados (inserir, atualizar, eliminar, consultas). O Room gera a implementação destes métodos.
- Database — classe abstrata que herda de RoomDatabase e une todos os DAO. Através dela, a base é criada e acessada.
Exemplo:
@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
}