Junior — Middle
Можеш ли да набројиш главне делове и компоненте библиотеке Room за рад са базама података?
sobes.tech АИ
Одговор од АИ
Glavni delovi biblioteke Room za rad sa bazama podataka u Android-u:
- Entity — klase koje opisuju tabele baze podataka. Svako polje klase odgovara koloni.
- DAO (Data Access Object) — interfejsi sa metodama za pristup podacima (ubacivanje, ažuriranje, brisanje, upiti). Room generiše implementaciju ovih metoda.
- Database — apstraktna klasa koja nasleđuje od RoomDatabase i povezuje sve DAO. Kroz nju se kreira i pristupa bazi.
Primer:
@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
}