Sobes.tech
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
}