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
Dostları ilə paylaş: |