Xona ma'lumotlar bazasidan foydalanish Nazariy qismi
Download 0.71 Mb.
|
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
// 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: |
ma'muriyatiga murojaat qiling