13-laboratoriya mashg'uloti: Room ma’lumotlar bazasidan foydalanish. Ishdan maqsad



Yüklə 15,44 Kb.
Pdf görüntüsü
tarix22.03.2024
ölçüsü15,44 Kb.
#182742
13-laboratoriya mashg\'uloti Room ma’lumotlar bazasidan foydalan



13-laboratoriya mashg'uloti: Room ma’lumotlar bazasidan 
foydalanish. 
Ishdan maqsad
: Android tizimida foydalanuvchi interfeysini yaratishda 
ROOM ma’lumotlar bazasidan foydalanish, loyihaga mos ma’lumotlar bazasi, 
jadvallar va sо‘rovlar yaratish kо‘nikmalariga ega bо‘lish
Masalaning qо‘yilishi
: Talabalar berilgan loyihani Android tizimida ishlab 
chiqish va ilova uchun kerakli bо‘lgan ma’lumotlarni ma’lumotlar bazasidan о‘qib 
olishi va emulator orqali natija olishi lozim. 
Ishni bajarish tartibi 
ROOM – bu yil Google I/O da taqdim etilgan Android ilovasida ilova 
maʼlumotlarini saqlashning yangi usuli. Bu ilovalar uchun mos arxitekturani qo'llab-
quvvatlaydigan 
Google 
kutubxonalari 
guruhi 
bo'lgan 
yangi 
Android 
Arxitekturasining bir qismidir. Xona Realm, ORMLite, GreenDao va boshqalarga 
muqobil sifatida taklif etiladi. 
ROOM - bu Android-ga o'rnatilgan past darajadagi SQLite ulanishlari uchun 
yuqori darajadagi interfeys bo'lib, bu haqda hujjatlarda ko'proq bilib olishingiz 
mumkin. U o'z ishining ko'p qismini kompilyatsiya vaqtida bajaradi, APIni mahalliy 
SQLite API ustiga quradi, shuning uchun Kursor yoki ContentResolver bilan 
ishlashingiz shart emas. 
Room dan foydalanish 
Birinchidan, loyihangizga Room qo'shing. Shundan so'ng siz ma'lumotlaringiz 
qanday ko'rinishini Roomga o'tishingiz kerak bo'ladi. Sizda shunday ko'rinadigan 
oddiy model sinfingiz bor deylik: 
Roomga Person sinfi haqida xabar berish uchun roomga Entity izohini va 
kalitga @PrimaryKey qo'shing: 


Ushbu ikkita izoh yordamida Room endi Person misollarini saqlash uchun 
jadval yaratishni biladi. 
Modellaringizni o'rnatishda e'tiborga olish kerak bo'lgan muhim narsa: 
ma'lumotlar bazasida saqlanadigan har bir maydon ommaviy bo'lishi yoki standart 
Java Beans uslubida qabul qiluvchi va sozlagichga ega bo'lishi kerak (masalan, 
getName () va setName (string nomi)). 
Person sinfida endi Room da jadvallar yaratish uchun zarur boʻlgan barcha 
maʼlumotlar mavjud, biroq sizda maʼlumotlar bazasidan maʼlumotlarni qoʻshish, 
soʻrash yoki oʻchirish imkoni yoʻq. Shuning uchun siz ma'lumotlarga kirish ob'ektini 
(DAO) qilishingiz kerak bo'ladi. DAO ma'lumotlar bazasida interfeysni ta'minlaydi 
va saqlangan Shaxs ma'lumotlarini manipulyatsiya qilish bilan shug'ullanadi. 
Mana Person sinfi uchun oddiy DAO: 


E'tibor berish kerak bo'lgan birinchi narsa PersonDao - bu sinf emas, balki 
interfeys. Yana bir qiziq tafsilot - Query () izohlaridagi SQL iboralari. SQL iboralari 
Xonaga ma'lumotlar bazasidan qanday ma'lumot olishingiz kerakligini aytadi. Ular 
kompilyatsiya vaqtida ham tekshiriladi. Shuning uchun, agar siz List 
getAllPeopleWithFavoriteColor 
(rang 
nomi) 
usuli 
imzosini 
List 
getAllPeopleWithFavoriteColor (int rang) ga o'zgartirsangiz, Xona kompilyatsiya 
vaqtida xatolikka yo'l qo'yadi: 
Va agar siz SQL bayonotida xatoga yo'l qo'ysangiz, masalan, favoriteColor 
(birlik) o'rniga favoriteColors (ko'plik) ni yozsangiz, Room kompilyatsiya xatosini 
ham chiqaradi. 
Labarotoriya ishlari uchun topshiriqlar. 
1
. a. 1, 2, 3,., N sm absissalariga ega bo'lgan y = ax2 + b parabolaning 
nuqtalarigacha bo'lgan boshlanishidan masofalar yig'indisini va bu n masofalarning 
arifmetik o'rtacha qiymatini toping. 
2. Agar ularning radiusi r, r + 0,2, r + 0,4, r + 0,6, ... ketma -ketlikni tashkil 
qilsa, n to'pning umumiy hajmini toping. Sharning o'rtacha hajmini toping. 
3. Balandligi h va taglik radiusi 0,32, 0,62, 0,92 va hokazo bo'lgan n 
konusning umumiy hajmini toping. Konusning o'rtacha hajmini toping. 
4. Balandligi h va taglik radiusi 0,32, 0,62, 0,92 va hokazo bo'lgan n 
konusning umumiy hajmini toping. Konusning o'rtacha hajmini toping. 

Yüklə 15,44 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə