Muhammad al-xorazmiy nomidagi tоshkent axbоrоt texnоlоgiyalari universiteti


Download 277.87 Kb.
bet5/9
Sana27.10.2023
Hajmi277.87 Kb.
#1726009
1   2   3   4   5   6   7   8   9
4. Masalaning qo’yilishi
JavaFX Java platformasida o'zaro faoliyat platformalardagi grafik ilovalarni yaratish uchun asboblar to'plamini taqdim etadi. JavaFX ilovalari apparat grafikasi va GPU imkoniyatlaridan foydalanganligi sababli boy rangli grafikali ilovalarni yaratishga imkon beradi.
JavaFXdan foydalanib, turli xil operatsion tizimlar uchun dasturlarni yaratishingiz mumkin: Windows, MacOS, Linux va turli xil qurilmalar uchun: ish stoli, smartfon, planshet, televizorlar. JavaFX, Swing bilan taqqoslaganda, ayniqsa, bir qator boshqa shunga o'xshash platformalar bilan solishtirganda katta imkoniyatlar yaratadi. Bu multimedia, ikki o'lchamli va uch o'lchamli grafikalar bilan ishlaydigan keng nazorat vositasi va FXML markirovkalash tilini ishlatish interfeysini deklaratsiya qilish usullari, CSS bilan interfeysni sozlash qobiliyati, Swing bilan integratsiya qilish va boshqa ko'p imkoniyatlarga ega.
Java FXni o’rganish uchun mobil ilova ishlab chiqish masalasi qo‘yildi.
Ushbu masalani yechish uchun quyidagi vazifalarni amalga oshirildi lozim:

  • O‘zbekistonda ishlab chiqilgan mobil ilovalar tahlilini o‘rganib chiqish;

  • mobil ilovasini yaratishda android platformasining komponentalarini o‘rganib chiqish;

  • mobil ilovaning strukturasini ishlab chiqish;

  • mobil ilovaning umumiy funksiyanal tuzilmasi va uning interfeyslari tasnifini keltirish;

  • mobil ilovasini qurilmalarda ishlatish uchun foydalanuvchi yo‘riqnomasini ishlab chiqish.





5. Mobil ilova ma’lumotlar bazasini ishlab chiqish
SQLite Oracle, MySQL, PostgreSQL va SQL Server kabi o'xshash ma'lumotlar bazasini boshqarish tizimi. Bu SQL standartining aksariyat qismini amalga oshiradi, lekin yuqorida ko'rsatilgan to'rtta DBMSdan farqli o'laroq, u mijoz-server modelini qo'llab-quvvatlamaydi. Aksincha, u yakuniy dasturga kiritilgan. Bu SQLite ma'lumotlar bazasini dastur bilan bog'lash va ilovangizdagi barcha ma'lumotlar bazasi imkoniyatlariga kirishingiz mumkin degan ma'noni anglatadi.
Ushbu DBMS Android va iOS bilan ham mos keladi va har bir dastur SQLite ma'lumotlar bazasini yaratishi va ishlatishi mumkin. Androidda kontaktlar va ommaviy axborot saqlanadi va SQLite ma'lumotlar bazasiga ulanadi. Bu dunyodagi eng keng tarqalgan ishlatiladigan DBMS va eng keng tarqalgan dastur hisoblanadi. SQLite ma'lumotlar bazalari haqida ko'proq ma'lumot olish uchun rasmiy SQLite veb-saytiga tashrif buyuring.
Ilovada ma'lumotlar ulashni faollashtirish uchun build.gradle fayliga quyidagi kodni kiriting:
dataBinding.enabled = rost
Ro'yxatlarni ko'rsatish uchun ikkita RecyclerView va CardView dan foydalanish uchun build.gradle faylining bog'liqliklar bo'limiga tegishli kutubxonalarni kiritishingiz kerak:
SQLite ma'lumotlar bazasining barcha xususiyatlaridan foydalanish uchun SQL sintaksisini o'rganish yaxshiroqdir.
Android SQLite misolida biz ikki jadval yaratamiz: Ish beruvchi va Xodim. Xodimlarning jadvalida Ish beruvchilar jadvalining chet el kalitiga havola keltirilgan. Jadvallardagi qatorlarni kiritish, tanlash, yangilash va o'chirishga qanday qarashimiz mumkin. Shuningdek, RecyclerView (ro'yxat) va Spinner-da SQLite ma'lumotlar bazasidan tanlangan narsalarni ko'rsatishni namoyish qilaman.
Bizda Ish beruvchining faoliyati (Ish beruvchining jadvali bilan ishlash uchun) yoki EmployeeActivity (Ishchi jadvali bilan ishlash uchun) ga o'tishingiz mumkin bo'lgan MainActivity bor:

5-rasm. SQLite ma'lumotlar bazasi saqlash sinflari
Sinflar ma'lumotlar bazasida qanday ma'lumot saqlanganligini aniqlaydi. SQLite beshta saqlash sinfidan foydalanib qadriyatlarni saqlaydi:
• NULL - nol qiymat;
• INTEGER - 1 dan 8 baytgacha bo'lgan integrallar uchun;
• REAL - suzuvchi nuqtali raqamlar;
• matn - ma'lumotlar bazasini kodlash (UTF-8 yoki UTF-16) yordamida saqlangan matn satrlari;
• BLOB - ikkilik ma'lumotlar to'liq kiritilganidek saqlanadi.
SQLite ma'lumotlar bazasi mahalliy ekanligi sababli, ilovaning jadvallarni yaratib, kerak bo'lganda ularni tushirishi kerak.
Ish beruvchining jadvalini yaratishda Android SQLite so'rovi bilan boshlang va keyin Ish beruvchining faoliyati bo'limiga o'ting.
Sinfda x-SQLite bazasini yaratish mantig'ini joylashtirish tavsiya etiladi. Bu muammolarni bartaraf etishga yordam beradi. SampleDBContract klassamizga murojaat qilamiz:
Biz SampleDBContract uchun maxsus konstruktorni aniqlaymiz va keyin Ish beruvchining jadvalini ifodalash uchun sinf yaratamiz. Ish beruvchining klassi BaseColumns interfeysini amalga oshirayotganini unutmang. Stolimizdagi ikkita ustunni taqdim etadi. Bu har bir yangi qator qo'shilganda avtomatik ravishda ko'paytiriladigan _ID ustunidir. ContentProviders, so'rov orqali olingan yozuvlar sonini qaytarish uchun foydalanadigan _COUNT ustun. _COUNT ustun ixtiyoriy. CREATE_TABLE simvoni quyidagi SQL iborasiga kiritiladi:
CREATE TABLE agar ish beruvchini topa olmasa (_id INTEGER PRIMARY KEY AUTOINCREMENT, TEXT METHE, tushuntirish bulsin, sana INTEGER)
Android SQLite misolida biz Ish beruvchilar jadvalining sxemasini aniqladik.
SQLiteOpenHelper yordamida ma'lumotlar bazasini yaratish
Ma'lumotlar bazasini yaratish va tahrirlashni boshqarishning eng oson yo'li SQLiteOpenHelperning bir kichik sinfini yaratishdir. U mavjud bo'lmagan ma'lumotlar bazasini yaratib, SQLite bazasi boshqaruvini soddalashtiradi. Ma'lumotlar bazasini yaratishda yoki yangilashda kerakli ishni ko'rsatish uchun onCreate () va onUpgrade () usullarini faqat bekor qilishingiz kerak:
Keling, misolimizda, SQLite ma'lumotlar bazasi SQLite, biz SQLite ma'lumotlar bazasi (sample_database) uchun nom qo'yamiz. Konstruktor yuqori sinf ishlab chiqaruvchisini ma'lumotlar bazasining nomi va versiyasi bilan chaqiradi. OnCreate da SQLiteDatabase ob'ektini Ish beruvchi CREATE_TABLE SQL bayonnomasini bajarish uchun aytamiz. Upgrade orqali biz Ish beruvchilar jadvalini qayta tiklab, yana yaratamiz:
Ish beruvchining jadvalida uchta ustun bor: nom, tavsif va belgilangan_dat. Save (saqlash) tugmasini bosish saveToDB () usulini chaqiradi:
SaveToDB () da SQLiteDatabase ob'ektiga SQLiteOpenHelper-dan getWritableDatabase () usuli yordamida murojaat qilamiz. Ushbu usul mavjud bo'lmasa ma'lumotlar bazasini yaratadi yoki agar u allaqachon yaratilgan bo'lsa, uni ochadi. GetWritableDatabase o'qish / yozishni ta'minlovchi SQLiteDatabase ob'ektini qaytaradi:
Yuqoridagi kod parchasida to'rtta nuqta bor:
Biz ma'lumotlar bazasiga yozish uchun kirishni ochadigan SQLiteDatabase ob'ektini olamiz;
2. Ma'lumotlar bazasida saqlanadigan qiymatlar ContentValue ob'ektiga ustun nomi bilan kalit sifatida kiritiladi;
3. Biz "Date" da "Android" ning SQLite INTEGER ma'lumotlar saqlash klassiga tarjima qilingan ContentValue obyektiga joylashtiramiz;
4. Database.insert () usuli yordamida ma'lumotlar bazasiga mag'lubiyatni kiritishda satr identifikatori qaytariladi .
SQLite ma'lumotlar bazasidan ma'lumotlarni tanlash
GetWritableDatabase () usulini ishlatganimizdek, SQLiteOpenHelper ob'ektining getReadableDatabase () ni ma'lumotlar bazasidan ma'lumotlarni o'qish uchun foydalanishingiz mumkin bo'lgan SQLiteDatabase ob'ektini olish uchun chaqirishingiz mumkin. GetReadableDatabase () yordamida qaytib kelgan SQLiteDatabase obyekti ba'zi bir cheklovlar mavjud bo'lmaguncha, getWritableDatabase () funktsiyasi tomonidan qaytarilgan ma'lumotlar bazasiga o'qish / yozishni ta'minlaydi. Masalan, joylashtirilgan ma'lumotlar bazasini o'z ichiga olgan fayl tizimi va ma'lumotlar bazasi faqat o'qish uchun ochiq bo'lishi mumkin.
ReadFromDB usuli ma'lumotlar bazasini so'rov va Buyner jadvalidagi ism yoki tavsifning EditText-ga kiritilgan qiymat bilan mos keladigan Buyurtmachi jadvalidagi barcha satrlarni qaytaradi. Shuningdek, kompaniyani tashkil qilish sanasi EditText-ga kiritilgan qiymatga mos keladigan qatorlar:
Yuqoridagi Android SQLite so'rovlar kodida proektsiyani qabul qilmoqchi bo'lgan ustunlarni ifodalovchi qatorlar qatori. Selektsiya SQL WHERE punktining mag'lubiyatga ifodalanishi bo'lib, uni formatlash uchun '' belgisi argumentlar bilan o'zgartiriladi, natijada selectionArgs String array. So'rov natijalarini guruhlash, filtrlash va tartiblashingiz mumkin. Ma'lumotlar SQLite ma'lumotlar bazasiga yuqorida bayon qilingan usuli yordamida kiritish SQL inyeksionlaridan himoya qiladi.
Cursor - so'rov tomonidan qaytarilgan ob'ektga e'tibor bering. Keyingi qismda RecyclerView yordamida kursorning mazmunini qanday aks ettirishimiz kerakligini ko'rsatamiz.
Cursor obyektining tarkibini RecyclerView-da ko'rsatish
Kursor ma'lumotlar bazasi so'rovi bilan qaytarilgan natijalar majmuasiga tasodifiy kirishni ta'minlaydi. Bu kursor orqali Java-lar yoki qatorlar kabi biron-bir joyga qadriyatlarga kirishingiz mumkinligini anglatadi. Ushbu uskuna yordamida, RecyclerViewni Cursor yordamida amalga oshirishingiz mumkin, xuddi ArrayLists yordamida RecyclerViewni qo'llaymiz. List.get (i) ni chaqirishning o'rniga, moveToPosition () yordamida kursorni kerakli joyga ko'chiring. Shundan so'ng, mos keladigan getXXX usulini (int columnIndex) chaqiring, bu erda XXX Blob, Ikkilik, Float, Int, Uzoq, Qisqa yoki Satr.
Yuqorida ko'rsatilgan readFromDB () uslubidan to'g'ri ustunli indekslar haqida xavotirlanmaslik uchun, belgilangan ustunli indeksni oladi yoki Cursor obyekti ichida ustun nomi bo'lmasa, istisno qo'yadigan getColumnIndexOrThrow () usulidan foydalanamiz:
Chet tugmachalarini belgilash
Bizning Android SQLite misolida ushbu satrlarda to'ldirilgan Buyner jadvalini yaratdik. Endi Employee jadvalini yarating, u ish beruvchi jadvaliga _ID Ish beruvchining ustuni orqali bog'lanadi. BaseColumns ni SampleDBContract sinfida kengaytiradigan Employee classni aniqlaymiz. Xodimlar jadvalini yaratishda "FOREIGN KEY (employer_id) REFERENCES ish beruvchi (_id)" ishlatilganligini unutmang:
Android Studio SQLite-da ushbu nuqtada yaratilgan Buyner jadvali va unga qo'shilgan qiymatlar bo'lishi kerak. Ma'lumotlar bazasi versiyasini o'zgartirmagan bo'lsangiz, yangi xodimlar jadvali yaratilmaydi. Afsuski, agar siz versiyani onUpgrade () uslubiga qayta chaqirsangiz o'zgartirsangiz, Ish beruvchining jadvali tiklanadi. Buni oldini olish uchun onUpgrade () uslubida ochiladigan so'zni izohlashingiz yoki o'chirib tashlashingiz va Employee jadvalini yaratish uchun execSQL () iborasini qo'shishingiz mumkin. Xodimlarning jadvalida Buyner jadvaliga ishora qilinganligi sababli, oldin Ish beruvchining jadvalini yaratishingiz kerak:




Download 277.87 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




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