Junior — Middle
Маалыматтар менен иштөө үчүн Room китепканасынын негизги бөлүктөрү жана компоненттери тууралуу тизмелеп бере аласызбы?
sobes.tech AI
AIден жооп
Androidда маалыматтар базалар менен иштөө үчүн Room китепканасынын негизги бөлүктөрү:
- Entity — маалыматтар базасындагы таблицаларды сүрөттөгөн класстар. Класстын ар бир өрөөгү столбецке туура келет.
- DAO (Data Access Object) — маалыматтарга кирүү үчүн методдорду камтыган интерфейстер (кошуу, жаңылоо, өчүрүү, суроо-талаптар). Room бул методдордун ишке ашырылышын түзөт.
- Database — RoomDatabaseтен мурас алган абстракт класстын бардык DAOлору менен бириктирет. Анын аркылуу база түзүлүп, жеткиликтүү болот.
Мисал:
@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
}