Настоящему моменту историческое развитие информатизации образования в России и в зарубежных странах можно характеризовать как


Mobil uchun talabalarning ogohlantirish tizimini dasturini yaratish


Download 235.08 Kb.
bet7/13
Sana17.06.2023
Hajmi235.08 Kb.
#1544334
1   2   3   4   5   6   7   8   9   10   ...   13
Bog'liq
talabalarni davom etayotgan voqealar haqida habardor qiluvchi axborot tizimini ishlab chiqish

2.2 Mobil uchun talabalarning ogohlantirish tizimini dasturini yaratish.
Mobil ilovalar yordamida avtomatik ravishda ogohlantirishlarni yuborishingiz mumkin. Bugungi kunga kelib, eng mashhurlari Android operatsion tizimi ostidagi mobil ilovalardir.
Keling, Nijniy Tagil davlat ijtimoiy-pedagogika instituti saytidan RSS tasmasini oladigan dastur yarataylik. Dasturlash uchun biz AndroidStudio ishlab chiqish muhitidan foydalanamiz. File-> New-> New Project tanlaymiz (1-rasm).



Rasm. 1. Yangi loyiha

Ochilgan muloqot oynasida loyiha nomi sifatida RSSFeed ni kiriting, Next tugmasini bosing (2-rasm).

Rasm. 2. Yangi loyiha
Keyingi oynada bizdan maqsadli platformani tanlash taklif etiladi. Android 4.1 ni tanlang, qolgan standart sozlamalarni qoldirib, Next tugmasini bosing, Next va yana Finish ni bosing.
Keling, RSSFeed.java java sinfini yarataylik. Esda tutingki, biz yaratgan va Activityni meros qilib olgan sinf aslida foydalanuvchining vizual interfeysi - oynadir (3-rasm).

Rasm-3. Sinf yaratish RSSFeed.java


Ushbu bosqichda bizning loyihamiz uchta fayldan iborat: RSSFeed.java, u RSSFeed sinfi uchun manba kodini o'z ichiga oladi; dizayn ma'lumotlarini o'z ichiga olgan res/layout/activity_main.xml belgilash fayli foydalanuvchi interfeysi va Android UI komponentlari; asosiy loyiha parametrlarini (paket nomi, dastur boshlanganda ishga tushirilgan faoliyat (Faoliyat klassi), dastur komponentlari, jarayonlar, ruxsatlar, minimal talab qilinadigan API darajasi) saqlaydigan AndroidManifest.xml manifest fayli.
Birinchidan, keling, kelajakdagi ilovamiz interfeysini o'rnatamiz. Loyiha daraxtidagi res/layout/activity_main.xml faylini ikki marta bosamiz. Android Studio ning markaziy qismida vizual muharrir ochiladi. Mening holimda, oynada allaqachon vertikal yo'nalishga ega bo'lgan LinearLayout komponenti mavjud. Tahrirlash oynasi ostida vizual muharrirdan xml fayl muharririga o'tish imkonini beruvchi Design va Text yorliqlari mavjud (4-rasm).

Rasm. 4. Belgilash fayli activity_main.xml.
Activity_main.xml belgilash faylining dastur kodi 5-rasmda ko'rsatilgan.




Rasm-5. activity_main.xml belgilash fayl kodi
AndroidManifest.xml-ni sozlash. Biz RSS tasmasini uzoq serverdan olamiz, shuning uchun ilova tegishli ruxsatlarga ega bo'lishi kerak. Loyiha daraxtidagi AndroidManifest.xml faylini bosing, Ruxsatlar yorlig'iga o'ting, Qo'shish tugmasini bosing, Ruxsatdan foydalanishni tanlang, OK tugmasini bosing. Ism maydoniga android.permission. INTERNET kiriting. Ushbu harakatlar natijasida AndroidManifest.xml faylida qator paydo bo'ladi:
name="android.permission.INTERNET"/>
Shundan so'ng, dastur rozetkalar bilan ishlashi va tarmoqdan ma'lumot olishi mumkin. AndroidManifest.xml fayli 6- rasmdagi kabi ko'rinishi kerak.

Rasm-6. AndroidManifest.xml fayl kodi
RSS tasmasi shaklida ogohlantirishni tashkil qilish uchun siz 7-rasmda ko'rsatilgan bir nechta sinflarni import qilishingiz kerak.



Rasm-7. Import sinflari.
RSSFeed sinfida biz onCreate usuli sarlavhasidan oldin RSS tasmasi yuklanadigan satr o'zgaruvchisini aniqlaymiz.
rssResult = "";
Ikkinchi TextView elementi bilan bog'langan ushbu usulning oxiriga rss o'zgaruvchisini qo'shing. Ushbu o'zgaruvchi bilan biz ma'lumotni ekranda ko'rsatamiz.
TextView rss = (TextView) findViewById(R.id.rss);
Internetdan RSS tasmasini yuklab oling, buning uchun biz URL sinfidan foydalanamiz, uning konstruktorida tasma bilan fayl manzilini ko'rsatamiz, masalan https://www.ntspi.ru/about_academy/academy_news/rss/
O'qish paytida kirish/chiqarish xatosi paydo bo'lishi mumkin, shuning uchun Java bunday potentsial xavfli buyruqlarni try/catch blokiga joylashtirishni talab qiladi.

Rasm-8. Kod blok try/catch
Dasturiy ta'minot ilovasi to'g'ri ishlashi uchun qo'shimcha kutubxonalar kiritilishi kerak: android.widget.TextView/ java.net.URL /java.io.IOException.
Keyinchalik, biz statik newInstance usulidan foydalandik va SAXParserFactory obektini yaratdik.

Rasm-9. SAXParserFactory obyekt kodi


Shunday qilib, URL ob'ektidan foydalanib, biz masofaviy sahifa bilan aloqa o'rnatdik va ma'lumotlar oqimini o'qishni tashkil qilish uchun biz InputSource ob'ektini yaratdik va openStream () usuli yordamida o'qish uchun ma'lumotlar oqimini ochdik:
InputSourceinputSource = newInputSource(rssUrl.openStream());
Biz ma'lumotlarni tahlil qilish uchun shu tarzda yaratilgan ob'ektni XMLReader ga o'tkazamiz
xmlReader.parse(inputSource);

Ushbu buyruqdan so'ng RSS tasmasi fayl fayli o'qiladi va tahlil qilinadi, bunda rssResult qatori RSSHandler klassi usullari ichidagi ma'lumotlar bilan to'ldiriladi. Bizga faqat shu qatordagi matnni ekrandagi TextView-ga o'tkazish qoladi.
AsyncTask klassi sizga alohida ish zarrachasida fon operatsiyalarini bajarishga va ushbu operatsiyalar natijalarini UI ipiga nashr etishga imkon beradi.
Asinxron vazifa bajarilganda u 4 bosqichdan o'tadi:
1. OnPreExecute(), vazifani bajarishni boshlashdan oldin UI ipida chaqiriladi.
2. DoInBackground(Params...), onPreExecute() bajarilgandan so'ng darhol vazifaning fon oqimida chaqiriladi.
3. OnProgressUpdate(Progress...), publishProgress(Progress...) chaqirilgandan so'ng UI oqimida chaqirildi. Ushbu usul foydalanuvchi interfeysida istalgan shaklning borishini ko'rsatish uchun ishlatiladi.
4. OnPostExecute(Result), fon hisob-kitoblari tugallangandan so'ng, UI ipida chaqiriladi. Fonni hisoblash natijasi parametr sifatida ushbu bosqichga o'tkaziladi.
Shunday qilib, ish natijasida biz o'chirilgan faylni o'qib chiqdik, uni tahlil qildik, bunda biz rssResult qatorini shakllantirdik va keyin TextView yordamida ushbu satrni ekranda ko'rsatdik.
Firebase xizmati Asboblar menyusida mavjud. Biz dasturimizga qo'shish uchun mavjud bo'lgan barcha vositalarni ochamiz va ko'ramiz. Biz uni ro'yxatda tanlaymiz. Loyihada xizmatni amalga oshirish bosqichlari ro'yxati bilan menyu ochiladi (10-rasm).

Rasm-10. Menu Notification


Birinchi qadam ilovani Firebase-ga ulashdir. Keyin bildirishnomalar kutubxonalari ilovaga ulanadi.
Keyingi bosqichda biz dastur allaqachon fonda bildirishnomalarni qabul qilish uchun sozlanganligi haqidagi ma'lumotni ko'rishimiz mumkin.
Mobil ilovaning to'g'ri ishlayotganligini tekshirish uchun siz Firebase konsoliga o'tishingiz va bildirishnoma yuborishingiz kerak.



Rasm-11. Firebase konsoli
Bu yerda siz yangi xabar yaratishingiz mumkin. Uning matnini kiriting. Sarlavhani kiritishingiz mumkin, lekin bu ixtiyoriy, u qurilmada ko'rsatilmaydi (12-rasm).

Rasm-12. Xabar yuborish menyusi


Xabarni yetkazib berish sanasini belgilang - uni hozir yuborishingiz yoki uni bir oygacha rejalashtirishingiz mumkin. Maqsadni belgilang - bildirishnomani o'rnatilgan ilovasi bo'lgan barcha qurilmalarga yoki faqat ma'lum qurilmalarga token asosida yuborishingiz mumkin.
FirebaseMessagingService sinfidan meros bo'lib qolgan dasturda shunday xizmat sinfini yarataylik (12-rasm).

Rasm-13. FirebaseMessagingService sinfining tavsifi.


OnMessageReceived usuli serverdan xabar qabul qilinganda va RemoteMessage sinfining ob'ektini kirish sifatida qabul qilganda bajariladi, u qabul qiluvchilar orqali mavjud bo'lgan xabar haqidagi barcha ma'lumotlarni saqlaydi. Mana bu sinfdagi barcha maydonlar. Bunday holda, biz faqat bildirishnoma matnini o'z ichiga olgan Notification getBody ichki sinf usuliga qiziqamiz. Biz uni sendNotification usuliga o'tkazamiz, unda biz qurilmada ko'rsatiladigan bildirishnoma yaratamiz. Bu erda biz bildirishnoma bosilganda amalga oshiriladigan niyatni yaratamiz. Bunday holda, biz asosiy faoliyatni ochamiz, lekin siz bu erda har qanday boshqa faoliyatning ochilishini yoki boshqa harakatni, masalan, tashqi havoladan keyin ro'yxatdan o'tishingiz mumkin. NotificationBuilder bildirishnoma yaratish uchun javobgardir, u bildirishnomalar panelida ko'rsatiladigan kichik belgini, ochiq bildirishnoma uchun katta belgini, bildirishnoma sarlavhasini, xabarnoma matnini o'rnatadi.
- biz uni onMesageReceived usulida o'tkazamiz, keyin setAutoCancel usuli bilan biz teginish paytida bildirishnomani yo'q qilishni o'rnatamiz va setSound usuli bilan biz bildirishnoma uchun signalni o'rnatamiz. Biz buni RingtoneManager sinfidan signal turini ko'rsatuvchi bayroq bilan olamiz. Bu bildirishnoma bo'lishi mumkin - bildirishnoma signali, signal - signal signali, rington - qo'ng'iroq signali. Lekin foydalanuvchilarning sabr-toqatini suiiste'mol qilmaslik va standart bildirishnoma ovozini qoldirmaslik yoki umuman ovoz yo'qligi yaxshiroqdir. Bildirishnoma yaratildi, endi biz uni yuborish uchun NotificationManager-dan foydalanamiz - bu barcha bildirishnomalarni boshqaradigan Android tizimi xizmati. NotificationManager namunasi getSystemService() usulini chaqirish orqali yaratiladi va keyin bildirishnoma foydalanuvchiga ko'rsatilishi kerak bo'lganda, usul chaqiriladi.

notify() , biz identifikatorni (bu holda, u ishlatilmaydi va 0 ga teng) va yaratilgan bildirishnomani o'tkazamiz.
Xizmatning ishlashini tekshirishdan oldin uni manifestda ro'yxatdan o'tkazishingiz kerak (14-rasm).

Rasm-14. Manifestdagi xizmat tavsifi


Endi biz qurilmada ilovani ishga tushiramiz va sinov bildirishnomasini yaratish va yuborish uchun Firebase konsoliga o'tamiz. Ilova faol bo'lganda ham bildirishnoma qurilmaga keladi.
Mobil ilova AndroidOS 4.1 va undan yuqori versiyalarida ishlaydigan smartfonlar uchun ishlab chiqilgan.
Ilovani ishga tushirgandan so'ng, asosiy oyna ochiladi, unda yangiliklar tasmasini yuklab olish uchun boshlash tugmasi mavjud (15-rasm).



Rasm-15. Asosiy dastur oynasi


Boshlash tugmachasini bosgandan so'ng, Nijniy Tagil ijtimoiy-pedagogika instituti saytining yangiliklar tasmasi (RSS tasmasi) bilan quyidagi dastur oynasi ochiladi (16-rasm).

Rasm-16. RSS lenta NTGSPI
O'qish uchun yangiliklarga o'tish quyidagicha taqdim etiladi. Biz e'lon qilingan sanani, aniq vaqtgacha, shuningdek, xabarning o'zi matnini ko'rishimiz mumkin (17-rasm).



Rasm-17. Yangiliklarni o'qish uchun o'ting
Firebase xizmatidan foydalanib, sinovdan o'tgan smartfonlar tomonidan qabul qilingan sinov xabarnomasi yuborildi. Bildirishnomalar xatosiz ishlaydi (18-rasm).
Rasm-18. Sinov xabarnomasi


Sinov qilingan smartfonlar:
- Sony Xperia XA - versiyasi OS Android 7.0;
- Sony Xperia XA1 - Android 7.0 OS versiyasi;
-Samsung Galaxy J2 Prime – OS Android 6.0 versiyasi;
- Huawei Honor 5A - OS Android 5.1 versiyasi;
- Lenovo A2010-a - OT versiyasi Android 5.1
Ishlab chiqilgan tizim universitet talabalarini muhim voqealar haqida xabardor qilish uchun ishlatilishi mumkin. Android OS uchun universitet talabalari xabarnomasi mobil ilovasi Android Studio integratsiyalashgan ishlab chiqish muhitida XML va Java texnologiyalaridan foydalangan holda ishlab chiqilgan.








Xulosa
Kompyuter axborot tizimi — axborotni qayta ishlovchi yoki sharhlovchi odamlar va kompyuterlardan tashkil topgan tizim. Bu atama baʼzan oddiygina dasturiy taʼminot oʻrnatilgan kompyuter tizimiga murojaat qilish uchun ham ishlatiladi.
Dasturlash texnologiyasi bir joyda turmaydi va IT texnologiyalari sohasidagi yangi ehtiyojlarni qondirish uchun doimo rivojlanib boradi. Dasturlash tillariga ikkita asosiy talab qo'yiladi: ularning muayyan faoliyat sohasining odatiy professional tiliga yaqinligi va amalga oshirish qulayligi. Qarama-qarshi talablar yangi yaratishning uzluksiz jarayonini rag'batlantiradi tillar va mavjudlarini takomillashtirish.
Dart — Google tomonidan ishlab chiqilgan veb-dasturlash tili.
JavaScript singari, Dart ham shunga o'xshash sintaksis va kalit so'zlardan foydalanadi
C tilida ishlatiladi.Biroq, bir muhim farq shundaki, while
JavaScript prototiplarga asoslanadi, Dart-dagi ob'ektlar C++ yoki Java kabi sinflar va interfeyslar yordamida aniqlanadi.
Dasturiy ta'minot ilovasi to'g'ri ishlashi uchun qo'shimcha kutubxonalar kiritilishi kerak: android.widget.TextView/ java.net.URL /java.io.IOException.
Keyinchalik, biz statik newInstance usulidan foydalandik va SAXParserFactory ob'ektini yaratdik.

Download 235.08 Kb.

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




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