Microsoft Word Ma'ruza Matni Mobil ilovalar docx


Download 3.38 Mb.
Pdf ko'rish
Sana04.11.2023
Hajmi3.38 Mb.
#1745568
Bog'liq
1-ma\'ruza



1-Ma’ruza: ANDROID OPERATSION TIZIMINING ARXITEKTURASI 
VA ASOSIY TUSHUNCHALARI 
1.1. Android ilovalari arxitekturasi. Android operatsion tizimining 
arxitekturasi va asosiy tushunchalari 
Kalit so‘zlar: Linux, Kotlin, Java, C++, App Bundle, APK, Market, Android One, 
Android SDK, Android ROM, Android Runtime, Dalvik Android, Just-In-Time, Ahead-of-Time, 
Android Framework. 
Android ilovalari Kotlin, Java va C++ tillarida yozilishi mumkin. Android 
SDK vositalari sizning kodingizni har qanday ma’lumotlar va resurs fayllari bilan 
birga APK yoki Android App Bundle ichiga jamlaydi.
.apk kengaytmali arxiv fayli bo‘lgan Android paketi ish vaqtida talab 
qilinadigan Android ilovasining mazmunini o‘z ichiga oladi va Android 
qurilmalari ilovani o‘rnatish uchun foydalanadigan fayldir.
.aab arxiv fayli boʻlgan Android App Bundle Android ilova loyihasi 
mazmunini, jumladan, ishga tushirish vaqtida talab qilinmaydigan baʼzi 
qoʻshimcha metamaʼlumotlarni oʻz ichiga oladi. AAB - bu Android qurilmalariga 
o‘rnatib bo‘lmaydigan bozor nashri formati bo‘lib, APK yaratish va imzolashni 
keyingi bosqichga kechiktiradi. Masalan, ilovangizni Google Play orqali 
tarqatganingizda, Google Play serverlari optimallashtirilgan APK fayllarini 
yaratadi, ularda faqat ilovani oʻrnatishni soʻragan maxsus qurilma talab qiladigan 
manbalar va kodlar mavjud.
Har bir Android ilovasi quyidagi Android xavfsizlik funksiyalari bilan 
himoyalangan oʻzining xavfsizlik sinov muhitida joylashgan:
Android operatsion tizimi Linux ko‘p foydalanuvchi tizimi bo‘lib, unda 
har bir ilova alohida foydalanuvchi hisoblanadi. Odatiy bo‘lib, tizim har bir ilovaga 
noyob Linux foydalanuvchi identifikatorini tayinlaydi (identifikator faqat tizim 
tomonidan qo‘llaniladi va ilovaga noma’lum);
Tizim ilovadagi barcha fayllarga ruxsatlarni o‘rnatadi, shunda faqat ushbu 
ilovaga tayinlangan foydalanuvchi identifikatori ularga kira oladi;
Har bir jarayon o‘zining virtual mashinasiga (VM) ega, shuning uchun 
dastur kodi boshqa ilovalardan ajratilgan holda ishlaydi;
Odatiy bo‘lib, har bir dastur o‘zining Linux jarayonida ishlaydi. Android 
tizimi dasturning istalgan komponentini bajarish kerak bo‘lganda jarayonni 
boshlaydi va undan keyin kerak bo‘lmaganda yoki tizim boshqa ilovalar uchun 
xotirani qayta tiklashi kerak bo‘lganda jarayonni tugatadi.


Android eng kam imtiyoz tamoyilini amalga oshiradi. Ya’ni, har bir dastur 
sukut bo‘yicha faqat ishlashi kerak bo‘lgan komponentlarga kirish huquqiga ega va 
boshqa hech narsa yo‘q. Bu dastur tizimning ruxsati bo‘lmagan qismlariga kira 
olmaydigan juda xavfsiz muhitni yaratadi. Biroq, ilovaning boshqa ilovalar bilan 
bog‘lanishi va tizim xizmatlariga kirishi uchun dasturning usullari mavjud:
Ikki dastur bir xil Linux foydalanuvchi identifikatoridan foydalanishi 
mumkin, bu holda ular bir-birining fayllariga kirishlari mumkin. Tizim resurslarini 
tejash uchun bir xil foydalanuvchi identifikatoriga ega ilovalar ham bir xil Linux 
jarayonida ishlashi va bir xil virtual mashinadan foydalanishi mumkin;
Arizalar ham xuddi shu sertifikat bilan imzolanishi kerak. Ilova qurilma 
joylashuvi, kamera va Bluetooth ulanishi kabi qurilma maʼlumotlariga kirish uchun 
ruxsat soʻrashi mumkin. Foydalanuvchi ushbu ruxsatlarni aniq berishi kerak. 
Qo‘shimcha ma’lumot olish uchun Tizim ruxsatnomalari bilan ishlash bo‘limiga 
qarang. 
Android - bu Google tomonidan ishlab chiqilgan mashhur mobil operatsion 
tizim (OT), asosan smartfon va planshetlarda foydalanish uchun. Android 
operatsion tizimi Linux yadrosiga asoslangan va ochiq manba hisoblanadi, ya 'ni 
har kim kodni o‘zgartirishi, yaxshilashi va tarqatishi mumkin. Android uni ishlab 
chiquvchilar uchun innovatsion va qiziqarli ilovalar yaratish uchun ideal 
platformaga aylantiradigan sermahsul xususiyatlar to‘plamini taqdim etadi.
Androidning rivojlanishidagi ba’zi muhim bosqichlar
Android Inc.: Android dastlab 2003 yilda Endi Rubin, Rich Miner, Nik 
Sears va Chris White tomonidan asos solingan Android Inc. nomli kompaniya 
tomonidan ishlab chiqilgan. Kompaniyaning maqsadi ko‘proq foydalanuvchi 
bo‘ladigan mobil operatsion tizimni ishlab chiqish edi. - o‘sha paytda mavjud 
bo‘lgan tizimlarga qaraganda qulay va moslashtirilgan.
1.1.1-Rasm.Android operatsion tizimining asoschilari va ishlab chiquvchilari – Endi Rubin, 
Rich Miner, Nik Sears va Kris Uayt 
Google sotib olish: 2005 - yilda Google Android Inc.ni sotib oldi va yangi 
mobil operatsion tizimni ishlab chiqish ustida ishlay boshladi. Kompaniya dastlab 
Android dasturiy ta’minotini ishlab chiqqan ko‘plab odamlar bilan ishlashda 
davom etdi.


Birinchi Android telefoni: 2008 - yilda birinchi Android telefoni T-Mobile 
G1 (HTC Dream nomi bilan ham tanilgan) chiqarildi. Telefon Android 1.0 
operatsion tizimida ishlagan va hozirda tanish bo‘lgan bosh ekran, bildirishnomalar 
paneli va ilovalar tortmas i bilan jihozlangan birinchi qurilma edi. 
1.1.2-Rasm.Android 1.0 va 1.1 logotipi va ularning QWERT smartfonidagi ko‘rinishi. 
Android Market: 2008 yilda Android Market (hozirda Google Play deb 
nomlanadi) ishga tushirildi. Bu foydalanuvchilar o‘zlarining Android qurilmalari 
uchun ilovalarni yuklab olishlari va o‘rnatishlari mumkin bo‘lgan bozor edi. 
Android versiyalari: Yillar davomida Google Android operatsion tizimining 
ko‘plab versiyalarini chiqardi, ularning har biri o‘ziga xos xususiyatlar va 
yaxshilanishlarga ega. Ba’zi mashhur versiyalar qatoriga 2009 - yilda Android 2.0 
(Eclair), 2011 yilda Android 4.0 (Ice Cream Sandwich), 2014 - yilda Android 5.0 
(Lollipop) va 2019 - yilda Android 10 ishga tushirildi. 
1.1.3-Rasm. Google Play oynasi 
Ochiq manba: Android har doim ochiq kodli loyiha bo‘lib kelgan, ya’ni har 
kim manba kodini yuklab olishi, uni o‘zgartirishi va operatsion tizimning o‘z 
versiyasini tarqatishi mumkin. Bu ko‘p lab moslashtirilgan Android ROM larning 
rivojlanishiga olib keldi, ular keng doiradagi qurilmalarga o‘rnatilishi mumkin. 
Android One: 2014-yilda Google rivojlanayotgan mamlakatlardagi 
foydalanuvchilarga arzon va sifatli Android qurilmalarini taqdim etishga 
mo‘ljallangan Android One dasturini taqdim etdi. Dastur bir qator qurilmalarda 


doimiy foydalanuvchi tajribasini ta’minlash va qurilmalar muntazam 
yangilanishlar va xavfsizlik yamoqlarini olishini ta’minlashga qaratilgan. 
1.1.4-Rasm.Androidning OS bozoridagi ulushi 
Android Wear: 2014-yilda Google Android operatsion tizimining aqlli 
soatlar va boshqa taqiladigan qurilmalar uchun moʻljallangan versiyasi boʻlgan 
Android Wear-ni ham taqdim etdi. Android Wear kichik ekranlar uchun 
soddalashtirilgan interfeys, shuningdek, ovozli buyruqlar va salomatlikni kuzatish 
kabi funksiyalarni taqdim etdi. 
Android TV: 2014-yilda Google Android TVni ham ishga tushirdi, bu 
operatsion tizimning televizorlar va pristavkalar uchun mo‘ljallangan versiyasi. 
Android TV kontentni ko‘rib chiqish va oqimlash, shuningdek, ovozli buyruqlar va 
o‘yinlarni qo‘llab-quvvatlash uchun soddalashtirilgan interfeysni taqdim etdi. 
Android Today: Bugungi kunda Android dunyodagi eng mashhur mobil 
operatsion tizimlardan biri bo‘lib, 2,5 milliarddan ortiq faol qurilmalarga ega. 
Android yangi xususiyatlar va yangilanishlar bilan rivojlanishda davom 
etmoqda va uning ochiq manba tabiati ishlab chiquvchilar va foydalanuvchilarga 
uning doimiy rivojlanishiga hissa qo‘shish imkonini beradi. 
Android ROM (ing. Read-Only Memory - faqat o‘qish uchun mo‘ljallangan 
(xotira) - bu Android qurilmasida ishlaydigan dasturiy ta’minot to‘plami bo‘lib, 
asosiy funksionallik va foydalanuvchi interfeysini ta’minlaydi. U qurilma ishlab 
chiqaruvchisi yoki tashuvchisi tomonidan kiritilgan har qanday o‘zgartirishlar 
bilan birga Android operatsion tizimini o‘z ichiga oladi. Android ROM 
foydalanuvchilar, ishlab chiquvchilar yoki qurilma ishlab chiqaruvchilari 
tomonidan yangi xususiyatlarni qo‘shish yoki qurilmaning ko‘rinishini va 
interfeysini o‘zgartirish uchun moslashtirilishi mumkin.
Android ROMlarining ikkita asosiy turi mavjud:
 qurilma ishlab chiqaruvchisi tomonidan oʻrnatilgan original ROMlar boʻlgan 
Stock


 ROMlar va Android hamjamiyati yoki uchinchi tomon ishlab chiquvchilari 
tomonidan ishlab chiqilgan birja ROMlarining oʻzgartirilgan versiyalari 
boʻlgan
 Custom ROMlar. Maxsus ROMlar foydalanuvchilarga qoʻshimcha 
funksiyalar va sozlash imkoniyatlarini taklif qiladi, biroq ular toʻgʻri 
oʻrnatilmagan boʻlsa, qurilma kafolatini bekor qilishi va xavfsizlikka xavf 
tugʻdirishi mumkin. 
Android operatsion tizimining arxitekturasi 
Android operatsion tizimi to‘rtta asosiy qatlamni o‘z ichiga olgan qatlamli 
arxitekturada qurilgan: Linux yadrosi, apparat abstraktsiya qatlami (HAL), 
mahalliy C/C++ kutubxonalari va Android Runtime.Linux yadrosi: Android 
arxitekturasining eng quyi darajasida Linux yadrosi joylashgan. Yadro qurilmaning 
apparat vositalarini, jumladan, protsessor, xotira va kiritish/chiqarish (I/U) 
operatsiyalarini boshqarish uchun javobgardir. Linux yadrosi Android operatsion 
tizimining qolgan qismi uchun barqaror va xavfsiz poydevor yaratadi. 
Linux yadrosi Android operatsion tizimining asosiy komponentidir. Android 
1991-yilda Linus Torvalds tomonidan ishlab chiqilgan ochiq kodli operatsion tizim 
yadrosi boʻlgan Linux yadrosiga asoslangan. Yadro tizimning protsessor, xotira va 
kiritish/chiqarish qurilmalari kabi apparat resurslarini boshqarish va taʼminlash 
uchun javobgardir. Ilovalar va xizmatlarning ushbu resurslar bilan 
standartlashtirilgan tarzda o‘zaro ta’sirini ta’minlaydigan abstraksiya qatlami. 
Androidda ishlatiladigan Linux yadrosi mobil platformaning maxsus 
talablariga moslashtirilgan. U quvvatni boshqarish, multimedia va simsiz tarmoq 
kabi mobil qurilmalarga xos xususiyatlarni qo‘llab-quvvatlashni o‘z ichiga oladi. 
Bundan tashqari, yadro mobil qurilmalar uchun yaxshiroq ishlash va xavfsizlikni 
ta’minlash uchun o‘zgartirildi.
Androidda Linux yadrosidan foydalanishning asosiy afzalliklaridan biri 
shundaki, u ochiq kodli dasturiy ta’minotdir, ya’ni ishlab chiquvchilar o‘zlarining 
maxsus ehtiyojlariga mos ravishda manba kodiga kirishlari va o‘zgartirishlari 
mumkin. Bu Android qurilmalari uchun qo‘shimcha funktsiyalar va 
optimallashtirishni ta’minlaydigan ko‘plab maxsus ROMlar (faqat o‘qish uchun 
xotira) va yadrolarni yaratishga olib keldi. Linux yadrosi Android operatsion 
tizimining muhim tarkibiy qismi bo‘lib, mobil platformaning apparat va dasturiy 
resurslari uchun mustahkam poydevor yaratadi. Uning ochiq manbali tabiati 
moslashtirish va innovatsiyalarni amalga oshirishga imkon beradi va uning keng 
tarqalishi butun dunyo bo‘ylab ishlab chiquvchilar va foydalanuvchilarning jonli 
ekotizimini yaratishga yordam berdi. 
Dalvik - bu Android operatsion tizimidagi to‘xtatilgan virtual mashina 
bo‘lib, u Android ilovalarini ishga tushirish va bajarish uchun ishlatilgan. U 


Android 1.5 Cupcakeda taqdim etilgan va Android Runtime (ART) bilan 
almashtirilgan Android 4.4 KitKatgacha standart virtual mashina edi. 
Dalvik - protsessual quvvati va xotirasi cheklangan mobil qurilmalar uchun 
maxsus ishlab chiqilgan registrga asoslangan virtual mashina. U Just-In-Time (JIT) 
kompilyatsiya yondashuvidan foydalanadi, ya’ni dastur kodi ARTda bo‘lgani kabi 
Oldindan Vaqt (AOT) emas, balki ish vaqtida kompilyatsiya qilinadi va 
optimallashtiriladi. Bu Dalvik-ga ilovalarni tezroq yuklash va ishga tushirish 
imkonini berdi, lekin u ham yuqori xotiraga ega edi va batareya quvvati jihatidan 
unchalik samarali emas edi. 
Dalvik 5.0 versiyasidan oldin Android-da ishlatiladigan original virtual 
mashina edi. U kam quvvatli qurilmalarda ishlash uchun optimallashtirilgan va ish 
vaqtida bayt kodini mashina kodiga tarjima qilish uchun Just-In-Time (JIT) 
kompilyatoridan foydalangan. Bu yondashuv ilovalarni tezroq ishga tushirish va 
xotira sarfini kamaytirish imkonini berdi, biroq batareya quvvatining koʻproq 
sarflanishiga va ilovalarni ishga tushirish vaqtlarining uzoqroq boʻlishiga olib 
keldi.
O‘zining afzalliklariga qaramay, Dalvik oxir-oqibat bir qator omillar tufayli 
ART bilan almashtirildi, jumladan uning yuqori xotirasi, sekinroq dasturni ishga 
tushirish vaqti va ilg‘or xususiyatlar va funksionallik nuqtai nazaridan cheklovlar. 
Biroq, Dalvik ba’zi maxsus Android tuzilmalarida va boshqa Java ga asoslangan 
mobil platformalarda foydalanishda davom etmoqda. 
Umuman olganda, Dalvik Android platformasining dastlabki rivojlanishida 
muhim rol o‘ynadi va ishlab chiquvchilarga mobil qurilmalar uchun yuqori sifatli, 
sezgir va xususiyatlarga sermahsul ilovalarni yaratishga imkon beruvchi tez va 
samarali virtual mashinani taqdim etdi. O‘shandan beri u ART bilan almashtirilgan 
bo‘lsada, uning merosi Android platformasining rivojlanishida va kengroq mobil 
hisoblash landshaftida sezilyapti. 
ART (eng. Virtual machine - Android Runtime) Android operatsion 
tizimidagi standart virtual mashina bo‘lib, u Android ilovalarini ishga tushiradi va 
bajaradi.
ART avvalgi Dalvik virtual mashinasini almashtirilgan va Android 5.0 
Lollipopda taqdim etilgan. Shundan beri u Androidning barcha versiyalarida 
standart ish vaqtiga aylandi. 
ART - bu dastur kodini bajaradigan ish vaqti muhiti va dasturga fayl tizimi, tarmoq 
va grafik apparat kabi tizim xizmatlariga kirish imkonini beruvchi asosiy 
kutubxonalar to‘plamini taqdim etadi. U “Ahead-Of-Time” (AOT) kompilyatsiya 
usulidan foydalanadi, ya’ni dastur kodi Dalvikdagi kabi Just-In-Time (JIT) emas, 
balki o‘rnatish vaqtida asl ko‘rinishidan haqiqiy mashina kodiga kompilyatsiya 
qilinadi. 


1.1.5-Rasm.ART va Dalvik farqi 
ART ning Dalvikga nisbatan asosiy afzalliklaridan biri uning yaxshilangan 
ishlashi, ayniqsa dasturni ishga tushirish vaqtlari va umumiy javob berish 
qobiliyatidir. Buning sababi shundaki, ART kodni tezroq bajarishga imkon 
beruvchi yanada samarali kompilyatsiya jarayonidan foydalanadi, kamroq xotira 
yuki va kamroq ish vaqtida xatolar. Bundan tashqari, ART ishlab chiquvchilarga 
yuqori sifatli Android ilovalarini yaratishni osonlashtiradigan yaxshilangan axlat 
yig‘ish va yaxshilangan disk raskadrovka vositalari kabi bir qator ilg‘or 
xususiyatlarni qo‘llab quvvatlaydi. 
Androidda ART va Dalvik o‘rtasidagi asosiy farq ularning kodni bajarish 
usulidir. Dalvik Just-In-Time (JIT) kompilyatsiyasidan, ART esa Ahead-of-Time 
(AOT) kompilyatsiyasidan foydalanadi. JIT bilan kod kerak bo‘lganda tuziladi, 
AOT bilan esa kod muddatidan oldin tuziladi va ikkilik formatda saqlanadi, bu esa 
ilovalarni tezroq ishga tushirish vaqtini va umumiy ish Activityini yaxshilashga 
olib keladi. Bundan tashqari, ART kengroq arxitekturani qo‘llab -quvvatlaydi va 
Dalvik bilan solishtirganda yaxshilangan axlat yig‘ish mexanizmlariga ega. 
Hardware Abstraction Layer (HAL): Linux yadrosining tepasida HAL 
joylashgan. HAL Android platformasi uchun kamera, Wi-Fi moduli va sensorlar 
kabi qurilmaning apparat qismlariga kirish uchun standart interfeysni taqdim etadi.
Ushbu abstraksiya qatlami bir xil kodni turli xil apparat konfiguratsiyalarida 
ishlatilishini ta’minlashga yordam beradi, bu esa ishlab chiquvchilarga keng 
doiradagi qurilmalarda ishlaydigan ilovalarni yaratishni osonlashtiradi. 
Mahalliy C/C++ kutubxonalari: Android platformasi C va C++ tillarida yozilgan 
mahalliy kutubxonalar to‘plamini ham o‘z ichiga oladi. Bu kutubxonalar grafik 
tasvirlarni ko‘rsatish, ma’lumotlar bazasiga kirish va multimediyani ishga tushirish 
kabi keng imkoIntentsni taqdim etadi. Ushbu qatlamdagi ba’zi asosiy 
kutubxonalarga 3D grafikalar uchun OpenGL ES, ma’lumotlar bazasiga kirish 
uchun SQLite va audio va videolarni ijro etish uchun Media Framework kiradi. 


1.1.6-Rasm.Hardware Abstraction Layer (HAL) 
Android Application Framework: Android Application Framework ishlab 
chiquvchilarga Android ilovalarini yaratishga imkon beruvchi APIlar to‘plamini 
taqdim etadi. Ushbu APIlar bildirishnomalarni qayta ishlash, qurilma resurslarini 
boshqarish va tizim xizmatlariga kirish xizmatlarini o‘z ichiga oladi. Ilovalar 
ramkasi, shuningdek, Android ilovasining foydalanuvchi interfeysini yaratish 
uchun ishlatilishi mumkin bo‘lgan TextViews, Buttons va ListViews kabi UI 
komponentlari to‘plamini o‘z ichiga oladi. 
Umuman olganda, Androidning qatlamli arxitekturasi keng ko‘lamli apparat 
konfiguratsiyasida ishlashi mumkin bo‘lgan mobil ilovalarni ishlab chiqish uchun 
barqaror va moslashuvchan platformani ta’minlash uchun mo‘ljallangan. Android 
platformasi vaqt oʻtishi bilan rivojlanib bordi va oʻzining ochiq manbali tabiati va 
qurilmalarda doimiy foydalanuvchi tajribasini taqdim etish qobiliyati tufayli ishlab 
chiquvchilar uchun mashhur tanlov boʻlib qolmoqda. 
Ilovalar: Android qurilmalarida o‘rnatilishi va ishlashi mumkin bo‘lgan 
ilovalarni ishlab chiqish uchun asos yaratadi. Ilovalar Java yoki Kotlin dasturlash 
tillari yordamida ishlab chiqilishi mumkin va ular qurilmadagi kamera, sensorlar 
va joylashuv xizmatlari kabi keng imkoIntentsdan foydalanishlari mumkin. 
1.1.7-Rasm.Android ilovalarini yaratish 
Activities: Activitylar (ing. Activities) Android ilovasining asosiy 
foydalanuvchi interfeysi komponentlaridir. Ular foydalanuvchi o‘zaro aloqada 


bo‘lishi mumkin bo‘lgan foydalanuvchi interfeysi bilan bitta ekranni ifodalaydi. 
Ilovada bir nechta Activity bo‘lishi mumkin va ular foydalanuvchi harakatlana 
oladigan ekranlar oqimini yaratish uchun bir-biriga bog‘lanishi mumkin. 
Activitylardan shuningdek, tugmani bosish yoki ekranni surish kabi foydalanuvchi 
ma’lumotlarini qabul qilish va ularga javob berish uchun foydalanish mumkin.
1.1.8-Rasm. Activity launchedning sxemasi 
Androidda kontent provayderlari - bu boshqa ilovalar yoki komponentlar 
tomonidan kirish mumkin bo‘lgan umumiy ilova ma’lumotlar to‘plamini 
boshqaradigan dastur komponentining bir turidir. Kontent provayderlari 
ma’lumotlarni boshqarish uchun standart interfeysni taqdim etadi, bu esa 
ilovalarga ma’lumotlar bilan izchil va xavfsiz tarzda o‘zaro ta’sir qilish imkonini 
beradi.
1.1.9-Rasm. Android-Dagi Kontent Provayderi ishlash sxemasi 
Kontent provayderlari odatda ma’lumotlar bazalarida, fayllarda yoki boshqa 
turdagi ma’lumotlar manbalarida saqlangan ma’lumotlarni boshqaradi va boshqa 
ilovalarga ma’lumotlarni so‘rash, kiritish, yangilash va o‘chirishga ruxsat beradi.


Ular, shuningdek, ilovalar o‘rtasida ma’lumotlarni almashish mexanizmini 
taqdim etishi mumkin, bu bir nechta ilovalarga bir xil ma’lumotlarga kirish va 
o‘zgartirish imkonini beradi. 
Kontent provayderlari ContentProvider sinfining quyi sinflari sifatida 
amalga oshiriladi va ularni AndroidManifest.xml faylida ro‘yxatdan o‘tkazish 
mumkin. Ular ma’lumotlarni boshqarish uchun query(), insert(), update() va 
delete() kabi standart usullardan foydalanadilar. Ushbu usullar boshqa ilovalar yoki 
komponentlar tomonidan ContentResolver ob’ekti yordamida chaqiriladi, bu esa 
kontent provayderidan ma’lumotlarga kirish uchun standartlashtirilgan interfeysni 
ta’minlaydi. 
Kontent provayderlaridan foydalanishning asosiy afzalliklaridan biri 
shundaki, ular ilovalar uchun ma’lumotlarni almashish va boshqarish uchun 
xavfsiz va standartlashtirilgan usulni ta’minlaydi. Ma’lumotlarga kirish va 
o‘zgartirish uchun izchil interfeysni ta’minlash orqali kontent provayderlari 
ilovalarning ma’lumotlarning maxfiyligi yoki xavfsizligini buzmasdan xavfsiz va 
xavfsiz tarzda ma’lumotlar bilan o‘zaro ta’sir qilishini ta’minlaydi. Kontent 
provayderlari Android operatsion tizimining muhim tarkibiy qismi bo‘lib, ilovalar 
uchun ma’lumotlarni xavfsiz va standartlashtirilgan tarzda boshqarish va almashish 
imkonini beradi.
Kontent provayderlarining kuchidan foydalangan holda, ishlab chiquvchilar 
yanada moslashuvchan, kuchliroq va ko‘proq o‘zaro ishlashi mumkin bo‘lgan 
ilovalarni yaratishi mumkin, bu esa foydalanuvchilarga bir nechta ilovalarda izchil 
va xavfsiz tarzda ma’lumotlarga kirish va boshqarish imkonini beradi.
Umuman olganda, ushbu komponentlar va xususiyatlarning kombinatsiyasi 
Android platformasida mobil ilovalarni yaratish uchun kuchli asos yaratadi. Ushbu 
komponentlar va xususiyatlardan foydalangan holda, ishlab chiquvchilar yuqori 
sifatli foydalanuvchi tajribasini ta’minlaydigan sermahsul va jozibali ilovalarni 
yaratishi mumkin. 
Androidda Intent - bu xabar almashish ob’ekti bo‘lib, u tizimning boshqa 
komponentidan harakatni boshlash, translyatsiya yuborish yoki xizmatni ishga 
tushirish kabi harakatni so‘rash uchun ishlatiladi. Intentni bir komponentdan 
ikkinchisiga yuboriladigan xabar yoki signal sifatida qarash mumkin, bu 
komponentlarning bir-biri bilan o‘zaro ta’siri va turli vazifalarni bajarishiga imkon 
beradi. 


1.1.10-Rasm.Intent orqali kamera va email ishlash Activityi 
Intent ikki qismdan iborat: harakat va ma’lumotlar. Harakat amalga 
oshiriladigan operatsiya turini belgilaydi, masalan, web-sahifani ochish uchun 
“KO‘RISH” yoki elektron pochta xabarini yuborish uchun “YUBORISH”. 
Ma’lumotlar web sahifaning URL manzili yoki elektron pochta manzili kabi 
operatsiya bajarilishi kerak bo‘lgan ma’lumotlarni belgilaydi.Intent aniq yoki 
yashirin bo‘lishi mumkin. Aniq Intent maqsadni olishi kerak bo‘lgan komponentni, 
masalan, muayyan Activity yoki xizmatni belgilaydi. Yashirin Intent komponentni 
belgilamaydi, aksincha, tizimdagi boshqa komponentlar tomonidan roʻyxatga 
olingan Intent filtrlari asosida tizimga qaysi komponent Intentni olishi kerakligini 
aniqlash imkonini beruvchi harakat va maʼlumotlarni belgilaydi. 
Intents Android tizimida keng qo‘llaniladi, bu turli komponentlarga bir-biri 
bilan aloqa qilish va turli vazifalarni bajarish imkonini beradi. Masalan, Activity 
boshqa Activityni boshlash uchun Intentdan foydalanishi mumkin, xizmat 
translyatsiya xabarini yuborish uchun Intentdan foydalanishi mumkin va eshittirish 
qabul qiluvchisi xizmatni boshlash uchun Intentdan foydalanishi mumkin. Intents, 
shuningdek, ilovalar o‘rtasida ma’lumotlarni almashish yoki boshqa ilovada 
Activityni boshlash kabi ilovalarga o‘zaro ta’sir o‘tkazish imkonini beradi. 
Broadcast Receivers - bu telefon qo‘ng‘irog‘i qabul qilinganda yoki batareya 
quvvati kam bo‘lganda kabi butun tizim voqealarini tinglaydigan komponentdir. 
Voqea sodir bo‘lganda, tizim barcha ro‘yxatdan o‘tgan qabul qiluvchilarga 
translyatsiya yuboradi, keyinchalik ular voqea asosida muayyan harakatlarni 
amalga oshirishi mumkin. 
Android Framework: Android ramkasi ilovalarni ishlab chiqishni 
soddalashtiradigan oldindan tuzilgan sinflar va funktsiyalar to‘plamini taqdim 
etadi. Ramka foydalanuvchi interfeysi, ma’lumotlarni saqlash, tarmoq va boshqa 
ko‘plab funktsiyalar uchun komponentlarni o‘z ichiga oladi. 


1.1.11-Rasm.Androidda Broadcast Receivers 
Androiddagi UI (eng. User Interface - foydalanuvchi interfeysi) 
komponentlari foydalanuvchilar turli vazifalarni bajarish va ilova orqali 
harakatlanish uchun o‘zaro aloqada bo‘ladigan vizual elementlardir. Androiddagi 
ba’zi asosiy UI komponentlariga quyidagilar kiradi: 
Activities: Activity foydalanuvchi interfeysi bilan bitta ekranni ifodalaydi. 
Unda matn maydonlari, tugmalar va tasvirlar kabi turli xil UI komponentlari 
bo‘lishi mumkin. 
Fragmentlar - bu moslashuvchan va dinamik UI yaratish uchun boshqa 
fragmentlar bilan birlashtirilishi mumkin bo‘lgan qayta foydalanish mumkin 
bo‘lgan UI komponentlari. Ular turli ekran o‘lchamlari va yo‘nalishlariga moslasha 
oladigan murakkabroq foydalanuvchi interfeyslarini yaratish uchun ishlatiladi. 
Views: Ko‘rishlar Android UI komponentlarining asosiy qurilish bloklari 
hisoblanadi. Ular tugmalar, matn maydonlari, tasvirlar va foydalanuvchilar bilan 
muloqot qilishlari mumkin bo‘lgan boshqa interaktiv elementlarni o‘z ichiga oladi. 
Layouts: - bu UI komponentlarini saqlaydigan va ularning ekranda 
joylashishini aniqlaydigan konteynerlar. Ular ilovaning foydalanuvchi 
interfeysining umumiy strukturasini yaratish uchun ishlatiladi. 
Intents: Niyatlar ilovaning turli komponentlari, masalan, Activity, xizmatlar 
va translyatsiya qabul qiluvchilari oʻrtasida aloqa oʻrnatish uchun ishlatiladi. Ular 
Activityni boshlash, xabar yuborish yoki tizim hodisasini ishga tushirish uchun 
ishlatiladi. 
Adapterlar: Adapterlar ma’lumotlarni ro‘yxatlar yoki panjaralar kabi UI 
komponentlariga ulash uchun ishlatiladi. Ular katta hajmdagi ma’lumotlarni 
tuzilgan tarzda ko‘rsatish usulini ta’minlaydi. 
Bular Androiddagi asosiy UI komponentlaridan faqat bir nechtasi. Keng 
ko‘lamli foydalanuvchi interfeyslari va tajribalarini yaratish uchun ularni turli 
usullar bilan birlashtirish mumkin. 


Android operatsion tizimi sermahsul va mukammal mobil ilovalar yaratish 
uchun ishlatilishi mumkin bo‘lgan keng ko‘lamli UI komponentlarini taqdim etadi. 
Quyida Androidda eng ko‘p ishlatiladigan UI komponentlari keltirilgan: 
TextView: - bu komponentasi matnni ekranda aks ettirish uchun ishlatiladi. 
U oddiy matnni, formatlangan matnni yoki hatto giperhavolalarni ko‘rsatish uchun 
ishlatilishi mumkin. 
EditText: - bu komponenti foydalanuvchilarga matn kiritish imkonini berish 
uchun ishlatiladi. U foydalanuvchi nomi, parol yoki qidiruv so‘rovini kiritish kabi 
turli maqsadlarda ishlatilishi mumkin. 
Button: - bu komponenti bosiladigan tugmalarni yaratish uchun ishlatiladi. 
U amalni boshlash yoki ilova ichidagi boshqa ekranga o‘tish uchun ishlatilishi 
mumkin. 
ImageButton: - bu komponenti matn o‘rniga tasvirni aks ettiruvchi 
tugmalar yaratish uchun ishlatiladi. U maxsus piktogramma yaratish yoki 
foydalanuvchiga vizual fikr bildirish uchun ishlatilishi mumkin. 
ImageView: - bu komponenti tas’virlarni ekranda aks ettirish uchun 
ishlatiladi. U fotosuratlar, piktogrammalar yoki boshqa grafiklarni ko‘rsatish uchun 
ishlatilishi mumkin. 
ProgressBar: - bu komponenti operatsiya davom etayotganligini ko‘rsatish 
uchun ishlatiladi. U uzoq davom etadigan operatsiya sodir bo‘lganda, masalan, 
internetdan ma’lumotlarni yuklab olishda foydalanuvchiga fikr bildirish uchun 
ishlatilishi mumkin. 
ListView: - bu komponenti ekrandagi elementlar ro‘yxatini ko‘rsatish uchun 
ishlatiladi. U kontaktlar, xabarlar yoki boshqa ma’lumotlar ro‘yxatini ko‘rsatish 
uchun ishlatilishi mumkin. 
RecyclerView: - bu komponenti ListViewga o‘xshaydi, lekin ko‘proq 
moslashuvchanlik va ishlashni ta’minlaydi. U katta ma’lumotlar to‘plamlarini 
samarali ko‘rsatish uchun mo‘ljallangan va maxsus tartiblar va animatsiyalarni 
amalga oshirish uchun ishlatilishi mumkin. 
Spinner: - bu komponenti ochiladigan variantlar ro‘yxatini yaratish uchun 
ishlatiladi. U foydalanuvchiga til yoki valyuta kabi roʻyxatdagi variantni tanlashga 
ruxsat berish uchun ishlatilishi mumkin. 
WebView: - bu komponenti ilova ichidagi web-sahifalarni ko‘rsatish uchun 
ishlatiladi. U internetdagi kontentni ko‘rsatish yoki Android ilovasiga web 
ilovalarni joylashtirish uchun ishlatilishi mumkin. 
Bular Androidda eng ko‘p qo‘llaniladigan UI komponentlaridan ba’zilari. 
Android platformasi ilovaning o‘ziga xos ehtiyojlariga mos keladigan maxsus 
maketlar va animatsiyalarni yaratish uchun ishlatilishi mumkin bo‘lgan sermahsul 
UI komponentlarini taqdim etadi. 


Xizmatlar: Xizmatlar odatda ilova manifest faylida aniqlanadi va maqsad 
yoki boshqa komponentdan xizmatga ulanish orqali ishga tushiriladi. Xizmatlar 
fonda cheksiz ishlashi mumkin va xabarlar yoki umumiy xotira orqali boshqa 
komponentlar bilan bog‘lanishi mumkin. Ikki turdagi xizmatlar mavjud: 
boshlangan xizmatlar va bog‘langan xizmatlar. Boshlangan xizmatlar bitta vazifani 
bajarish va keyin to‘xtash uchun ishlatiladi, bog‘langan xizmatlar esa boshqa 
komponentlarning xizmat bilan o‘zaro aloqasi uchun interfeysni ta’minlash uchun 
ishlatiladi. 
Xizmatlar 
Androidda xizmatlar fonda ishlaydigan va uzoq muddatli vazifalarni 
bajaradigan yoki foydalanuvchi interfeysini talab qilmaydigan funksionallikni 
ta’minlaydigan dastur komponentining bir turidir. Xizmatlar faoliyatlar yoki 
boshqa xizmatlar kabi boshqa komponentlar tomonidan ishga tushirilishi mumkin 
va ular aniq to‘xtatilmaguncha yoki tizim ularni to‘xtatmaguncha muddatsiz 
ishlashi mumkin. 
Android-dagi xizmatlar fonda musiqa ijro etish, internetdan ma’lumotlarni 
yuklab olish, davriy tekshiruvlar yoki yangilanishlarni amalga oshirish yoki tizim 
darajasidagi boshqa vazifalarni bajarish kabi turli maqsadlarda ishlatilishi mumkin. 
Ular Xizmat sinfining quyi sinflari sifatida amalga oshiriladi va 
AndroidManifest.xml faylida ro‘yxatdan o‘tkazilishi mumkin. 
Androidda ikki turdagi xizmatlar mavjud: ishga tushirilgan xizmatlar va 
bog‘langan xizmatlar. Boshlangan xizmatlar odatda foydalanuvchi interfeysi bilan 
o‘zaro aloqani talab qilmaydigan yoki fonda ishlaydigan vazifalar uchun 
ishlatiladi. Ular startService() usuli yordamida ishga tushiriladi va ularni ishga 
tushirgan komponent yo‘q qilingandan keyin ham ishlashni davom ettirishi 
mumkin. 
Boshlangan 
xizmatni 
to‘xtatish 
uchun 
stopService() 
usuli 
qo‘llaniladi.Boshqa tomondan, bog‘langan xizmatlar odatda boshqa komponentlar 
bilan o‘zaro aloqani talab qiladigan yoki mijoz-server interfeysi turini 
ta’minlaydigan vazifalar uchun ishlatiladi. Ular bindService() usuli yordamida 
ishga tushiriladi va ularni ishga tushirgan komponentdan interfeys orqali ular bilan 
o‘zaro aloqada bo‘lishini talab qiladi. Bog‘langan xizmatlar, ular bilan bog‘langan 
mijozlar qolmaganda yoki tizim ularni to‘xtatganda yo‘q qilinadi. 
Umuman olganda, xizmatlar Android operatsion tizimining muhim tarkibiy 
qismi bo‘lib, ilovalar uchun uzoq muddatli vazifalarni bajarish va foydalanuvchi 
interfeysiga aralashmasdan fon funksiyalarini ta’minlash imkonini beradi.
Xizmatlarning kuchidan foydalangan holda, ishlab chiquvchilar optimal 
ishlash va samaradorlikni saqlab, sermahsulroq, yanada mukammal foydalanuvchi 
tajribasini ta’minlaydigan ilovalar yaratishi mumkin. Android ko‘plab mobil 


ilovalarni qo‘llab-quvvatlaydigan mashhur mobil operatsion tizimdir. Android 
mobil ilovalarini turli manbalardan, masalan, Google Play Store, Amazon 
Appstore yoki toʻgʻridan-toʻgʻri dastur ishlab chiqaruvchisi web-saytidan yuklab 
olish va oʻrnatish mumkin. 
Google Play doʻkoni Android ilovalari uchun asosiy manba boʻlib, 3 
milliondan ortiq ilovalar, jumladan, oʻyinlar, ijtimoiy media ilovalari, mahsuldorlik 
ilovalari va boshqalarga kirish imkonini beradi. Google Play do‘koni ko‘pgina 
Android qurilmalarida oldindan o‘rnatilgan bo‘lib, ishlab chiquvchilar uchun o‘z 
ilovalarini nashr etish va tarqatish uchun markazlashtirilgan platformani taqdim 
etadi.Google Play do‘konidan tashqari, Android ilovalarini taklif qiluvchi boshqa 
ilovalar do‘konlari ham mavjud, masalan, mashhur Android ilovalari va o‘yinlari 
tanloviga kirish imkonini beruvchi Amazon Appstore va tanlangan ilovalar 
tanlovini taklif qiluvchi Samsung Galaxy Store. va Samsung qurilmalari uchun 
o‘yinlar. 
Android ilovalarini to‘g‘ridan-to‘g‘ri dastur ishlab chiqaruvchisi web-
saytidan yoki boshqa uchinchi tomon ilovalari do‘konlaridan yuklab olish va 
o‘rnatish ham mumkin. Biroq, Google Play do‘konidan tashqarida ilovalarni 
yuklab olish va o‘rnatishda ehtiyot bo‘lish kerak, chunki bu ilovalar rasmiy 
ilovalar do‘konida mavjud bo‘lganlar kabi tekshirish va sinovdan o‘tmagan 
bo‘lishi mumkin. 
Umuman olganda, Android mobil ilovalar uchun sermahsul va xilma-xil 
ekotizimni taqdim etadi, har bir foydalanuvchining ehtiyojlari va manfaatlariga 
mos keladigan keng doiradagi ilovalarni taklif etadi. Android quvvatidan 
foydalangan holda, ishlab chiquvchilar kuchli, moslashuvchan va juda 
moslashtirilgan ilovalarni yaratishi mumkin, bu esa foydalanuvchilarga o‘z mobil 
qurilmalari bilan har qachongidan ham ko‘proq narsani qilish imkonini 
beradi.Statista ma’lumotlariga ko‘ra, 2021 - yil holatiga ko‘ra, Android dunyodagi 
eng ko‘p qo‘llaniladigan mobil operatsion tizim bo‘lib, global mobil operatsion 
tizim bozorining taxminan 73 foizini tashkil qiladi. Bu shuni anglatadiki, mobil 
ilovalarning katta qismi Android platformasi uchun mo‘ljallangan va Android 
ilovalari uchun asosiy ilovalar do‘koni bo‘lgan Google Play do‘koni 3 milliondan 
ortiq ilovalarga kirishni taklif qiladi. 
IOS, Windows va boshqalar kabi boshqa mobil operatsion tizimlar ham 
o‘zlarining ilovalari do‘konlariga ega bo‘lsada, bozordagi Android qurilmalarining 
ko‘pligi uni eng katta auditoriyaga kirishni maqsad qilgan ilovalar ishlab 
chiquvchilari uchun asosiy maqsad qilib qo‘ydi. Bu Android ilovalari 
ekotizimining gullab-yashnashiga olib keldi, har qanday ehtiyoj va qiziqishlarga 
mos keladigan turli xil ilovalar mavjud. 
Android ilovalarini yaratish uchun foydalaniladigan dasturlash tillari 


Android ilovalarini yaratish uchun ishlatilishi mumkin bo‘lgan bir nechta 
dasturlash tillari mavjud, ammo eng ko‘p ishlatiladigan tillar Java va Kotlin. Ikkala 
til ham Google tomonidan rasman qo‘llab-quvvatlanadi va mahalliy Android 
ilovalarini ishlab chiqish uchun ishlatilishi mumkin. 
Java ko‘p yillar davomida Android ilovalarini ishlab chiqish uchun asosiy 
dasturlash tili bo‘lib kelgan va ishlab chiquvchilar tomonidan keng qo‘llaniladi. Bu 
portativ, xavfsiz va mustahkam bo‘lishi uchun mo‘ljallangan umumiy maqsadli, 
ob’ektga yo‘naltirilgan dasturlash tilidir. Java o‘rganish nisbatan oson va ishlab 
chiquvchilar va resurslarning katta hamjamiyatiga ega. 
Kotlin - bu yangi dasturlash tili bo‘lib, u 2017 yilda Google tomonidan 
Android uchun Java-ga zamonaviy muqobil sifatida taqdim etilgan. Kotlin ham 
umumiy maqsadli, ob’ektga yo‘naltirilgan tildir, lekin u Java-ga qaraganda 
ixchamroq va ifodali bo‘lishi uchun yaratilgan bo‘lib, kodni yozish va saqlashni 
osonlashtiradi.
Kotlin Java bilan to‘liq o‘zaro ishlaydi, ya’ni ishlab chiquvchilar bitta 
loyihada ikkala tildan foydalanishlari va mavjud Java kodlarini osongina Kotlinga 
o‘tkazishlari mumkin. 
Android ilovalarini ishlab chiqish uchun ishlatilishi mumkin bo‘lgan boshqa 
dasturlash tillariga C++, C# va Python kiradi, garchi bu tillar Androidni ishlab 
chiqishda kamroq qo‘llaniladi. Umuman olganda, Java va Kotlin Android 
ilovalarini ishlab chiqish uchun eng mashhur va keng qo‘llaniladigan dasturlash 
tillari bo‘lib, ikkala til ham ishlab chiquvchilarga mahalliy Android ilovalarini 
yaratish uchun kuchli va moslashuvchan platformani taklif qiladi. 
Java va Kotlindan tashqari, Android dasturchilari ham yuqori sifatli Android 
ilovalarini yaratish uchun bir qator vositalar va ramkalardan foydalanadilar. 
Androidni ishlab chiqish uchun eng mashhur ramkalar va kutubxonalardan 
ba’zilari:Android Studio: Android Studio - bu Android ilovalarini ishlab chiqish 
uchun rasmiy integratsiyalashgan ishlab chiqish muhiti (IDE). U Android 
ilovalarini yaratish, sinovdan o‘tkazish va disk raskadrovka qilish uchun bir qator 
vositalar va xususiyatlarni taqdim etadi, jumladan, ilg‘or kod muharriri, vizual 
tartib muharriri va bir qator disk raskadrovka va ish Activityini tahlil qilish 
vositalari. 
React Native – bu Facebook tomonidan ishlab chiqilgan ochiq manbali 
ramka bo‘lib, ishlab chiquvchilarga JavaScript dasturlash tilidan foydalangan holda 
Android va iOS uchun platformalararo mobil ilovalar yaratish imkonini beradi. U 
ishlab chiquvchilarga yuqori sifatli mobil ilovalarni tez va samarali yaratishga 
yordam beradigan bir qator oldindan tuzilgan komponentlar va vositalarni taqdim 
etadi. 


Flutter – bu Google tomonidan ishlab chiqilgan ochiq manbali mobil 
ilovalarni ishlab chiqish tizimi bo‘lib, u ishlab chiquvchilarga bitta kod bazasidan 
foydalangan holda Android, iOS va internet uchun yuqori sifatli, mahalliy 
kompilyatsiya qilingan mobil ilovalarni yaratish imkonini beradi. Flutter Dart 
dasturlash tilidan foydalanadi va ishlab chiquvchilarga chiroyli, sezgir va tezkor 
mobil ilovalar yaratishda yordam berish uchun bir qator oldindan tuzilgan vidjetlar 
va vositalarni taqdim etadi. 
RxJava – bu Android ilovalarini ishlab chiqish uchun mashhur reaktiv 
dasturlash kutubxonasi. Bu ishlab chiquvchilarga real vaqtda ma’lumotlar va 
hodisalarga javob beradigan kod yozish imkonini beradi, bu esa murakkab va 
sezgir Android ilovalarini yaratishni osonlashtiradi. 
Retrofit – bu Android ilovalarini ishlab chiqish uchun mashhur tarmoq 
kutubxonasi. Bu HTTP so‘rovlarini bajarish va javoblarni qayta ishlash jarayonini 
soddalashtiradi, bu esa ishlab chiquvchilarga tarmoqqa ulangan Android ilovalarini 
yaratishni osonlashtiradi. 
Bular Android ishlab chiquvchilari yuqori sifatli Android ilovalarini yaratish 
uchun foydalanadigan ko‘plab vositalar va ramkalarning bir nechtasi. Ushbu 
vositalar va tillarning kuchidan foydalangan holda, ishlab chiquvchilar kuchli, 
moslashuvchan va juda moslashtirilgan mahalliy Android ilovalarini yaratishi 
mumkin, bu esa foydalanuvchilarga sermahsul va mukammal mobil tajribani taklif 
qiladi. 
1.2. Android ilovalar komponentalari 
Ilova komponentlari Android ilovasining asosiy qurilish bloklari 
hisoblanadi. Har bir komponent tizim yoki foydalanuvchi sizning ilovangizga 
kirishi mumkin bo‘lgan kirish nuqtasidir. Ba’zi komponentlar boshqalarga bog‘liq. 
To‘rt xil turdagi dastur komponentlari mavjud: 
 Activity; 
 xizmatlar; 
 eshittirish qabul qiluvchilar; 
 kontent provayderlari. 
Har bir tur ma’lum bir maqsadga xizmat qiladi va komponentning qanday 
yaratilishi va yo‘q qilinishini belgilaydigan alohida hayot aylanishiga ega. 
Keling, Activity va fragmentlar kabi komponentlardan boshlaylik va tizim 
ularning ishini to‘xtatishi mumkin bo‘lgan holatlarni ko‘rib chiqaylik. 
Activity va parchalar 
Sinovchi nuqtai nazaridan, Activityni elementlar ko‘rsatiladigan ekran 
sifatida ko‘rish mumkin. Ilova kamida bitta Activitydan iborat. Aslida, Activity UI 
komponentlari uchun konteynerdir. Agar Activity konteyner bo‘lsa, u holda 


fragmentlar Activityning UI komponentlari hisoblanadi. Fragment, shuningdek, 
o‘z navbatida, UI komponentlari uchun konteynerdir. Brauzer bilan ajoyib 
o‘xshashlik mavjud. Activity va fragmentlarning bir-biri bilan qanday bog‘liqligini 
ko‘proq vizual tasvirlash uchun. Tasavvur qiling, bizda bitta brauzerning bir nechta 
oynalari ochiq. Bular bitta dastur doirasidagi bir nechta harakatlar. 
1.2.1-Rasm.Web Poge ko‘rinish oynasi 
Bir oynada bir nechta yorliqlar ochilishi mumkin. Bu Activity ichidagi 
parchalar. 
1.2.2-Rasm. Activity ichidagi parchalar ko‘rinishi 
Fragmentlar Activitylarga qaraganda biroz tezroq. Ammo zamonaviy 
qurilmalarda farq deyarli sezilmaydi. Vazifaning qanday echilishiga qarab, ishlab 
chiquvchi dasturni faqat Activity yoki fragmentlar yordamida Activity bo‘yicha 
yozishi mumkin. 
Operatsion tizim, dasturning hayot aylanishini boshqarishda, dasturni 
faollashtirish bilan aniq ishlaydi. Shuning uchun, hozircha bizni Activityning hayot 
aylanishi qiziqtiradi. 
Foydalanuvchilar ko‘p sonli ilovalarni ishga tushiradilar, ya’ni ko‘plab 
jarayonlar faollashtirish bilan yaratiladi. Har bir ishlaydigan jarayon qurilmaning 
operativ xotirasini iste’mol qiladi va u kamroq va kamroq bo‘ladi. Ammo Android 


jarayonlarni diqqat bilan kuzatib boradi va yuqoriroq ustuvor ishlarni bajarish 
uchun resurslar etishmasligi bo‘lsa, kamroq ustuvor bo‘lganlarni yopadi. Keling, 
dastur qaysi nuqtada tizimning bunday qarorlariga “zaif” ekanligini va bu uning 
ishlashiga qanday ta’sir qilishi mumkinligini ko‘rib chiqaylik. 
Activityning hayot aylanishi 
Ishga tushirilgandan so‘ng va tugallanmaguncha, Activity har doim 
statuslardan birida bo‘ladi. Sinovda bu biz uchun potentsial muammoli vaziyatlarni 
va Interrupt testi kontekstida tushunishimiz uchun foydalidir. 
Activity tugashidan oldin tegishli hayot aylanish usullari chaqiriladi. 
OnPause() usuli barcha tinglovchilarni va interfeys yangilanishlarini 
to‘xtatishi kerak. OnStop() usuli ilova ma’lumotlarini saqlashi kerak. Nihoyat, 
onDestroy() usuli Activityga ajratilgan har qanday resurslarni chiqaradi. 
Agar foydalanuvchi tizim hodisasi tomonidan to‘xtatilgan dasturga qaytsa, 
onResume() usuli chaqiriladi. Saqlangan ma’lumotlarga asoslanib, tinglovchilar 
qayta ro‘yxatdan o‘tishlari va interfeys yangilanishlarini almashtirishlari mumkin. 
1.2.3-Rasm. onResume() usuli chaqirish sxemasi 
Activityning hayot aylanishi quyidagi holatlar bilan ifodalanadi 
1.2.1-Jadval 
Holati 
Tushuntirish 
Среаted 
Aktivity yaratilgan foydalanuvchi hali u bilan aloqa qila olmaydi 
Started 
Aktivity ishga tushirildi foydalanuvchi hali u bilan aloqa qila olmaydi, 
lekin u allaqachon ko‘rinib turibdi 
Resumed 
Faollashtirish ekranda ko‘rinadi va foydalanuvchi u bilan o‘zaro aloqada 
bo‘lishi mumkin 
Paused 
Aktivit ekranda qisman ko‘rinadi va foydalanuvchi u bilan aloqa qila 
olmaydi ( skil ko‘p oynali rejimda to‘liq ko‘rinadi, ammo hozirgi vaqtda 
Foydalanuvchi boshqa aktivit bilan o‘zaro ta’sir qiladi) 
Stopped 
Aktivity to‘xtatildi va ekranda ko‘rinmaydi, lekin hali ham xotirada 
saqlanadi 
Destroyed 
Aktivit yo‘q qilinadi va endi xotirada saqlanmaydi 
Bunga quyidagi misollarni keltirib o‘tamiz. Ular sinov paytida biz tez-tez 
duch keladigan asosiy holatlarni qamrab oladi. 


Ilovaning birinchi ishga tushirilishi 
1.2.4-Rasm. Ilova ishga tushirish sxemasi 
Ilova birinchi marta ishga tushirilganda ilovadagi asosiy Activity yaratiladi 
va yuklanadi. Activity foydalanuvchi bilan o‘zaro aloqada bo‘lishi mumkin.
1.2.5-Rasm. Birinchi ekrandan ikkinchisiga o‘tish 
1-qadam: Birinchi ekrandan ikkinchisiga o‘tayotganda birinchi ekranning 
Activity to‘xtatiladi. Ushbu nuqtada kiritilgan ma’lumotlarni saqlash va resurslarni 
ko‘p talab qiladigan operatsiyalarni to‘xtatish (masalan, animatsiyalarni o‘ynash) 
kabi harakatlar bajarilishi mumkin. Bu juda tez sodir bo‘ladi va foydalanuvchi 
uchun sezilmaydi. 
2, 3, 4-qadam: Ikkinchi ekran faollashtirildi. 
5-qadam: Birinchi ekranni faollashtirish to‘xtaydi. Bundan tashqari agar 
Android hozirda xotirani bo‘shatishga harakat qilsa, birinchi ekranni faollashtirish 
qo‘shimcha ravishda “Destroyed” holatiga o‘tishi mumkin. 

Paused
” holat nima ekanligini yaxshiroq tushunish uchun quyidagi 
vaziyatni tasavvur qilaylik: Alert paydo bo‘ldi. Biz u bilan muloqot qila olmaymiz, 
lekin ayni paytda biz uni ko‘ramiz. 


1.2.6-Rasm. Ikkinchi ekrandan birinchi ekranga qaytish 
Ikkinchi ekrandan birinchisiga qaytganingizda, deyarli bir xil narsa sodir 
bo‘ladi, faqat birinchi faollashtirish yangidan yaratilmaydi. U xotiradan yuklanadi 
(agar tizim tomonidan yo‘q qilinmagan bo‘lsa). Ikkinchi Activity to‘xtatilgandan 
so‘ng yo‘q qilinadi, chunki u o‘tish stekidan chiqariladi. 
1.2.7-Rasm. Ilovani minimallashtirish va undan chiqish 
Ilovani minimallashtirishda (masalan, Home tugmasi) faollashtirish 
to‘xtaydi. 
Dasturni ochishda aktivity to‘g‘ri tiklanishi va ma’lumotlar saqlanib qolishi 
muhimdir. 
Barcha ekranlarda biz dasturni minimallashtirish va kengaytirishni 
tekshirishga harakat qilamiz. Ushbu holat kirish shakllarida dolzarbdir. Agar biz 
juda ehtiyotkorlik bilan yozgan xat matni dasturni minimallashtirishda o‘chirilsa, 
bu maqsadga muvofiq bo‘lmaydi. Bunda ko‘plab maydonlardan tashkil topgan 
shakl bo‘sh bo‘lib qoladi.
Ilovadan chiqishda (apparat tugmachasini orqaga qaytarish orqali) 1 va 2-
qadamga qo‘shimcha ravishda 3-qadam bajariladi. Aktivity yo‘q qilinadi va 
keyingi safar dasturni ishga tushirganingizda yangidan yaratiladi. 
Ekranni aylantirish 
Xatolarni keltirib chiqaradigan muhim holatlardan biri bu Ekranni 
aylantirishdir. Ma’lum bo‘lishicha, Activity ekrani aylantirilganda to‘liq hayot 
aylanishi sodir bo‘ladi. Ya’ni, u yo‘q qilinadi va yana yaratiladi. Shuning uchun 
har bir burilishda. Shuning uchun, yana har bir ekranda aylanishni tekshiring. 


1.2.8-Rasm. Activity ekrani aylantirsh 
Ekranning gorizontal yo‘nalishini qo‘llab-quvvatlash bir tomondan, 
faollikning barcha bosqichlari to‘g‘riligini tekshirishga imkon beradi, boshqa 
tomondan esa, sinov holatlari sonini sezilarli darajada oshiradi.
Ko‘p oynali rejim 
Android 7-dan boshlab (Android 6-dan eksperimental xususiyat sifatida) 
ko‘p oynali rejim mavjud bo‘ldi. Foydalanuvchilar bir vaqtning o‘zida ekranda bir 
nechta ilovalarni ko‘rish imkoniyatiga ega bo‘lishadi. Bundan tashqari faqat 
foydalanuvchi o‘zaro aloqada bo‘lgan dastur “Resumed” holatida, qolganlari esa 
“Paused” holatiga o‘rnatiladi. 
Don’t keep activities (Faoliyatni davom ettirmang) 
Agar ilova ekranni aylantirishni qo‘llab-quvvatlamasa, faollikning to‘liq 
aylanishini tekshirish albatta talab qilinadi.
Agar operativ xotira (RAM) uzoq vaqt davomida tozalanmagan bo‘lsa, 
sizning ilovangizga parallel ravishda ba’zi bir resurslarni talab qiladigan dastur 
(masalan, PokemonGo) ishga tushirilganda Android boshqa dasturga o‘tishni 
sizning faolligingiz bilan bajariladi.
Agar ekran aylanishini qo‘llab-quvvatlamasa, dasturning to‘g‘ri ishlashini 
tekshirish ishlab chiquvchi sozlamalarida “don't keep activities” katakchasini 
o‘rnating va dasturni qayta ishga tushiring. Bunday holda, xotira etarli 
bo‘lmaganda vaziyat taqlid qilinadi va Android foydalanuvchi hozirda o‘zaro 
aloqada bo‘lmagan barcha faolliklarni yo‘q qiladi va faqat faol bo‘lganlarni 
qoldiradi.
Broadcast receiver 
(Eshittirish qabul qiluvchisi) 
Broadcast qabul qiluvchi komponenti tashqi hodisalarni boshqarish uchun 
ishlatiladi. Ilova tizim va boshqa dastur hodisalariga obuna bo‘lishi mumkin. 
Android ishlamayotgan bo‘lsa ham, voqeani obunachi ilovasiga yetkazadi va shu 
bilan uni ishga tushirishga “rag‘batlantirishi” mumkin. 
Sinov paytida biz uchun qanday hodisalar kutilayotganini va ular qanday 
qayta ishlanishini tushunish muhimdir. 
Misol uchun, kodda dastur ma’lum bir raqamdan xabar kutayotgani va SMS-
ga kirish huquqiga ega ekanligi oldindan yozilgan. Foydalanuvchi maxfiy kodni 


olganida, Broadcast qabul qiluvchisi bildirishnoma oladi va operatsiyani tasdiqlash 
maydoniga SMS kodi kiritiladi. 
Services(Xizmatlar) 
Androidda yana bir juda muhim narsa Serviclardir. Ular fon vazifalarini 
bajarish uchun kerak. Bunday holda, dastur hozirda foydalanuvchi tomonidan 
ochilishi shart emas. 
Serviclar bir nechta ish rejimlariga ega. Foydalanuvchi xizmat ishlayotganini 
ko‘rishi yoki umuman sezmasligi mumkin. 
Agar siz dasturchidan sehrli “Servic” so‘zini eshitgan bo‘lsangiz, unda qanday 
ish mantig‘i qo‘yilganligini bilib olasiz. 
 Servic nima qiladi va u o‘zini qanday namoyon qiladi? 
 Ilova faol bo‘lmaganda xizmat qanday ishlaydi? 
 Servic uzilishdan keyin tiklanadimi (kiruvchi qo‘ng‘iroq, telefonni qayta 
ishga tushirish)? 
Bu erda sinov senariylarini loyihalashda asosiy maslahat-bu xizmat ishlamay 
qolishi yoki boshqa xizmat bilan ziddiyatni boshlashi mumkin bo‘lgan 
foydalanuvchi holatlarini ko‘rib chiqish. Eng hiyla-nayrang holatlar: xizmat 
boshlanganda va foydalanuvchi buni kutmagan bo‘lsa. Bunday holda, xizmatni 
ishga tushirishga nima sabab bo‘lishi mumkinligini aniqlash foydalidir. 
Eng sodda va zararsiz — bu qo‘shimcha parametrlarsiz xizmatlar. Qo‘lda 
sinovdan o‘tkazilganda, biz ko‘pincha ularning ishini sezmaymiz. Masalan, agar 
siz ma’lumotlarni tahlil tizimiga yuborishingiz kerak bo‘lsa, unda bunday serviclar 
ko‘pincha ushbu vazifa uchun ishlatiladi. 
Xizmatlarning yana bir turi bu sticky-serviclar. Agar bunday xizmatning ishi 
to‘satdan tugasa, unda bir muncha vaqt o‘tgach, sticky-servic “qayta tug‘iladi”. 
Shunisi e‘tiborga loyiqki, har safar “tiklanish” dan oldingi davr tizimning 
ishlashiga kamroq xalaqit berishi uchun ko‘payadi. Ba’zi dasturlarda Sticky 
xizmatining misoli fayllarni qurilmaga yuklab olishi mumkin. Ehtimol, agar siz 
“qopqoq” da yuklab olishni qayta tiklasangiz, u bir muncha vaqt o‘tgach tiklanishi 
va fayllarni yuklab olishni davom ettirishi mumkinligini payqadingiz. 
Eng muhim xizmatlar — bu foydalanuvchi o‘z ishini “his qiladigan” va u uchun 
muhim bo‘lgan xizmatlar. Ular deyiladi foreground-xizmatlar va ular, albatta, 
foydalanuvchi yopolmaydigan “qopqoq” da yozuvga ega. Tizim ularni oxirgi 
marta yo‘q qiladi, chunki bunday xizmatlarning ustuvorligi eng yuqori. 
Masalan, musiqa pleyeri. Agar siz dasturni minimallashtirsangiz va hatto uni 
yopsangiz, u holda o‘yinchi foydalanuvchi uni pauza qilmaguncha yoki 
yopmaguncha o‘ynashni davom ettiradi. Yoki boshqa dastur yoki tizim uni 
to‘xtatmaguncha. Xususan, musiqa pleyeri uchun juda ko‘p variantlar bo‘lishi 
mumkin: kiruvchi qo‘ng‘iroq, boshqa musiqiy dastur, ovozli yozuv. 


Biz musiqa pleyerlari haqida gaplashayotganimiz sababli, audiofokus kabi 
tushunchani ta‘kidlash kerak. 
Audiofokus 
Tasavvur qilaylik, bir nechta audio pleerlarni ishga tushirganingizda, ularning 
barchasi bir vaqtning o‘zida o‘ynaydi. Bu deyarli hech kimga yoqmaydi. Bu erda 
tizimdan dastur tomonidan so‘raladigan audiofokus qutqarish uchun keladi. Ovozli 
fokus uchun oddiy so‘rov bo‘lsa, tizim, xuddi shunday, barcha ishlaydigan 
ilovalarni xabardor qiladi: “Endi boshqa dasturda gapiradi, iltimos, jim bo‘ling.” 
Bu kulgili, lekin bu so‘rov formatida sodir bo‘ladi. 
Agar sizning ilovangiz juda muloyim bo‘lmasa, u so‘rovni e‘tiborsiz qoldirishi 
mumkin. Bizning vazifamiz bu vaziyatlarni tekshirishdir. 
Audiofokus so‘rovining murosali rejimi “audiofokusni vaqtincha ushlab 
turish”deb nomlanadi. Bu shuni anglatadiki, audiofokus sizning ilovangizga 
qaytadi, chunki uni to‘xtatgan kishi tizimga audiofokus bo‘shatilganligi to‘g'risida 
signal beradi. 
Audiofokus so‘rovining yana bir turi — “duck”. U boshqa ilovalardan jim 
bo‘lmaslikni, balki fokusni so‘ragan ilovaning ovozi eshitilayotganda ovoz 
balandligini yarmiga kamaytirishni so‘raydi. Masalan, bunday so‘rov messenjerda 
yangi xabar haqida notifikatsiya ovozini ijro etishda ishlatiladi. 
Audiofokusni sinash juda muhimdir, chunki bu erda hamma narsa ishlab 
chiquvchilarning vijdoniga bog‘liq va tizim nizolarni hal qilishda alohida ishtirok 
etmaydi. Xo‘sh, agar xato hali ham foydalanuvchilarga etib borsa, unda 
ikkilanmang, ular sizga bu haqda tezda xabar berishadi. 
Bu, ehtimol, hozircha tugashi mumkin. Albatta, hali ko‘p tafsilotlar mavjud va 
sinov paytida mutlaqo hamma narsani hisobga olishning hojati yo‘q. Mening 
tajribamga ko‘ra, sinovchi dastur nimadan iboratligini va uning qanday ishlashini 
tushunishi kerak. Bu dasturning biznes mantig‘i va operatsion tizimning 
xususiyatlari chorrahasida yuzaga keladigan qiyin xatolarni tahlil qilishga imkon 
beradi. Ayniqsa, Android haqida gap ketganda. 
Kontent provayderlari 
Kontent provayderi fayl tizimida, SQLite ma’lumotlar bazasida, internetda yoki 
ilovangiz kirishingiz mumkin bo‘lgan har qanday boshqa doimiy xotirada 
saqlashingiz mumkin bo‘lgan umumiy ilova ma’lumotlar to‘plamini boshqaradi. 
Kontent provayderi orqali, agar kontent provayderi ruxsat bergan bo‘lsa, boshqa 
ilovalar ma’lumotlarni so‘rashi yoki o‘zgartirishi mumkin. Misol uchun, Android 
tizimi foydalanuvchining aloqa ma’lumotlarini boshqaradigan kontent 
provayderini taqdim etadi. Shunday qilib, tegishli ruxsatlarga ega bo‘lgan har 
qanday dastur ContactsContract.Data kabi kontent provayderiga ma’lum bir shaxs 
haqidagi ma’lumotlarni o‘qish va yozish uchun so‘rashi mumkin. Kontent 


provayderini ma’lumotlar bazasi abstraktsiyasi deb o‘ylash jozibali, chunki bu 
keng tarqalgan foydalanish uchun ularda juda ko‘p API o‘rnatilgan va mahalliy 
yordam mavjud. Biroq, tizim dizayni nuqtai nazaridan, ular boshqa asosiy 
maqsadga ega. Tizim uchun kontent provayderi URI sxemasi bilan aniqlangan 
nomli ma’lumotlar elementlarini nashr qilish uchun ilovaga kirish nuqtasidir. 
Shunday qilib, dastur o‘zida mavjud bo‘lgan ma’lumotlarni URI nom maydoniga 
qanday xaritalashni xohlashini hal qilishi mumkin, bu URI-larni boshqa 
ob’ektlarga o‘tkazadi, bu esa o‘z navbatida ma’lumotlarga kirish uchun ulardan 
foydalanishi mumkin. 
Android tizimining o‘ziga xos jihati shundaki, har qanday dastur boshqa dastur 
komponentini ishga tushirishi mumkin. Misol uchun, agar siz foydalanuvchi 
qurilma kamerasidan foydalanib suratga olishni istasangiz, buni amalga 
oshiradigan boshqa ilova ham bo‘lishi mumkin va sizning ilovangiz o‘zi suratga 
olish harakatini ishlab chiqish o‘rniga undan foydalanishi mumkin. Kamera 
ilovasidagi kodni kiritishingiz yoki hatto unga havola qilishingiz shart emas. 
Buning o‘rniga, siz shunchaki suratga oladigan kamera ilovasida amalni 
boshlashingiz mumkin. Tugallangach, surat siz ishlatishingiz uchun ilovangizga 
qaytariladi. Foydalanuvchiga kamera aslida ilovangizning bir qismidek tuyuladi. 
Tizim komponentni ishga tushirganda, u hali ishlamayotgan bo‘lsa, ushbu 
dastur uchun jarayonni boshlaydi va komponent tomonidan talab qilinadigan 
sinflarning namunalarini yaratadi. Misol uchun, agar ilovangiz suratga oladigan 
kamera ilovasida amalni boshlasa, bu amal ilovangiz jarayonida emas, balki 
kamera ilovasiga tegishli jarayonda ishlaydi. Demak, boshqa tizimlardagi 
ilovalardan farqli o‘laroq, Android ilovalarida bitta kirish nuqtasi yo‘q (main() 
funksiyasi yo‘q). Tizim har bir ilovani boshqa ilovalarga kirishni cheklovchi fayl 
ruxsatlari bilan alohida jarayonda ishga tushirganligi sababli, ilovangiz boshqa 
ilovadan komponentni bevosita faollashtira olmaydi. Biroq, Android tizimi 
mumkin. Komponentni boshqa ilovada faollashtirish uchun tizimga ma’lum 
komponentni ishga tushirish niyatingiz haqida xabar yuboring. Keyin tizim siz 
uchun komponentni faollashtiradi. 
Komponentlarni faollashtirish 
To‘rt turdagi komponentlardan uchtasi - Activity, xizmatlar va eshittirish 
qabul qiluvchilari - niyat deb ataladigan asinxron xabar orqali faollashtiriladi. 
Niyatlar ish vaqtida individual komponentlarni bir-biriga bog‘laydi. Siz ularni 
boshqa komponentlardan, komponent sizning ilovangizga yoki boshqasiga tegishli 
bo‘lishidan qat’iy nazar, harakat talab qiladigan xabarchilar deb hisoblashingiz 
mumkin. Ma’lum bir komponentni (aniq niyat) yoki muayyan turdagi komponentni 
(nopiq maqsad) faollashtirish uchun xabarni belgilaydigan Intent ob’ekti 
yordamida niyat yaratiladi. 


Manifest fayli 
Android tizimi ilova komponentini ishga tushirishdan oldin tizim ilovaning 
AndroidManifest.xml faylini o‘qish orqali komponent mavjudligini bilishi kerak. 
Ilovangiz ushbu faylda uning barcha komponentlarini e’lon qilishi kerak, ular ilova 
loyiha katalogining ildizida bo‘lishi kerak. Manifest dastur komponentlarini e’lon 
qilishdan tashqari bir qator funktsiyalarni bajaradi, masalan: 
 Ilova talab qiladigan har qanday foydalanuvchi ruxsatlarini belgilaydi, 
masalan, Internetga kirish yoki foydalanuvchining kontaktlarini o‘qishga 
kirish; 
 Ilova qaysi API lardan foydalanishiga qarab ilova tomonidan talab 
qilinadigan minimal API darajasini e’lon qiladi; 
 Kamera, Bluetooth xizmatlari yoki sensorli ekran kabi ilova tomonidan 
ishlatiladigan yoki talab qilinadigan apparat va dasturiy ta’minot 
xususiyatlarini e’lon qiladi; 
 Ilova ulanishi kerak boʻlgan API kutubxonalarini (Android Framework API-
laridan tashqari) e’lon qiladi, masalan, Google Xaritalar kutubxonasi. 
Ilova resurslari 
Android ilovasi shunchaki koddan iborat emas - u manba kodidan alohida 
resurslarni talab qiladi, masalan, tasvirlar, audio fayllar va ilovaning vizual tasviri 
bilan bog‘liq. Masalan, siz XML fayllari yordamida animatsiyalarni, menyularni, 
uslublarni, ranglarni va harakat foydalanuvchi interfeyslarining tartibini 
belgilashingiz mumkin. Ilova resurslaridan foydalanish kodni o‘zgartirmasdan 
ilovangizning turli xususiyatlarini yangilashni osonlashtiradi. Muqobil manbalar 
to‘plamini taqdim etish ilovangizni turli xil tillar va ekran o‘lchamlari kabi turli xil 
qurilma konfiguratsiyalari uchun optimallashtirish imkonini beradi. 
Android loyihangizga kiritgan har bir resurs uchun SDK yaratish vositalari 
noyob tamsayı identifikatorini belgilaydi, uni ilova kodingiz ichidan yoki XMLda 
belgilangan boshqa manbalardan manbaga murojaat qilish uchun ishlatishingiz 
mumkin. Misol uchun, agar ilovangiz logo.png nomli rasm faylini o‘z ichiga olsa 
(res/drawable/ katalogida saqlangan), SDK vositalari R.drawable.logo nomli resurs 
identifikatorini yaratadi. Ushbu identifikator rasmga havola qilish va uni 
foydalanuvchi interfeysiga kiritish uchun foydalanishingiz mumkin bo‘lgan 
ilovaga xos butun songa mos keladi. 
Manba kodidan ajratilgan resurslarni taqdim etishning eng muhim 
jihatlaridan biri bu turli xil qurilmalar konfiguratsiyasi uchun muqobil resurslarni 
taqdim etish qobiliyatidir. Masalan, XML-da foydalanuvchi interfeysi satrlarini 
belgilash orqali siz satrlarni boshqa tillarga tarjima qilishingiz va bu satrlarni 
alohida fayllarda saqlashingiz mumkin. Keyin Android resurs katalogi nomiga 
(masalan, res/values-fr/ fransuz satri qiymatlari uchun) qo‘shgan til kvalifikatsiyasi 


va foydalanuvchi til sozlamalari asosida foydalanuvchi interfeysingizga tegishli til 
satrlarini qo‘llaydi. 
Android sizning muqobil manbalaringiz uchun juda ko‘p turli xil 
kvalifikatsiyalarni qo‘llab-quvvatlaydi. Kvalifikator bu resurslardan foydalanish 
kerak bo‘lgan qurilma konfiguratsiyasini aniqlash uchun manba kataloglaringiz 
nomiga qo‘shadigan qisqa qatordir. Masalan, qurilmaning yo‘nalishi va ekran 
o‘lchamiga qarab, harakatlaringiz uchun turli tartiblarni yaratishingiz kerak. 
Qurilma ekrani portret (baland) yo‘nalishda bo‘lsa, tugmalar joylashuvi vertikal 
bo‘lishini xohlashingiz mumkin, lekin ekran landshaft (keng) yo‘nalishda 
bo‘lganda, tugmalar gorizontal ravishda hizalanishi mumkin. Yo‘nalish asosida 
tartibni o‘zgartirish uchun siz ikki xil tartibni belgilashingiz va har bir tartibning 
katalog nomiga mos kvalifikatsiyani qo‘llashingiz mumkin. Shundan so‘ng tizim 
qurilmaning joriy yo‘nalishidan kelib chiqqan holda avtomatik ravishda tegishli 
tartibni qo‘llaydi. 
Ilovangizga kiritishingiz mumkin bo‘lgan turli xil manbalar va turli xil 
qurilma konfiguratsiyalari uchun muqobil resurslarni qanday yaratish haqida 
ko‘proq ma’lumot olish uchun Resurslarni taqdim etish bo‘limiga qarang. Kuchli, 
ishlab chiqarish sifatli ilovalarni ishlab chiqish va ishlab chiqish bo‘yicha eng 
yaxshi amaliyotlar haqida ko‘proq bilish uchun Ilovalar arxitekturasi 
qo‘llanmasiga qarang. 
O‘z - o‘zini tekshirish uchun savollar: 
1. Android nima va uning maqsadi nima? 
2. Android ilovasining asosiy komponentlari va funksional sozlamalari qanday? 
3. APK nima va u Androidda nima uchun ishlatiladi? 
4. Kakaya rol fayli manifest va Android imtiyozlari? 
5. Android-da niyat nima va u komponentlar o‘rtasida aloqa o‘rnatish uchun 
qanday ishlatiladi? 
6. Android komponentlarining turlari qanday va har bir nix nima uchun? 
7. Android ilovasi kontaktidagi resurslar nima va ular qanday boshqariladi? 
8. Android komponentlarining hayot aylanishi qanday boshqariladi? 
9. Gradle nima, u qanday rol o‘ynaydi va Android ilovasini ishlab chiqish 
nima? 
10. Androidning qanday turli versiyalari mavjud va ularning xususiyatlari 
qanday? 



Download 3.38 Mb.

Do'stlaringiz bilan baham:




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