




Ekran ko’rinishlari va uning elementlarini boshqarish
Mahsulot tavsifi
Mavzu: Ekran ko’rinishlari va uning elementlarini boshqarish Reja:Mobil ilovalar yaratish bosqichlariQanday qilib konstruktorda mobil ilova yaratish mumkin?Faoliyatga ImageView qo'shishKotlinda Sealed kalit so’zi haqida.. Mobil ilovalar yaratish bosqichlariIlova yaratishdan avval usiz ham ishni bitirsa boʻladimi degan savolga javob berish kerak. Hozirda koʻplab ishlar veb sahifa, ijtimoiy tarmoq va Telegram botlar yordamida amalga oshirilmoqda. Masalan, tuman poliklinikasi uchun saytning qulay va tushunarli mobil versiyasini yaratish yetarli boʻlsa, taksi buyurtma qilish xizmati toʻlaqonli mobil ilovasiz qoniqarli faoliyat koʻrsata olmaydi. Mobil ilovalar yaratish bosqichlari 1. Gʻoya. Agar dasturchi fitnes ilova qilishni rejalashtirayotgan boʻlsa, avval auditoriyani oʻrganish va uning ehtiyojlarini bilib olishi zarur. Auditoriya 25—35 yoshlardagi, trenajyor zaliga qatnaydigan va vaznini nazorat qiladigan yosh insonlardan iborat boʻlishi mumkin. Bunda ilovada shaxsiy kabinet boʻlishi, foydalanuvchi tugmalarni qanday almashtirishi va qalqib chiquvchi oynalarni qanday yopishini oʻylash kerak boʻladi. Ilova muammoni yechishga yordam berishi – unda kaloriya hisoblagichi boʻlishi, trenerning videodarslari qoʻshilishi, foydali retseptlar joy olishini ham oʻylash kerak. Bular dasturlash uchun yechimlar tanlashga yordam beradi.Baʼzida prototip – ilovaning “qoralamasi” bilan ham ish bitishi mumkin. 2. Prototip ishlab chiqish. Muayyan muhit uchun noldan ilova yaratish – qimmat va murakkab ish. Mobil ilovaning dastlabki versiyasini yaratish uchun tashqi uskuna va kross platformalar imkoniyatlari yetarli. Ular bir marta kod yozish bilan iOS, Android va veb versiyalar — Mac OS, Windows va Linux operatsion tizimlarida ham ishlaydigan ilova olish imkonini beradi. Prototip yordamida talab qilinayotgan mahsulot tahlilini oʻtkazish bilan dasturlashni tekshirishga ketadigan vaqt va pulni tejash mumkin. Agar gʻoya ish bersa, keyingi qadamga oʻtsa boʻladi.Prototip ishlab chiqish uchun Figma juda mos keladi 3. Kod yozish. Ilova yaratish uchun quyidagi dasturlash tillarini bilish kerak boʻladi:- IOS uchun mobil dasturlashga — Swift yoki Objective-C;- Android uchun – Java yoki Kotlin;- Istalgan muhitda ishlaydigan kross platforma ilovalari uchun aniq freymvorklar va boshqa dasturlash tillarini, masalan, React Native uchun JavaScript, HTML va CSS, Flutter uchun Dart kabilarni bilish talab qilinadi. Dasturchining mutaxassisligi va auditoriyani bilishi texnologiyani tanlashga taʼsir koʻrsatadi. Agar oziq-ovqatlar yetkazish uchun ilova ishlab chiqish kerak boʻlsa, bunda raqobatchilardan ortda qolmaslik va foydalanuvchilar uchun qulay tajriba yaratishga urinish muhim. Foydalanuvchilar operatsion tizimning oxirgi yangilanishini olishi, ilova esa telefon xotirasida koʻp joy egallamasligi uchun nativ dasturlash tillaridan foydalanib kod yozishga toʻgʻri kelishi mumkin. Bular har bir operatsion tizim uchun tabiiy tillarning nomi. Bank ilovasida esa foydalanuvchi tajribasi bilan hisoblashish u qadar zarur emas. Bunday ilovalarda foydalanuvchini ilovada olib qolishga undaydigan skrolling va triggerlar boʻlmaydi — foydalanuvchi ilovaga faqat ish yuzasidan kiradi. Bank ilovasidagi harakatlar ijtimoiy tarmoqlardagi lenta skrollingidan farqli ravishda zavq berishga yoʻnaltirilmagani uchun kichik kamchiliklar koʻzga tashlanmasligi mumkin. Shu sababli koʻpincha kross platformali dasturlashdan foydalanib, prototipni oʻzgartirishsiz qoldirish ham mumkin.Grab taksi chaqirish xizmati ilovasi ham kross platformali texnologiyalar yordamida yozilgan. Ammo foydalanuvchilar qoʻlida nativ boʻlmagan ilova borligini payqamaydi ham — u qotib qolmaydi va turli qurilmalarda ham birdek yaxshi ishlaydi.4. Testdan oʻtkazish va debugging. Konsepsiya, dizayn va texnologiya jamlansa taqdim qilish uchun deyarli tayyor versiya yuzaga keladi. Ammo ilova relizidan avval bir qator testlarni oʻtkazish, hammasi rejadagidek ishlayotganini tekshirish zarur. Dasturlash jamoasi ilova versiyasini turli telefon va operatsion tizimlarda testdan oʻtkazadi. Shuningdek, beta testerlar — dasturlash davomida eʼtiborga olinmagan jihatlarni koʻrishi mumkin boʻlgan foydalanuvchilar ham bunga jalb qilinadi.Testdan oʻtkazilgan ilova taqdim qilinishga tayyor boʻladi. Uni IOS uchun App Store, Android uchun esa Google Play, Appland, Samsung Apps, Huawei App Store, RuStore kabilarga joylash mumkin boʻladi.Mobil dasturlash kurslarida talabalar ilovaning biznes mantigʻini amalga oshirishni oʻrganadi, asosiy andoza va patternlar yordamida arxitekturani loyihalashtiradi, yozilgan kod va foydalanuvchi ssenariylarini sinab koʻradi. Har bosqichda ularni revyuyer, kurator va murabbiylar jamoasi qoʻllab-quvvatlaydi. Bu materialni yaxshiroq oʻzlashtirish va yangi mutaxassislik boʻyicha ishlashga tayyorgarlik koʻrishda yordam beradi. Konstruktorda mobil ilovani yaratishIlova yaratish uchun baʼzan Zero-code — web-sayt va ilovalarni kodsiz yaratish usulidan foydalanish kifoya. Bunday formatdagi ishlab chiqish yangi boshlayotganlar uchun mos keladi — unda raqamli mahsulotlarning ishlashi toʻgʻrisida chuqur bilim kerak emas, ilovaning kelajakdagi funksionalligini konstruktordagi tayyor bloklardan foydalanib toʻplash mumkin. Bir nechta ommabop vositalarni koʻrib chiqamiz.Appy PieKonstruktor mobil ilova, chatbot va veb-saytlarni yaratishda yordam beradi. Zoom, Discord, Slack, Trello bilan integratsiyalar mavjud. Ilovani uch bosqichda — sarlavhani kiritish, kerakli funksiyalarni qoʻshish va relizni doʻkonlarga chiqarish orqali yaratish mumkin.Afzalliklari: reklamalarni joylashtirish va messenjerlarni integratsiya qilish mumkin, ilovada toʻlov sozlamalari mavjud. Qoʻshimcha bonuslar — 24/7 qoʻllab-quvvatlash chati va Zero-code dasturlash kurslari.Narxi: Android uchun bazaviy tarif oyiga 16 dollar, bepul sinov muddati mavjud.iBuildAppMobil ilova konstruktori turli toifadagi andoza va vidjetlarni taklif etadi. Kichik biznes, restoran va oʻquv muassasalari ilovalari uchun shablonlar, katalog, ijtimoiy tarmoqlar va utilitalar uchun vidjetlar mavjud. Ilova strukturasini tanlash, sahifalar qoʻshish va olib tashlash, rang va matnlarni, fon rasmlari hamda logotipni oʻzgartirish mumkin. Vidjetlar: fikr-mulohazalar shakllari, xaritalar, ijtimoiy tarmoqlarga havolalar, qoʻllab-quvvatlash chati va kalkulyator. Foydalanuvchilarga push xabarnomalarni bevosita shaxsiy kabinetdan yuborish mumkin. Yigʻilgan konstruktorni Google Play va Apple Storeʼga joylashtirish yoki havola, QR-kod orqali ochish imkonini berish mumkin.Afzalliklari: konstruktor toʻliq rus tilida. Turli xil biznes turi — chakana savdo, bank, tibbiyot muassasalari uchun tayyor yechimlar mavjud.Narxi: har bir foydalanuvchi uchun oyiga 5 dollardan boshlab, bepul sinov muddati mavjud.AppSheetKonstruktor yangi boshlayotgan dasturchilarga to do varaqlar yoki taqvimlar kabi oddiylardan tortib murakkab lid va ERP tizimlarni kuzatish ilovalari kabi har qanday dasturlarni yaratishda yordam beradi. Har qanday andozani oʻz loyihangizga moslab tahrirlash mumkin.Appsheet da kodsiz ilovalar yaratishning toʻrtta usuli mavjud:Excel, Google Sheets, SQL kabi maʼlumotlar manbalarini ulash;ilova andozasini nusxalash;Google Tabs, Google Forms yoki Excel uchun sozlamalardan foydalanish;SPEC nativ tilidagi deklarativ dasturlash vositasidan foydalanish.Asosiy afzalliklari: murakkab dasturlarni ishlab chiqish imkoniyati mavjud — kastomizatsiya, har qanday murakkablikdagi maʼlumotlar modellari bilan ishlash va avtomatlashtirish mumkin.Narxi: 10 nafargacha foydalanuvchiga moʻljallangan bepul versiyasi mavjud. Obuna narxi oyiga har bir foydalanuvchi uchun 5 dollardan boshlanadi.Faoliyatga ImageView qo'shish1. Faoliyatga ImageView qo'shilsa, bu tasvir resursiga talab borligini bildiradi. Shunday qilib, ImageView sinfiga Image faylini taqdim etish shart emas. Buni Android Studio-ning o'zida mavjud bo'lgan rasm faylini qo'shish orqali amalga oshirish mumkin yoki biz o'z rasm faylimizni qo'shishimiz mumkin. Android Studio Android ilovalari tartibida juda keng tarqalgan tortiladigan resurslarning keng doirasiga ega. Quyida ImageView sinfiga chiziladigan resurs qo'shish qadamlari keltirilgan. 2. Model-view-controller ( MVC ) - bu tegishli dastur mantig'ini bir-biriga bog'langan uchta elementga bo'luvchi foydalanuvchi interfeyslarini ishlab chiqish uchun keng tarqalgan bo'lib foydalaniladigan dasturiy ta'minot dizayn namunasi. Bu axborotning ichki ko'rinishlarini axborotni foydalanuvchiga taqdim etish va undan qabul qilish usullaridan ajratish uchun amalga oshiriladi. An'anaviy ravishda ish stoli grafik foydalanuvchi interfeyslari (GUI) uchun ishlatiladigan ushbu naqsh veb-ilovalarni loyihalashda mashhur bo'ldi . Mashhur dasturlash tillarida naqshni amalga oshirishni osonlashtiradigan MVC ramkalar mavjud. 3. Google Firebase bu bulutga asoslangan ishlab chiqish vositalari to‘plami bo‘lib, mobil ilovalarni ishlab chiquvchilarga o‘z ilovalarini yaratish, joylashtirish va kengaytirishga yordam beradi.Google Firebase xususiyatlariAutentifikatsiya. Firebase foydalanuvchilarga o'z ilovasiga kirishning xavfsiz va oson usulini taqdim etadi. Dasturchilar e-pochta va parol, Google tizimga kirish, Facebook login va boshqalarni qo‘llab-quvvatlash uchun Firebase autentifikatsiyasidan foydalanishlari mumkin. Real vaqt ma'lumotlar bazasi. Firebase Realtime ma'lumotlar bazasi bulutda joylashgan NoSQL ma'lumotlar bazasi bo'lib , u tashkilotlarga real vaqt rejimida barcha foydalanuvchilarining qurilmalarida ma'lumotlarni saqlash va sinxronlashtirish imkonini beradi. Bu foydalanuvchilar oflayn bo'lsa ham, har doim yangilanib turadigan ilovalarni yaratishni osonlashtiradi. Bulutli xabarlar. Firebase Cloud Messaging ( FCM ) - bu ilovalardan foydalanmayotgan bo‘lsa ham, korxonalarga foydalanuvchilarning qurilmalariga xabar yuborish imkonini beruvchi xizmat. Ishlab chiquvchilar push bildirishnomalarini yuborish, ilova tarkibini yangilash va boshqalar uchun FCM dan foydalanishlari mumkin. Crashlytics. Firebase Crashlytics - bu tashkilotlarga ilovadagi nosozliklarni kuzatish va tuzatishga yordam beradigan xizmat. Crashlytics nosozliklar haqida batafsil hisobotlarni taqdim etadi, shuning uchun ular tezda asosiy sababni aniqlashlari va muammoni bartaraf etishlari mumkin. Ishlash monitoringi. Firebase Performance Monitoring ilovasining ishlashi haqida tushuncha beradi. Tashkilotlar protsessordan foydalanish, xotiradan foydalanish va tarmoq trafigini kuzatish uchun Ishlash monitoringidan foydalanishlari mumkin . Sinov laboratoriyasi. Firebase Test Lab — bulutga asoslangan xizmat boʻlib, ishlab chiquvchilarga oʻz ilovalarini turli qurilmalar va konfiguratsiyalarda sinab koʻrish imkonini beradi . Bu ularga ilovaning turli qurilmalarda va turli tarmoq sharoitlarida yaxshi ishlashiga yordam beradi. 4. Android Studio yaratish jarayonini avtomatlashtirish va boshqarish uchun Gradle, ilg‘or qurilish asboblar to‘plamidan foydalanadi, shu bilan birga moslashuvchan, moslashtirilgan konfiguratsiyalarni aniqlash imkonini beradi. Har bir qurish konfiguratsiyasi ilovangizning barcha versiyalari uchun umumiy boʻlgan qismlardan qayta foydalanishda oʻziga xos kod va resurslar toʻplamini belgilashi mumkin. 5. Android Studio’dagi Logcat oynasi qurilmangizdagi jurnallarni real vaqt rejimida ko‘rsatish orqali ilovangizni disk raskadrovka qilishga yordam beradi, masalan, sinf bilan ilovangizga qo‘shgan xabarlar, Android’da Logishlaydigan xizmatlar xabarlari yoki tizim xabarlari, masalan, qachon axlat yig'ish sodir bo'ladi. Ilova istisno qilganda, Logcat kod qatoriga havolalarni o'z ichiga olgan tegishli stek izidan keyin xabarni ko'rsatadi. 7. Java-da fayllar bilan ishlash fayldan ma'lumotlarni o'qish va faylga yozishni nazarda tutadi. Java.io paketidagi File klassi bizga turli formatdagi fayllar bilan ishlash imkonini beradi. File klassidan foydalanish uchun siz sinf ob'ektini yaratishingiz va fayl nomi yoki katalog nomini ko'rsatishingiz kerak. 8. Foydalanuvchi biror amalni bajarish uchun tegishi yoki bosishi mumkin bo'lgan foydalanuvchi interfeysi elementi. 9. Matnni kiritish va o'zgartirish uchun foydalanuvchi interfeysi elementi. Tahrirlash matni vidjetini belgilaganingizda, atributni ko'rsatishingiz kerak 10. Google Gson Java-ga asoslangan oddiy kutubxona boʻlib, Java obyektlarini JSON formatiga va aksincha seriallashtirishga moʻljallangan. Bu Google tomonidan ishlab chiqilgan ochiq manbali kutubxona. Standartlashtirilgan – Gson — Google tomonidan boshqariladigan standartlashtirilgan kutubxona. Samarali - Bu Java standart kutubxonasining ishonchli, tez va samarali kengaytmasi. 11. Stack - bu chiziqli ma'lumotlar strukturasi . Massiv bo'lsa, tasodifiy kirish mumkin, ya'ni massivning istalgan elementiga istalgan vaqtda kirish mumkin, stekda esa ketma-ket kirish faqat mumkin. 12. RecyclerView katta ma'lumotlar to'plamini samarali ko'rsatishni osonlashtiradi. Siz ma'lumotlarni taqdim qilasiz va har bir element qanday ko'rinishini aniqlaysiz va RecyclerView kutubxonasi elementlarni kerak bo'lganda dinamik ravishda yaratadi. 13. Tartib ilovangizdagi, masalan, faoliyatdagi foydalanuvchi interfeysi tuzilmasini belgilaydi . Tartibdagi barcha elementlar Viewva ViewGroupob'ektlar ierarxiyasi yordamida qurilgan. A Viewodatda foydalanuvchi ko'rishi va muloqot qilishi mumkin bo'lgan narsalarni chizadi. Holbuki, 1-rasmda ko'rsatilganidek, a ko'rinmas konteyner bo'lib, u va boshqa ob'ektlar ViewGroupuchun joylashish tuzilishini belgilaydi . 14. CardView - bu Android-dagi yangi vidjet bo'lib, u ma'lum bir balandlik bilan birga yumaloq burchak tartibini taqdim etish orqali har qanday turdagi ma'lumotlarni ko'rsatish uchun ishlatilishi mumkin. CardView - bu ko'rinishlarni bir-birining ustiga ko'rsatishi mumkin bo'lgan ko'rinish. CardView-ning asosiy qo'llanilishi shundaki, u UI dizayniga boy tuyg'u va ko'rinish berishga yordam beradi. Ushbu vidjetni turli xil Android ilovalarida osongina ko'rish mumkin. CardView-dan ro'yxat ko'rinishida yoki Recycler View ichida elementlar yaratish uchun foydalanish mumkin. CardView-ning eng yaxshi tomoni shundaki, u Framelayout-ni kengaytiradi va u Android-ning barcha platformalarida ko'rsatilishi mumkin. 15. Animatsiya - bu harakat va shakl o'zgarishini yaratish jarayoni Androidda animatsiya ko'p jihatdan mumkin. Kotlinda Sealed kalit so’zi haqida..Sealed so’zini ingliz tilidan “Muhrlangan” degan ma’noni bildiradi.“Sealed” kalit so’zi Kotlin dasturlash tilida klasslar va interfeyslar uchun ishlatiladi. Bu kalit so’zdan asosan product classes (maxsulot klasslari)da qo’llaniladi.Sealed klass, o’zini ichida turli xil parametrli sinflarni (subclasslarni) joylashishga imkon beradi, lekin ular outer classdan voris olishi lozim. Ya’ni sealed classning turli sinflari faqat shu sinf ichida joylashadi. Bu, sinflarning shajarasini cheklashga va tuzishga yordam beradi. Sealed classlar bizga enum classlar qila olmagan imkoniyatni taqdim qiladi:enumclass Regions{ Toshkent, Xorazm, Samarqand, Qashqadaryo, Surxandaryo //...}enum classRegions2(id:Int){ Toshkent(1), Xorazm(2), Samarqand(3), Qashqadaryo(4), Surxandaryo(5) //...}sealed classSealedRegion{ object Toshkent: SealedRegion() class Xorazm(val population:Int = 85) class Samarqand(population: Int, districts:String):SealedRegion() class Qashqadaryo(koordinates:Long):SealedRegion() //...}Bu yerda ko’rib turganingizdek, enum klasslar o’ziga super constructor talab qilgan parametrlarni taqdim qilmagan xolatimizda xatolik kelib chiqadi, bu xatolarni qaysidir ma’noda sealed classlar va interfacelar yopib ketdi desak ham bo’ladi.Kotlin.org saytida sealed classlar va interfacelar haqida nimalar yozilganini taxlil qilamiz:“Sealed” classlar va interfeyslar chegaralangan class shajarasjini ifodalaydigan va merosni boshqarishga qattiq nazorat qilinadigan funksiyalardir. Sealed classning barcha ichki classlari kompile timeda ma’lum bo’ladi. Boshqa joydan turib bizning sealed classimizdan voris olinishi yoki kengaytirilishi mumkin emas. Ya’ni: chet el mijozlari sizning sealed classingizni o’zlarining kodida kengaytira olmaydi. Shuning uchun, har bir sealed classning obyekti, uning turlari chegaralangan kengaytma toifasidan bo’lgan ma’lumotga ega bo’ladi va bu ma’lumot classni kompilyatsiya vaqti bilan bilinadi.Shu o’rinlarda, sealed interfeyslar va ularning implementatsiyalari ham o’xshash tarzda ishlaydi: Kotlin tilida “sealed” interfeys va ularning implementatsiyalari yaratilgan modulni kompilyatsiya qilingandan so’ng, tashqi paketda hozirgi interfeysdan yana boshqa implementatsiyalar yaratilmaydi.Sealed classlar enum klasslarga o’xshashdir: enum turi uchun qiymatlar to’plami bilan chegaralanadi, lekin enum ning parametrlaridagi konstantalari faqat bitta yo’nalishdagi qiymatlarni o’z ichiga oladi, ya’ni har bir enum konstantalarisi turlicha o’ziga xos holat va xususiyatlarga ega emas. Sealed classning esa bir nechta obyektlarga ega bo’lishi mumkin, va har biri o’ziga xos holatda bo’lishi mumkin.Masalan, kutubxonaning API-ida error classlarining shajarasini ko’rib chiqing. Ushbu shajara kutubxona foydalanuvchilariga kutubxona tomonidan tashqariga chiqariladigan xatolarni boshqarish imkonini beradi. Agar bunda, umumiy API-da ko’rinadigan interfeyslar yoki abstract classlar bo’lsa, ularni foydalanuvchi kodida implementatsiya qilish yoki ularni kengaytirish mumkin. Biroq, kutubxona o’zidan tashqarida e’lon qilingan xatolar haqida bilmaydi, shuning uchun ularni o’z classlari bilan izchil ishlay olmaydi. Sealed error classlar shajarasi ishlatilganida, kutubxona mualliflari barcha mumkin bo’lgan xato turlarini bilib turadi va keyinroq boshqa xatolar paydo bo’lmasligiga ishonch hosil qilishlari mumkin.sealedinterface Errorsealed classIOError(): Errorclass FileReadError(val file: File): IOError()class DatabaseError(val source: DataSource): IOError()object RuntimeError : ErrorSealed class o’z-o’zidan abstract , uni to’g’ridan-to’g’ri yaratish mumkin emas va abstract a’zolarga ega bo’lishi mumkin.Sealed classlarning konstruktorlari ikkita ko’rinishdan biriga ega bo’lishi mumkin: protected(by default) yoki private:sealedclass IOError { constructor() { /*...*/ } // protected o'zi shunaqa yozish shartmas private constructor(description: String): this() { /*...*/ } // private dan foydalansak bo'ladi // public constructor(code: Int): this() {} // Error: public and internal larga ruxsat yo'q}
Teglar
Ekran ko’rinishlari va uning elementlarini boshqarish

Muallif
Avazbek Abdusalomov
Tasdiqlangan sotuvchi