Xona ma'lumotlar bazasidan foydalanish Nazariy qismi


Download 0.71 Mb.
bet1/2
Sana18.06.2023
Hajmi0.71 Mb.
#1592244
  1   2
Bog'liq
Sanjarbek Nabiyev


Xona ma'lumotlar bazasidan foydalanish

Nazariy qismi:


Xona maʼlumotlar bazasidan foydalanish uchun quyidagi umumiy amallarni bajarishingiz kerak boʻladi:

1. Bog'liqlarni o'rnating: Loyihangizning build.gradle fayliga kerakli bog'liqliklarni qo'shing. Xona kutubxonasini qo'shganingizga ishonch hosil qiling.


2. Ob'ektlarni aniqlang: ob'ektlar sifatida tanilgan ma'lumotlar bazasi jadvallarini ifodalovchi Java/Kotlin sinflarini yarating. Ushbu sinflarni `@Entity` izohi bilan izohlang va kerak bo'lganda asosiy kalitlar, indekslar va munosabatlarni belgilang.
3. Ma’lumotlar bazasini aniqlang: “RoomDatabase”ni kengaytiruvchi mavhum sinf yarating. Ob'ektlar ro'yxatini va ma'lumotlar bazasi versiyasini ko'rsatib, `@Ma'lumotlar bazasi` izohi bilan ushbu sinfga izoh bering. Ushbu sinf ma'lumotlar bazasiga asosiy kirish nuqtasi bo'lib xizmat qiladi.
4. Ma'lumotlarga kirish ob'ektlarini (DAO) aniqlang: Siz bajarmoqchi bo'lgan ma'lumotlar bazasi operatsiyalarini belgilaydigan interfeyslarni yoki mavhum sinflarni yarating. Ushbu sinflarni `@Dao` izohi bilan izohlang va ma'lumotlarni kiritish, yangilash, o'chirish va so'rov qilish usullarini belgilang.
5. Ma'lumotlar bazasi namunasini yarating: Xotiradagi ma'lumotlar bazasini istasangiz, "Room.databaseBuilder()" usuli yoki "Room.inMemoryDatabaseBuilder()" yordamida Xona ma'lumotlar bazasining namunasini oling. Ma'lumotlar bazasi sinfini, kontekstni va zarur bo'lgan boshqa konfiguratsiyalarni belgilang.
6. Ma'lumotlar bazasiga kirish: Ma'lumotlar bazasi operatsiyalarini bajarish uchun ma'lumotlarga kirish ob'ektlaridan (DAO) foydalaning. Yaratilgan ma'lumotlar bazasi sinfi orqali DAO nusxasini oling va ma'lumotlarni kiritish, yangilash, o'chirish yoki so'rash uchun tegishli usullarni chaqiring.
Sizga fikr berish uchun asosiy misol:

// Step 2: Define the entity


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

// Step 3: Define the database


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

// Step 4: Define the DAO


@Dao
interface UserDao {
@Query("SELECT * FROM user")
fun getAllUsers(): List

@Insert
fun insertUser(user: User)

// Add other operations as needed
}

// Step 5: Create an instance of the database


val database = Room.databaseBuilder(context, MyDatabase::class.java, "my-database").build()

// Step 6: Access the database


val userDao = database.userDao()
val users = userDao.getAllUsers()

Ma'lumotlar bazasi operatsiyalarini alohida ish zarrachasida boshqarishni yoki asosiy oqimni blokirovka qilishni oldini olish uchun asinxron operatsiyalar uchun coroutines/RxJava-dan foydalanishni unutmang.

Bu Xona ma'lumotlar bazasidan foydalanishning oddiy ko'rinishi. Qo'shimcha ma'lumot va ilg'or foydalanish uchun rasmiy hujjatlarga murojaat qilishingiz mumkin: https://developer.android.com/training/data-storage/room


Download 0.71 Mb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling