Junior — Middle
Ar galite išvardyti pagrindines Room bibliotekos dalis ir komponentus, skirtus darbui su duomenų bazėmis?
sobes.tech AI
Atsakymas iš AI
Pagrindinės Room bibliotekos dalys, dirbant su duomenų bazėmis Android:
- Entity — klasės, aprašančios duomenų bazės lenteles. Kiekvienas klasės laukas atitinka stulpelį.
- DAO (Data Access Object) — sąsajos su metodais duomenų prieigai (įterpimas, atnaujinimas, ištrynimas, užklausos). Room generuoja šių metodų įgyvendinimą.
- Database — abstrakti klasė, kuri paveldi iš RoomDatabase ir jungia visus DAO. Per ją kuriama ir prieinama duomenų bazė.
Pavyzdys:
@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
}