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
}