Sobes.tech
Junior — Middle

Чӣ гуна метавон ба базаи додаҳо бо истифода аз Room дар Android дастрасӣ пайдо кард?

sobes.tech AI

Ҷавоб аз AI

Барои дастрасӣ ба базаи додаҳо бо истифода аз Room дар Android, чанд қадам бояд иҷро шаванд:

  1. Таъриф кардани объектҳо (Entity) — синфҳое, ки ҷадвалҳои базаи додаҳоро тавсиф мекунанд.
  2. Эҷод кардани DAO (Data Access Object) — интерфейс бо методҳо барои дастрасӣ ба маълумот (восит кардан, навсозӣ, пурсишҳо).
  3. Эҷод кардани базаи додаҳо (Database) — синфи абстрактӣ, ки аз RoomDatabase мерос мегирад, ки объектҳо ва DAO-ро пайваст мекунад.

Масалан:

@Entity
data class User(
    @PrimaryKey val id: Int,
    val name: String
)

@Dao
interface UserDao {
    @Query("SELECT * FROM User WHERE id = :userId")
    fun getUserById(userId: Int): User

    @Insert
    fun insertUser(user: User)
}

@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
    abstract fun userDao(): UserDao
}

// Истифода
val db = Room.databaseBuilder(
    context,
    AppDatabase::class.java, "database-name"
).build()

val userDao = db.userDao()
val user = userDao.getUserById(1)

Бо ҳамин тариқ, тавассути DAO, шумо метавонед пурсишҳоро ба базаи додаҳо иҷро кунед, ва Room коди заруриро автоматӣ мебарорад.