Android studio-da virtual qurilmani tanlab ilk dasturni yaratish va sinovdan o'tkazish
Download 146.87 Kb.
|
2-deadline MObil iilovalarni ishlab chiqish
ANDROID STUDIO-DA Virtual qurilmani tanlab ilk dasturni yaratish va sinovdan o'tkazish. Android dasturlari hayotimizning bir qismiga aylandi. Biz ularni har kuni ishlatamiz: xaritalar, ijtimoiy tarmoqlar, tezkor xabarchilar, brauzerlar. Ammo har bir tajribali Android smartfon foydalanuvchisi hech bo'lmaganda bir marta o'z dasturini yaratishni o'ylagan. Bu juda qiyin degan stereotip mavjud va yuqori sifatli narsa yozish uchun dasturlashni uzoq vaqt o'rganishingiz kerak. Biroq, Google o'zining rivojlanish vositalarini doimiy ravishda takomillashtirib, ularni osonroq va qulayroq qiladi. Bugun biz eng oddiy Android dasturini yaratamiz va uni smartfonda ishga tushiramiz. Android dasturlari Java dasturlash tilida yozilgan. Endi Java-ga alternativa sifatida nisbatan yangi, sodda Kotlin tili ham targ'ib qilinmoqda (til Kronstadt shahri joylashgan orol nomi bilan atalgan). Bizning misolimiz Java-da bo'ladi. Birinchidan, biz kompyuteringizda JDK o'rnatilganligini tekshiramiz (Windows-da ishlaydi). Java Development Kit - bu Oracle tomonidan ishlab chiqilgan dasturlar to'plami. Usiz rivojlanish muhiti to'g'ri ishlay olmaydi. Buning uchun klaviaturada Win + R tugmachalarini bosing cmd kiriting va Enter tugmasini bosing. Buyruqning xohishi ochiladi. Keyin konsolda quyidagilarni yozishingiz kerak: java -versiya Ehtimol siz Java versiyasini ko'rasiz: Bu shuni anglatadiki, sizda allaqachon JDK o'rnatilgan. Aks holda, uni yuklab olishingiz kerak (150 MB). JDK-ni o'rnatgandan so'ng, Android OS uchun asosiy ishlab chiqish vositasi - Android Studio-ga o'tamiz. Siz uni shu yerdan yuklab olishingiz mumkin (944 MB). Android Studio - bu Google tomonidan ishlab chiqilgan bepul muhit. Bu dastur ishlab chiqish uchun juda katta yig'im-terim mashinasi, bu sinov uchun turli xil vositalarni, dasturlarni yaratishni, shuningdek shablonlarni, foydalanuvchilarga qulay tartib muharriri va boshqa ko'p narsalarni o'z ichiga oladi. Android Studio doimiy ravishda yangilanadi, shuningdek, uning ko'plab tarkibiy qismlari. Android Studio-ning nafaqat Windows uchun, balki Mac OS va Linux uchun ham versiyalari mavjud. Android Studio uchun tizim talablari: Windows 7/8/10, kamida 3 GB RAM, 8 GB RAM tavsiya etiladi, 4 GB qattiq disk maydoni. Shunday qilib, Android Studio o'rnatuvchisini yuklab oldingiz. Biz uni ishga tushiramiz. Bosing Next , o'rnatish uchun yo'lni tanlang. Sozlamalarni o'zgartirmaslik tavsiya etiladi. Keyin Android Studio-ni sozlash ustasi boshlanadi. Bu erda siz rivojlanish muhitining rang mavzusini tanlashingiz, qo'shimcha fayllarni yuklab olishingiz mumkin. Standart o'rnatish turini tanlang. Kerakli komponentlarni yuklab olgandan so'ng, sizdan o'zingizning loyihangizning turini tanlash talab qilinadi. Bo'sh faoliyat-ni tanlang va ni bosing Keyingi . Keyingi ekranda biz loyihaga nom beramiz va sizning arizangiz qaysi Android versiyasida ishlashini tanlaymiz. Tanlashning eng yaxshisi - Android 4.0.3 bilan - shuning uchun bizning dasturimiz maksimal miqdordagi qurilmalarda ishlaydi. Shuni ta'kidlash kerakki, Android Studio shunchalik ko'p qirrali bo'lib, u nafaqat smartfonlar uchun, balki aqlli soatlar va televizorlar uchun ham dasturlar yaratishga imkon beradi! Keyinchalik, biz Android Studio-ning asosiy oynasini ochamiz. Chap tomonda biz bir nechta bo'limlarni ko'ramiz. Bu bizning loyihamizning tuzilishi. Manifestlar papkasida dastur ma'lumotlari, import qilingan kutubxonalar, komponentlar va boshqa parametrlar uchun javobgar bo'lgan AndroidManifest.xml fayli mavjud. Java papkasida kodning o'zi mavjud (com.example.myapplication papkasidagi MainActivity fayli). Res papkasida dastur resurslari - tugmalar, interfeys dizaynini belgilaydigan fayllar mavjud (masalan, activity_main.xml). Aktivlik - bu foydalanuvchi o'zaro aloqada bo'lgan alohida ekran. Misollar: fotosurat bilan ekran, raqamni terish, matn kiritish. Bizda bitta Acitive (ekran) bo'ladi. Shuning uchun biz darhol ilova dasturi - src - main - res - layout bo'ylab o'tamiz va _ main fayl faoliyatini ochamiz . xml . Dizayn rejimiga o'ting. Tugma bo'limini tanlang va uni dastur ekraniga torting. Endi tugmachamiz bor. Biz unga matnni kiritamiz (kv.by). Shrift hajmini oshirish uchun Matn rejimiga o'ting va kodning Tugma qismiga quyidagi qatorni qo'shing: android: textSize = "25sp" Dizayn rejimida sichqonchaning o'ng tugmachasini bosing va cheklash-ni tanlang, so'ngra barcha elementlarni o'z navbatida tanlang. Bu sizning tugmachangizni harakatga keltirmaslik uchun "bog'laydi". Keyinchalik, Salom, Dunyo yozuvini tahrirlaymiz - uni o'zimizga o'zgartiring ("Android-dagi birinchi dasturim"). Keyingi qadam rasm qo'shishdir. Birinchidan, biz uni loyihaga qo'shishimiz kerak. Rasm, masalan, shunday bo'ladi: Uni yuklab oling va to'g'ridan-to'g'ri rasmga olinadigan papkada to'g'ridan-to'g'ri loyihaga torting . U loyihaga qo'shiladi. Endi activity_main.xml- ni oching va Dizayn rejimiga o'ting. Umumiy - ImageView-ni tanlang. Uni ekranimizga torting. Rasm tanlash oynasi ochiladi. Loyiha bo'limiga o'ting. U erda biz kv.by logotipini ko'ramiz. Uni tanlang va dastur oynasining o'rtasiga qo'ying. Rasmda biz cheklovni ham qo'llaymiz. Natijada siz quyidagi activity_main.xml kodini olishingiz kerak : xml version = "1.0" encoding = "utf-8" ?> < android.support.constraint.ConstraintLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: app = "http : //schemas.android.com/apk/res-auto " xmlns: vositalari = " http://schemas.android.com/tools " android : layout_width = " match_parent " android : layout_height = " match_parent " vositalari : kontekst = ".MainActivity" > < TextView android : layout_width = "145dp" android : layout_height = "53dp" android : layout_marginTop = "262dp" android : layout_marginBottom = "416dp" android : tortishish kuchi = "center" android : matn = "Mening birinchi dastur haqida barcha Android " ilova : layout_constraintBottom_toBottomOf = " ota-ona " ilovasi : layout_constraintEnd_toEndOf = " ota-ona " ilovasi :layout_constraintHorizontal_bias = "0.552" ilova : layout_constraintStart_toStartOf = "parent" ilova : layout_constraintTop_toTopOf = "parent" /> < Button android : id = "@ + id / button" android : layout_width = "199dp" android : layout_height = "113dp" android : text = "kv.by" android : textSize = "25sp" app : layout_constraintEnd_toEndOf = "parent" ilova : layout_constraintStart_toStartOf = "parent" vositalari : layout_editor_absoluteY = "114dp" /> < ImageView android : id = "@ + id / IMAGEVIEW" android : layout_width = "216dp" android : layout_height = "172dp" android : layout_marginStart = "55dp" android : layout_marginLeft = "55dp" android : layout_marginTop = "380dp" android : layout_marginEnd = "28dp" android : layout_marginRight = "28dp" android : layout_marginBottom = "51dp" ilova :layout_constraintBottom_toBottomOf = "ota-ona" ilova : layout_constraintEnd_toEndOf = "parent" ilova : layout_constraintHorizontal_bias = "0.495" ilova : layout_constraintStart_toStartOf = "parent" app : layout_constraintTop_toTopOf = "parent" app : srcCompat = " > drawable android.support.constraint.ConstraintLayout > Va shunga ko'ra, ushbu MainActivity kodi (com.example.myapplication papkasida): to'plami com.example.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; umumiy sinf MainActivity AppCompatActivity-ni kengaytiradi { @Override himoyalangan void onCreate (Bundle savedInstanceState) { super .onCreate (savedInstanceState); setContentView (R.layout. activity_main ); } } AndroidManifest.xml: xml version = "1.0" encoding = "utf-8" ?> < manifest xmlns: android = "http://schemas.android.com/apk/res/android" package = "com.example.myapplication" > < application android : allowBackup = "true" android : icon = "@ mipmap / ic_launcher" android : label = "App kv.by" android : roundIcon = "@ mipmap / ic_launcher_round" android : supportsRtl = "true" android : theme = "@ style / AppTheme" > < activity android : name = ".MainActivity" > < niyat-filtr > < action android : name = "android.intent.action.MAIN" /> < category android : name = "android.intent.category.LAUNCHER" /> purpose-filter > faoliyat > ilova > manifest > Endi hamma narsa ishlayotganini tekshirish vaqti keldi. Keling, uni kompyuteringizda joylashgan virtual smartfonda tekshirib ko'raylik. Asboblar - AVD menejeri - Yuqorida Virtual qurilmani yaratish-ni bosing . Biz Android-da ishlaydigan virtual qurilmani (smartfon) yaratmoqdamiz. Nexus 5X ni tanlash. Android emulyatorini o'zi yuklab oling. Keyingisini bosing. Barcha manipulyatsiyalardan so'ng Nexus 5X "smartfoni" virtual qurilmalar ro'yxatida paydo bo'lishi kerak. Keling, virtual smartfon - Run - Run dasturida dasturni ishga tushiramiz . Nimani sinab ko'rishni tanlash bilan oyna paydo bo'ladi. Biz, albatta, Nexus 5X-ga boramiz. Smartfonda ilovalar ro'yxatini oching va u erda App kv.by-ni qidiring Mana nima bo'ldi: Ishlayapti! Ariza tayyor. Endi uni haqiqiy smartfoningizga yuklab olishingiz mumkin. Birinchi dasturimizni smartfonga o'rnatish uchun siz apk faylini yaratishingiz kerak. APK - Android Package Kit - bu tuzilgan dastur kodi, resurs fayllari, manifest fayllari va boshqa ma'lumotlarni o'z ichiga olgan shifrlanmagan zip arxivi. Aynan apk formatida fayllar Google Play-da saqlanadi, ulardan dasturlarni yuklab olamiz. Ular shifrlanmaganligi sababli, rasmlar va boshqa ba'zi ma'lumotlarni har qanday dasturdan osongina olish mumkin. Buning uchun APKMirror.com manbai mavjud . Unda kerakli dasturning apk faylini Google Play-dan yuklab olishingiz mumkin. Keyin uni * .zip deb o'zgartiring va har qanday arxivator bilan oching. U erda siz dastur tuzilishini, piktogramma, grafikalarni ko'rishingiz mumkin. Masalan, WhatsApp dasturining ichki ko'rinishi quyidagicha: Apk fayllarini smartfoningizga yuklab olish yoki ulashish mumkin. Yoki uni dastur sifatida o'rnating. Bu qulay va sizga biroz erkinlik beradi. Smartfoningizga apk o'rnatish uchun avval uni yoqishingiz kerak. Sozlamalar - Ilovalar - Maxsus kirish huquqlari - O'rnatish noma'lum-ga o'ting. dasturlar va u erda biz fayl menejeri uchun "Ruxsat berilgan" ni tanlaymiz (masalan, Total Commander). Shunday qilib, bizning vazifamiz - biz yozgan koddan apk faylini yaratish. Buning uchun Android Studio-da Build - Build Bundle / APK - Build APK-ni tanlang. Skript apkni yaratish uchun ishlaydi. Oxir-oqibat, sizga apk fayli joylashgan papkani ochish taklif qilinadi. Keyinchalik, siz smartfoningizni kompyuteringizga ulab, olingan apk faylini telefon xotirasiga nusxalashingiz kerak. Keyin, smartfonda fayl menejeri bilan fayl bilan papkani oching va o'rnating. Endi sizning smartfoningizda o'zingizning ilovangiz bor! Mаvzu: Mobil ilovalarda menyular va bildirishnomalar(notification) yaratish Mobil ilova (inglizcha: Mobile app) — maʼlum bir platforma (iOS, Android, Windows Phone va boshqalar) uchun ishlab chiqilgan smartfonlar, planshetlar va boshqa mobil qurilmalarda ishlashga moʻljallangan dastur. Koʻpgina mobil ilovalar qurilmaning oʻzida oldindan oʻrnatiladi yoki ularni App Store, Google Play va boshqalar kabi onlayn dastur doʻkonlaridan bepul yoki pullik bilan yuklab olish mumkin. Dastlab, mobil ilovalar elektron pochtani tezda tekshirish uchun ishlatilgan, ammo ularning yuqori talablari boshqa sohalarda ham kengayishiga olib keldi, masalan, mobil telefon va GPS oʻyinlari, suhbatlashish, video tomosha qilish va Internetdan foydalanish. Mobil ilovalarni ishlab chiqishda quyidagi ba’zi dasturlar kerak bo’ladi: MySQL— ochiq manbali relyatsion maʼlumotlar bazasini boshqarish tizimi. Uning nomi "My", Maykl Videniusning qizining ismi va "SQL", Strukturalangan soʻrovlar tilining qisqartmasidan iborat. Relyatsion ma'lumotlar bazasi ma'lumotlarni bir yoki bir nechta ma'lumotlar jadvallarida tartibga soladi, ularda ma'lumotlar bir-biri bilan bog'liq bo'lishi mumkin; bu munosabatlar ma'lumotlarni tuzilishga yordam beradi. SQL - dasturchilar relyatsion ma'lumotlar bazasidan ma'lumotlarni yaratish, o'zgartirish va chiqarish, shuningdek, ma'lumotlar bazasiga foydalanuvchi kirishini boshqarish uchun foydalanadigan til. Relyatsion ma'lumotlar bazalari va SQL-ga qo'shimcha ravishda, MySQL kabi RDBMS kompyuterning saqlash tizimida relyatsion ma'lumotlar bazasini amalga oshirish uchun operatsion tizim bilan ishlaydi, Flutter - bu Google tomonidan yaratilgan ochiq manbali UI dasturiy ta'minot ishlab chiqish tizimi. U Android, iOS, Linux, macOS, Windows, Google Fuchsia, va Internet uchun yagona kod bazasidan oʻzaro platforma ilovalarini ishlab chiqishda foydalaniladi. Birinchi marta 2015-yilda ishlab chiqilgan. Flutter 2017-yilning may oyida chiqarilgan. Flutterning asosiy komponentlari quyidagilardan iborat: ✓ Dart platformasi ✓ Flutter dvigateli (Skia Graphics Engine) ✓ Fond kutubxonasi ✓ Dizayn uchun maxsus vidjetlar ✓ Flutter rivojlantirish vositalari (DevTools) Flutterda iOS hamda Andoroid uchun mobil ilovalar yaratish mumkin Dart platformasi. Flutter ilovalari Dart tilida yozilgan va tilning ko‘plab ilg‘or funksiyalaridan foydalanadi. Ilovani yozish va disk raskadrovka qilishda Flutter Dart virtual mashinasida ishlaydi, u o'z vaqtida bajaruvchi vositaga ega. Bu tez kompilyatsiya vaqtlarini, shuningdek, "qayta yuklash" imkonini beradi, buning yordamida manba fayllariga o'zgartirishlar ishlaydigan dasturga kiritilishi mumkin. Flutter buni holatli qayta yuklashni qo‘llab-quvvatlash bilan kengaytiradi, bunda ko‘p hollarda manba kodidagi o‘zgarishlar qayta ishga tushirishni yoki holatni yo‘qotmasdan darhol ishlaydigan ilovada aks etadi. Yaxshiroq ishlash uchun Flutter ilovalarining barcha platformalardagi versiyalari oldindan (AOT) kompilyatsiyasidan foydalanadi. Ilova turlari Mobil saytlar ilova kom Veb-ilovalar ilova kom Gibrid dasturlar ilova kom Mahalliy dasturlar ilova kom Mobile ilova yaratish Mobil dasturlar turli xil dasturlash tillarida (Java; PHP/JavaScript; ActionScript; Swift va Objective-C) yoziladi. Ilova yaratish jarayonida bir necha bosqichlardan oʻtadi. Birinchi qadam. Ilova nima uchun moʻljallanganligini va qanday vazifalarni bajarishini aniqlang. Ikkinchi qadam. Muhandislik va dizayn. Uchinchi qadam. Ishlab chiqish jarayoni. Toʻrtinchi qadam. Sinov. Beshinchi qadam. Monitoring. Kotlin Android Kotlin - bu JVM da ishlay oladigan dasturlash tili. Google Kotlinni Android Studio'da rasman qo'llab-quvvatlanadigan dasturlash tillaridan biri sifatida e'lon qildi; va Android hamjamiyati Java'dan Kotlinga tez sur'atlar bilan o'tmoqda. Shunday qilib, forumlarda yoki onlayn munozaralarda Kotlin kod parchalarini ko'rishingiz mumkin. To'g'ri yo'nalish va to'g'ri qadamlarni bilsangiz, Android-ni ishlab chiqishni o'rganish juda oson. Albatta, rasmiy Android Developer Android ilovalarini ishlab chiqishni osonlashtiradigan boy hujjatlar va misollarni taqdim etadi. Biz bu yerda sizga yordam beramiz va birinchi qadamlarni qo'yishda sizga yo'l-yo'riq ko'rsatamiz va o'z Android ilovalaringizni ishlab chiqishda ustamiz. Menyular Menyular ko'p turdagi ilovalarda umumiy foydalanuvchi interfeysi komponentidir. Tanish va izchil foydalanuvchi tajribasini ta'minlash uchun siz Menuo'zingizning faoliyatingizdagi foydalanuvchi harakatlari va boshqa variantlarni taqdim etish uchun API-lardan foydalanishingiz kerak. Android 3.0 (API darajasi 11) dan boshlab, Android-da ishlaydigan qurilmalar endi maxsus Menyu tugmachasini taqdim etishi shart emas . Ushbu o'zgarish bilan Android ilovalari an'anaviy 6 bandli menyu paneliga bog'liqlikdan voz kechishi va o'rniga foydalanuvchining umumiy harakatlarini ko'rsatish uchun ilovalar panelini taqdim etishi kerak. Ba'zi menyu elementlari uchun dizayn va foydalanuvchi tajribasi o'zgargan bo'lsa-da, harakatlar va parametrlar to'plamini aniqlash uchun semantika hali ham API-larga asoslangan Menu. Ushbu qo'llanma Android-ning barcha versiyalarida uchta asosiy turdagi menyu yoki harakat taqdimotlarini qanday yaratishni ko'rsatadi: Variantlar menyusi va ilovalar paneli Variantlar menyusi faoliyat uchun menyu elementlarining asosiy to'plamidir. Bu yerda “Qidiruv”, “E-pochta yozish” va “Sozlamalar” kabi ilovaga global taʼsir koʻrsatadigan amallarni joylashtirishingiz kerak. Tanlovlar menyusini yaratish bo'limiga qarang . Kontekst menyusi va kontekstli harakat rejimi Kontekst menyusi - foydalanuvchi elementni uzoq vaqt davomida bosganda paydo bo'ladigan suzuvchi menyu . U tanlangan tarkibga yoki kontekst ramkasiga ta'sir qiluvchi amallarni ta'minlaydi. Kontekstli harakat rejimi ekranning yuqori qismidagi satrda tanlangan tarkibga ta'sir qiluvchi harakatlar elementlarini ko'rsatadi va foydalanuvchiga bir nechta elementlarni tanlash imkonini beradi. Kontekst menyularini yaratish bo'limiga qarang . Qalqib chiquvchi menyu Qalqib chiquvchi menyu vertikal ro'yxatdagi menyuni chaqirgan ko'rinishga bog'langan elementlar ro'yxatini ko'rsatadi. Muayyan kontent bilan bog'liq bo'lgan harakatlar to'plamini ta'minlash yoki buyruqning ikkinchi qismi uchun variantlarni taqdim etish uchun yaxshi. Qalqib chiquvchi menyudagi harakatlar mos keladigan tarkibga bevosita ta'sir qilmasligi kerak - kontekstli harakatlar aynan shu uchun. Aksincha, qalqib chiquvchi menyu faoliyatingizdagi kontent hududlari bilan bog'liq kengaytirilgan harakatlar uchun mo'ljallangan. Qalqib chiquvchi menyu yaratish bo'limiga qarang . XMLda menyuni belgilash Barcha menyu turlari uchun Android menyu elementlarini aniqlash uchun standart XML formatini taqdim etadi. Faoliyatingiz kodida menyu yaratish o'rniga, XML menyu resursida menyu va uning barcha elementlarini belgilashingiz kerak . MenuKeyin menyu resursini (uni ob'ekt sifatida yuklash) faoliyatingiz yoki fragmentingizda to'ldirishingiz mumkin . Menyu manbasidan foydalanish bir necha sabablarga ko'ra yaxshi amaliyotdir: XMLda menyu tuzilishini tasavvur qilish osonroq. U menyu uchun tarkibni ilovangizning xatti-harakatlar kodidan ajratib turadi. U turli platforma versiyalari, ekran oʻlchamlari va boshqa konfiguratsiyalar uchun ilova resurslari ramkasidan foydalanish orqali muqobil menyu konfiguratsiyalarini yaratishga imkon beradi . Menyuni aniqlash uchun loyihangiz katalogida XML fayl yarating res/menu/ va menyuni quyidagi elementlar bilan tuzing: MenuMenyu elementlari uchun konteyner bo'lgan ni belgilaydi . Element fayl uchun ildiz tugun bo'lishi kerak va bir yoki bir nechta va elementlarni o'z ichiga olishi mumkin. MenuItemMenyudagi bitta elementni ifodalovchi ni yaratadi . Ushbu element pastki menyu yaratish uchun o'rnatilgan elementni o'z ichiga olishi mumkin. Elementlar uchun ixtiyoriy, ko'rinmas konteyner . Bu sizga menyu bandlarini toifalarga ajratish imkonini beradi, shunda ular faol holat va ko'rinish kabi xususiyatlarni almashadilar. Qo'shimcha ma'lumot olish uchun menyu guruhlarini yaratish bo'limiga qarang . Mana misol menyusi deb nomlangan game_menu.xml: Element bir nechta atributlarni qo'llab-quvvatlaydi, siz elementning tashqi ko'rinishi va xatti-harakatlarini aniqlash uchun foydalanishingiz mumkin. Yuqoridagi menyudagi elementlar quyidagi atributlarni o'z ichiga oladi: android:id Elementga xos bo‘lgan resurs identifikatori, foydalanuvchi uni tanlaganida ilovaga elementni tanib olish imkonini beradi. android:icon Element belgisi sifatida foydalanish uchun chizmaga havola. android:title Element nomi sifatida foydalanish uchun satrga havola. android:showAsAction Ushbu element qachon va qanday qilib ilova panelida amal elementi sifatida ko‘rinishini belgilaydi. Bular siz ishlatishingiz kerak bo'lgan eng muhim atributlardir, ammo mavjud bo'lgan yana ko'p narsalar mavjud. Barcha qo'llab-quvvatlanadigan atributlar haqida ma'lumot olish uchun Menyu Resurs hujjatiga qarang. Elementni bolasi sifatida qo'shish orqali istalgan menyudagi elementga pastki menyu qo'shishingiz mumkin . Ilovangiz mavzularga ajratilishi mumkin bo'lgan ko'plab funktsiyalarga ega bo'lsa, kichik menyular foydali bo'ladi, masalan, shaxsiy kompyuter ilovasining menyu satridagi elementlar (Fayl, Tahrirlash, Ko'rish va h.k.). Masalan: Faoliyatingizda menyudan foydalanish uchun menyu resursini (XML resursini dasturlashtiriladigan ob'ektga aylantirish) yordamida to'ldirishingiz kerak MenuInflater.inflate(). Keyingi bo'limlarda siz har bir menyu turi uchun menyuni qanday to'ldirishni ko'rasiz. Variantlar menyusini yaratish Variantlar menyusi joriy faoliyat kontekstiga tegishli amallar va boshqa variantlarni, masalan, “Qidiruv”, “E-pochta yozish” va “Sozlamalar”ni o‘z ichiga olishi kerak bo‘lgan joydir. Variantlar menyusidagi elementlar ekranda qayerda paydo boʻlishi ilovangizni ishlab chiqqan versiyaga bogʻliq: Agar siz ilovangizni Android 2.3.x (API 10 darajasi) yoki undan pastroq versiyalar uchun ishlab chiqqan bo'lsangiz, foydalanuvchi 1-rasmda ko'rsatilganidek, Menyu tugmasini bosganida parametrlar menyusi mazmuni ekranning yuqori qismida paydo bo'ladi. Ochilgach, birinchi ko'rinadigan qism - oltitagacha menyu bandini o'z ichiga olgan piktogramma menyusi. Agar sizning menyuingiz oltidan ortiq elementni o'z ichiga olsa, Android oltinchi bandni, qolganini esa foydalanuvchi "Ko'proq" ni tanlash orqali ochishi mumkin bo'lgan ortiqcha menyuga joylashtiradi . Agar siz ilovangizni Android 3.0 (API 11-daraja) va undan yuqori versiyalar uchun ishlab chiqqan bo'lsangiz , variantlar menyusidagi elementlar ilovalar panelida mavjud. Odatiy bo'lib, tizim barcha elementlarni amallar to'lib ketishiga joylashtiradi, foydalanuvchi ularni ilovalar panelining o'ng tomonidagi harakatni to'ldirish belgisi bilan (yoki agar mavjud bo'lsa, qurilma Menyu tugmasini bosish orqali ) ko'rsatishi mumkin. android:showAsAction="ifRoom"Muhim harakatlarga tezkor kirishni yoqish uchun siz tegishli elementlarga qo'shish orqali ilova panelida paydo bo'ladigan bir nechta elementlarni targ'ib qilishingiz mumkin Activity Siz o'zingizning kichik sinfingiz yoki kichik sinfingizdagi variantlar menyusi uchun narsalarni e'lon qilishingiz mumkin Fragment. Agar sizning faoliyatingiz ham, fragment(lar)ingiz ham variantlar menyusi uchun elementlarni e'lon qilsa, ular UIda birlashtiriladi. Faoliyat elementlari birinchi bo'lib paydo bo'ladi, so'ngra har bir fragmentni faoliyatga qo'shilish tartibi bo'yicha. android:orderInCategory Agar kerak bo'lsa, har birida ko'chirishingiz kerak bo'lgan atribut bilan menyu elementlarini qayta buyurtma qilishingiz mumkin . Faoliyat uchun variantlar menyusini belgilash uchun bekor qiling onCreateOptionsMenu()(fragmentlar o'zlarining onCreateOptionsMenu()qayta qo'ng'iroqlarini ta'minlaydi). Ushbu usulda siz o'zingizning menyu resursingizni ( XMLda belgilangan ) Menuqayta qo'ng'iroqda ko'rsatilganlarga to'ldirishingiz mumkin. Masalan: Bundan tashqari, API yordamida ularning xususiyatlarini qayta ko'rib chiqish uchun elementlardan foydalanib menyu elementlarini qo'shishingiz add()va ularni olishingiz mumkin .findItem()MenuItem Agar siz ilovangizni Android 2.3.x va undan pastroq versiyalar uchun ishlab chiqqan bo'lsangiz, onCreateOptionsMenu()foydalanuvchi menyuni birinchi marta ochganda tizim variantlar menyusini yaratishga chaqiradi. Agar siz Android 3.0 va undan yuqori versiyalari uchun ishlab chiqilgan bo'lsangiz, tizim onCreateOptionsMenu()ilovalar panelidagi narsalarni ko'rsatish uchun faoliyatni boshlaganda qo'ng'iroq qiladi. Bosish hodisalarini boshqarish Foydalanuvchi parametrlar menyusidan biror narsani tanlaganida (shu jumladan ilova panelidagi amallar), tizim faoliyatingiz onOptionsItemSelected()usulini chaqiradi. Bu usul MenuItemtanlanganlardan o'tadi. Siz qo'ng'iroq qilish orqali elementni aniqlashingiz mumkin getItemId(), bu menyu elementi uchun noyob identifikatorni qaytaradi ( android:idmenyu resursidagi atribut yoki usulga berilgan butun son bilan belgilanadi add()). Tegishli amalni bajarish uchun ushbu identifikatorni maʼlum menyu bandlariga moslashtirishingiz mumkin. Masalan: Bildirishnoma yarating Bildirishnomalar ilovangiz foydalanilmayotgan paytdagi voqealar haqida qisqa, oʻz vaqtida maʼlumot beradi. Bu sahifa sizga Android 4.0 (API 14-daraja) va undan yuqori versiyalar uchun turli funksiyalarga ega bildirishnoma yaratishni o‘rgatadi. Android-da bildirishnomalar qanday paydo bo'lishi bilan tanishish uchun Bildirishnomalar haqida umumiy ma'lumotga qarang . Bildirishnomalardan foydalanadigan kod namunasi uchun Odamlar namunasiga qarang . E'tibor bering, ushbu sahifadagi kod NotificationCompat Android qo'llab-quvvatlash kutubxonasi API'laridan foydalanadi. Ushbu API'lar Android 4.0 (API darajasi 14) ga moslikni ta'minlagan holda faqat Androidning yangi versiyalarida mavjud xususiyatlarni qo'shish imkonini beradi. Biroq, inline javob harakati kabi ba'zi yangi xususiyatlar eski versiyalarda ishlamaslikka olib keladi. Qo'llab-quvvatlash kutubxonasini qo'shing Android Studio bilan yaratilgan loyihalarning aksariyati foydalanish uchun zarur bogʻliqliklarni oʻz ichiga olgan boʻlsa-da NotificationCompat, modul darajasidagi faylingiz build.gradlequyidagi bogʻliqlikni oʻz ichiga olganligini tekshirishingiz kerak: Asosiy bildirishnoma yarating Eng asosiy va ixcham shakldagi bildirishnoma (shuningdek, yiqilgan shakl sifatida ham tanilgan) belgi, sarlavha va oz miqdordagi kontent matnini ko'rsatadi. Ushbu bo'limda siz foydalanuvchi ilovangizdagi faoliyatni boshlash uchun bosishi mumkin bo'lgan bildirishnoma yaratishni o'rganasiz. Bildirishnoma tarkibini o'rnating Boshlash uchun ob'ekt yordamida bildirishnoma mazmuni va kanalini o'rnatishingiz kerak NotificationCompat.Builder. Quyidagi misolda bildirishnomani qanday yaratish mumkinligi ko'rsatilgan: tomonidan o'rnatilgan kichik belgi setSmallIcon(). Bu foydalanuvchiga koʻrinadigan yagona kontent talab qilinadi. Sarlavha, tomonidan belgilangan setContentTitle(). Asosiy matn, tomonidan o'rnatiladi setContentText(). tomonidan o'rnatilgan bildirishnoma ustuvorligi setPriority(). Ustuvorlik Android 7.1 va undan pastroq versiyalarda bildirishnoma qanchalik intruziv boʻlishi kerakligini belgilaydi. (Android 8.0 va undan yuqori versiyalar uchun siz keyingi bo'limda ko'rsatilgan kanal ahamiyatini belgilashingiz kerak.) E'tibor bering, NotificationCompat.Builder konstruktor sizdan kanal identifikatorini taqdim etishingizni talab qiladi. Bu Android 8.0 (API darajasi 26) va undan yuqori versiyalar bilan muvofiqligi uchun talab qilinadi, lekin eski versiyalar tomonidan e'tiborga olinmaydi. Odatiy bo'lib, bildirishnoma matni bir qatorga sig'ish uchun qisqartiriladi. Agar bildirishnomangiz uzoqroq boʻlishini istasangiz, bilan uslub shablonini qoʻshish orqali kengaytiriladigan bildirishnomani yoqishingiz mumkin setStyle(). Masalan, quyidagi kod kattaroq matn maydoni yaratadi: Boshqa yirik bildirishnoma uslublari, jumladan, tasvirni qanday qoʻshish va media ijrosini boshqarish elementlari haqida koʻproq maʼlumot olish uchun Kengaytiriladigan tafsilotlar bilan bildirishnoma yaratish- ga qarang . Kanal yarating va ahamiyatini belgilang Bildirishnomani Android 8.0 va undan yuqori versiyalarida yetkazib berishdan oldin ilovangizning bildirishnoma kanaliniNotificationChannel nusxasini o‘tkazish orqali tizimda ro‘yxatdan o‘tkazishingiz kerak createNotificationChannel(). Shunday qilib, quyidagi kod versiyadagi shart bilan bloklangan SDK_INT: Android 8.0 va undan yuqori versiyalarida bildirishnomalarni joylashtirishdan oldin bildirishnoma kanalini yaratishingiz kerakligi sababli, ilovangiz ishga tushishi bilanoq ushbu kodni bajarishingiz kerak. Buni qayta-qayta chaqirish xavfsiz, chunki mavjud bildirishnoma kanalini yaratish hech qanday operatsiyani bajarmaydi. E'tibor bering, konstruktor sinfdagi doimiylardan birini qo'llashni NotificationChanneltalab qiladi . Ushbu parametr ushbu kanalga tegishli har qanday bildirishnoma uchun foydalanuvchini qanday qilib toʻxtatishni belgilaydi, ammo Android 7.1 va undan pastroq versiyalarni qoʻllab-quvvatlash uchun ustuvorlikni ham belgilashingiz kerak ( yuqorida koʻrsatilganidek).importanceNotificationManagersetPriority() Bu yerda ko‘rsatilganidek, siz bildirishnoma muhimligi/ustuvorligini o‘rnatishingiz kerak bo‘lsa-da, tizim sizni ogohlantirish xatti-harakatlariga kafolat bermaydi. Ba'zi hollarda tizim muhimlik darajasini boshqa omillarga qarab o'zgartirishi mumkin va foydalanuvchi har doim ma'lum bir kanal uchun muhimlik darajasini qayta belgilashi mumkin. Turli darajalar nimani anglatishi haqida ko'proq ma'lumot olish uchun bildirishnomalarning muhim darajalari haqida o'qing . Bildirishnomaning teginish harakatini o‘rnating Har bir bildirishnoma tegishga javob berishi kerak, odatda ilovangizda bildirishnomaga mos keladigan faoliyatni ochish uchun. Buning uchun ob'ekt bilan belgilangan kontent maqsadini ko'rsatishingiz PendingIntentva uni ga o'tkazishingiz kerak setContentIntent(). Quyidagi parcha foydalanuvchi bildirishnomani bosganida faoliyatni ochish uchun asosiy niyatni qanday yaratishni ko'rsatadi: E'tibor bering, qo'ng'iroqlar kodiga e'tibor bering setAutoCancel(), foydalanuvchi uni bosganida bildirishnomani avtomatik ravishda olib tashlaydi . Yuqorida ko'rsatilgan usul setFlags()bildirishnoma orqali ilovangizni ochgandan so'ng foydalanuvchi kutgan navigatsiya tajribasini saqlab qolishga yordam beradi. Ammo undan foydalanishni xohlaysizmi, qaysi faoliyat turini boshlayotganingizga bog'liq, bu quyidagilardan biri bo'lishi mumkin: Faqat bildirishnomaga javoblar uchun mavjud faoliyat. Oddiy ilovadan foydalanish vaqtida foydalanuvchi ushbu faoliyatga oʻtishi uchun hech qanday sabab yoʻq, shuning uchun faoliyat ilovangizning mavjud vazifasi va orqa stekiga qoʻshilish oʻrniga yangi vazifani boshlaydi . Bu yuqoridagi namunada yaratilgan niyat turi. Ilovangizning odatiy ilovalar oqimida mavjud faoliyat. Bunday holda, faoliyatni boshlash orqa stekni yaratishi kerak, shunda foydalanuvchining Orqaga va Yuqori tugmalari uchun kutishlari saqlanib qoladi. Bildirishnomangiz maqsadini sozlashning turli usullari haqida koʻproq bilish uchun “ Bildirishnomadan faoliyat boshlash” boʻlimini oʻqing . Bildirishnomani ko'rsatish Bildirishnoma paydo bo'lishi uchun qo'ng'iroq qiling NotificationManagerCompat.notify(), unga bildirishnoma va natijasi uchun noyob identifikatorni bering NotificationCompat.Builder.build(). Masalan: Harakat tugmachalarini qo'shing Bildirishnoma foydalanuvchiga tezkor javob berish imkonini beruvchi uchtagacha harakat tugmalarini taklif qilishi mumkin, masalan, eslatmani keyinga qoldirish yoki hatto matnli xabarga javob berish. Lekin bu harakat tugmalari foydalanuvchi bildirishnomani bosganida bajarilgan harakatni takrorlamasligi kerak Harakat tugmasi qo'shish uchun usulga a ni PendingIntento'tkazing addAction() . Bu xuddi bildirishnomaning birlamchi teginish harakatini o‘rnatishga o‘xshaydi, faqat faoliyatni boshlash o‘rniga, siz boshqa turli xil amallarni bajarishingiz mumkin, masalan, BroadcastReceiverfonda ishni bajaradigan ishga tushirish, bu harakat allaqachon ochiq bo‘lgan ilovani to‘xtatmasligi uchun. Masalan, quyidagi kod translyatsiyani ma'lum bir qabul qiluvchiga qanday yuborishni ko'rsatadi: Javob tugmasini qo'shing To'g'ridan-to'g'ri javobni qo'llab-quvvatlaydigan bildirishnoma harakatini yaratish uchun: 1.RemoteInput.Builder Bildirishnoma harakatingizga qo'shishingiz mumkin bo'lgan misolni yarating . Bu sinf konstruktori tizim matn kiritish uchun kalit sifatida foydalanadigan qatorni qabul qiladi. Keyinchalik, qo'l ilovangiz kiritilgan matnni olish uchun ushbu kalitdan foydalanadi. 2.PendingIntentJavob berish uchun amal yarating . 3.RemoteInput dan foydalanib ob'ektni harakatga biriktiring addRemoteInput() 4. Harakatni bildirishnomaga qo'llang va bildirishnomani chiqaring. Android TextView Android TextView - bu foydalanuvchiga matnni ko'rsatishga yordam beradigan asosiy foydalanuvchi interfeysi elementi. Quyidagi Kotlin Android qo'llanmalari sizni : Hello World ko'rsatish uchun oddiy TextView dasturini amalga oshirish; Dasturlash orqali dinamik ravishda TextView yaratish va TextView-ni bosish uchun javob beradigan tinglovchini o'rnatish; TextView ning rang, shrift o'lchami, fon, tartib variantlari va boshqalar kabi ba'zi xususiyatlari bilan tanishish uchun. Android TextView vidjeti foydalanuvchi interfeysida matnni ko‘rsatadi. Ushbu qo'llanmada biz XML-fayllar yordamida TextView-ni qanday yaratishni, Kotlin faylidan layout faylidagi TextView-ga qanday kirishni, Kotlin faylida TextView-ni qanday yaratishni va uni foydalanuvchiga ko'rsatishni, TextView tomonidan qo'llab-quvvatlanadigan turli atributlarni o'rganamiz. eng muhim stsenariylarni qamrab oluvchi misollar. Quyidagi skrinshotda bizda “Kotlin Android darsligiga xush kelibsiz! Bu TextView vidjeti." Tartib faylida TextView yaratish uchun TextView vidjetidan foydalaning. Kotlin yordami bilan Android loyihasini yarating va quyidagi amallarni bajaring. Activity_main.xml layout faylida TextView vidjetini belgilang. Ushbu misolda biz LinearLayout ildiz elementi ichida TextView ni aniqladik. helloBiz yuqoridagi layout activity_main.xml faylida string resursidan foydalanganmiz . Quyida strings.xml resurs faylining mazmuni keltirilgan. Bizning birlamchi MainActivity.kt quyidagi ko'rinishga ega bo'lishi kerak va biz hozircha bu faylda hech narsani o'zgartirmayapmiz. Ushbu Kotlin fayli ushbu Android ilovasi uchun ishga tushirgichdir. TextView dasturini yarating Biz layout fayli yordamida ko'rinishlarni belgilashimiz mumkinligini bilamiz. Ammo, biz TextView dasturini ham yaratishimiz va keyin ushbu ko'rinishni tartib fayliga qo'shishimiz mumkin. Ushbu qo'llanmada biz Android-da TextView-ni dasturiy ravishda yaratishni va ushbu TextView-ni layout faylidagi LinearLayout-ga qo'shishni o'rganamiz. Kod - TextView yaratish Dasturning bir nuqtasida yangi TextView dasturini yaratish uchun uning UI tarmog'ida bo'lishi kerak. Shuningdek, har qanday yangi ko'rinishni yaratish uchun bizga ilova konteksti kerak. Android yaratish xatosini keltirib, UI doirasidan tashqarida har qanday Ko'rinish yaratilishiga yo'l qo'ymaydi. Android misoli - TextView dasturini yaratish Ushbu misolda biz sizga TextView-ni dasturiy ravishda yaratish va Kotlin Android-da LinearLayout-ga TextView-ni qo'shish bo'yicha XML fayli va Activity Kotlin faylini taqdim etamiz. activity_main.xml : Quyida "Bu xml'dan yaratilgan matn ko'rinishi" matni bilan TextViewni o'z ichiga olgan activity_main.xml. \ MainActivity.kt : “Bu Kotlinda dasturiy ravishda yaratilgan dinamik TextView” matni bilan yangi TextView yarating va uni LinearLayout-ga qo'shing. Ushbu qo'shimcha dinamik ravishda yaratilgan TextView-ni LinearLayout-da mavjud bo'lgan barcha bolalar ko'rinishlarining oxiriga qo'shish imkonini beradi. Quyida dastur asosida yaratilgan TextView bilan chiqish keltirilgan. Kotlin Android-da TextView OnClickListener Androidda TextView ko'rinishning pastki sinfidir va shuning uchun TextView ob'ektida setOnClickListener() usulidan foydalanishi mumkin. Ushbu qo'llanmada biz misol yordamida Kotlin faylida TextView uchun OnClickListener-ni qanday o'rnatishni o'rganamiz. MainActivity.kt Identifikatordan foydalanib, TextView in layout fayliga havolani oling va keyin ushbu TextView-da setOnClickListener {} ga qo'ng'iroq qiling. Foydalanuvchi ushbu TextView-ni bosganida, setOnClickListener {} ichidagi kod bajariladi. Quyida TextView uchun setOnClickListenerni namoyish qilish uchun skrinshotlar keltirilgan. Android TextView - Matn rangi TextView Matn rangi - TextView-da matn rangini o'zgartirish uchun siz textColor atributidan foydalangan holda XML formatidagi rangni sozlashingiz yoki setTextColor() usuli yordamida Kotlin faylida rangni dinamik ravishda o'zgartirishingiz mumkin . Ushbu o'quv qo'llanmada biz TextView matn rangini o'zgartirish uchun fayl tartibini va Kotlin liniyasi yondashuvini o'rganamiz. TextView vidjetining textColor atributi siz tanlagan rangni belgilash imkonini beradi. Rangni to'rtta formatdan birida olti burchakli qiymat sifatida taqdim etishingiz mumkin: rgb, argb, rrggbb yoki aarrggbb. Turli xil rang formatlaridan foydalangan holda TextView uchun textColor atributini o'rnatish sintaksisi Keling, Android Studio'da Kotlin qo'llab-quvvatlashi bilan Android ilovasini yarataylik va XML tartib faylida TextView matn rangini o'zgartiraylik. Ushbu ilovani ishga tushiring va siz quyidagi skrinshotni olasiz. Android TextView - kursiv matn TextView kursivli matn - TextView matn uslubini kursivga o'rnatish uchun siz XML maket faylida "kursiv" bilan textStyle atributini belgilashingiz yoki setTypeface() usuli yordamida Kotlin faylida matn uslubini dinamik ravishda o'zgartirishingiz mumkin. Ushbu o'quv qo'llanmada biz TextView matn uslubini ITALIC ga o'zgartirish uchun fayl formati yondashuvini va Kotlin liniyasi yondashuvini o'rganamiz. Ushbu ilovani ishga tushiring va siz quyidagi skrinshotni olasiz. Xulosa Mobil ilovaning foydalanuvchi grafik interfeysini ishlab chiqish va unda boshqaruv elementlaridan foydalanishni o’raganishni boshladim Menyular ko'p turdagi ilovalarda umumiy foydalanuvchi interfeysi komponentidir. Tanish va izchil foydalanuvchi tajribasini ta'minlash uchun siz Menuo'zingizning faoliyatingizdagi foydalanuvchi harakatlari va boshqa variantlarni taqdim etish uchun API-lardan foydalanishingiz kerak. Foydalanilgan adabiyotlarlar va internet manbalar 1. G. Blake Meike, Mike Dunn, Programming Android with Kotlin, O’Reilly Media, 2021, 532 p. 2. Dawn Griffiths, David Griffiths, Head First Android Development: A Learner’s Guide to Building Android Apps with Kotlin, O'Reilly Media, 2021, 932 p. 3. ........................ 4. https://developer.android.com/docs 5. https://www.tutorialkart.com/kotlin-android/ 6. https://www.geeksforgeeks.org/textview-in-kotlin/?ref=lbp Download 146.87 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling