Android studio-da virtual qurilmani tanlab ilk dasturni yaratish va sinovdan o'tkazish



Yüklə 143,15 Kb.
Pdf görüntüsü
tarix24.12.2023
ölçüsü143,15 Kb.
#157988
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 

Yüklə 143,15 Kb.

Dostları ilə paylaş:




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

    Ana səhifə