Junior — Middle
Kas saaksid loetleda Room teeg põhiosad ja komponendid andmebaasidega töötamiseks?
sobes.tech AI
Vastus AI-lt
Peamised Room teeki osad andmebaasidega töötamiseks Androidis:
- Entity — klassid, mis kirjeldavad andmebaasi tabeleid. Iga klassi väli vastab veerule.
- DAO (Data Access Object) — liidesed meetoditega andmete ligipääsuks (lisamine, uuendamine, kustutamine, päringud). Room genereerib nende meetodite teostuse.
- Database — abstraktne klass, mis pärineb RoomDatabase-st ja ühendab kõik DAO-d. Selle kaudu luuakse ja pääseb andmebaasile ligi.
Näide:
@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
}