Ma'ruza_7_2024_1.pptx
Document Details
Uploaded by StrongPascal
Full Transcript
Ma’ruza-7 Android Studio interfeysi, ilk dasturni yozish va uni emulyatorda ishlatish, komponentalar bilan tanishish. Ma’ruzachi: PhD, dotsent M.M.Mahmudova Reja 1. Android Studio interfeysi haqida 2. Android Studioda Activity fayllari va A...
Ma’ruza-7 Android Studio interfeysi, ilk dasturni yozish va uni emulyatorda ishlatish, komponentalar bilan tanishish. Ma’ruzachi: PhD, dotsent M.M.Mahmudova Reja 1. Android Studio interfeysi haqida 2. Android Studioda Activity fayllari va Activity strukturasi 3. Fragment va fragment lifecycle haqida ma’lumot 4. Savol-javoblar/muhokamalar 5. Adabiyotlar Muayyan platforma/xizmat uchun ilovalarni Ikki platforma ishlab chiqish o‘rtasidagi aloqani uchun vositalar, osonlashtiradigan kutubxonalar va interfeys dasturlar to‘plami Interfeys tuzilishi Android Studio interfeysi, intuitiv va foydalanuvchilarga qulay tarzda tuzilgan. Uning asosiy qismlariga quyidagilar kiradi: Menu Toolbar Editor Menyu, Android Studio-ning asosiy Toolbar, tez-tez ishlatiladigan Editor - bu sizning kodni yozish va funksiyalari va sozlamalariga kirish funksiyalar va boshqaruv tahrirlashingiz uchun mo'ljallangan imkonini beradi. Bu erda siz elementlari uchun mo'ljallangan. U asosiy maydon. U syntax loyihani yaratish, tahrirlash, loyihani kompilyatsiya qilish, highlighting, kodni avtomatik kompilyatsiya qilish, sinovdan sinovdan o'tkazish, ishga tushirish, tugatish, kodni refactoring va o'tkazish, ishga tushirish va boshqa debuggerni ochish kabi tugmalarni boshqa ko'plab xususiyatlarni ko'plab funksiyalarni topishingiz o'z ichiga oladi. taqdim etadi. mumkin. Loyiha va fayllar tuzilishi Android Studio-da yaratilgan loyiha, aniq tuzilgan fayllar va papkalar bilan tashkil etiladi. Bu tuzilish, loyihani osongina boshqarish va tashkil etishga imkon beradi. Loyihaning asosiy papkalariga quyidagilar kiradi: 1 src 2 res Bu papka, loyihaning asosiy Bu papka, loyihaning kod fayllarini o'z ichiga oladi. U resurslarini, jumladan rasmlar, Java yoki Kotlin dasturlash audio, video, stringlar va tillarida yozilgan kodlarni o'z boshqa resurslarni saqlash ichiga oladi. uchun mo'ljallangan. 3 AndroidManifest.xml 4 build.gradle Bu fayl, loyihaning asosiy Bu fayl, loyihaning konfiguratsiya fayli bo'lib, kompilyatsiya sozlamalarini, ilovaning nomini, paketini, bog'liqliklarini va boshqa faoliyatlarini va boshqa muhim qurilish parametrlarini o'z ma'lumotlarni o'z ichiga oladi. ichiga oladi. Activity Activity bu-,,, Layout faylini yaratish Android dasturlashda Activity, Layout fayli Activity-ning foydalanuvchi bilan o‘zaro aloqa qiladigan ekran yoki ko‘rinishini belgilaydi. Siz XML oyna sifatida xizmat qiladi. fayli yordamida layoutni Activitylarning hayot sikli yaratishingiz mumkin. Android dasturning turli holatlarida bajarilishi kerak bo‘lgan Studio-da layoutni yaratish vazifalarni aniqlashda muhim uchun "res > layout" papkasini rol o‘ynaydi. oching va yangi layout faylini yarating. Java kodini yozish Activity uchun kodni yozish uchun "java" papkasini oching va tegishli paketdagi Activity sinfini oching. Sizda Activity sinfining onCreate() va boshqa hayot sikli metodlarini amalga oshirish imkoniyati bo‘ladi. 1. Asboblar paneli(Toolbar): keng doiradagi 2 1 amallarni bajarish, jumladan, ilovangizni ishga 3 tushirish va Android vositalarini ishga tushirish. 2. Navigatsiya paneli(Navigation bar): Loyihan bo‘ylab harakatlash va tahrirlash uchun fayllarni ochish. Loyiha oynasida ko‘rinadigan strukturaning yanada ixcham ko‘rinishini ta'minlaydi. 3. Tahrirlovchi oynasi(Editor window): kod 4 yaratish va o‘zgartirish. Joriy fayl turiga qarab, muharrir o‘zgarishi mumkin. Masalan, maket faylini ko‘rishda muharrir Layout Editor-ni ko‘rsatadi. 4. Asboblar oynasi paneli(Tool window bar): alohida asboblar oynalarini kengaytirish yoki 5 yopish uchun IDE oynasining tashqi tomonidagi tugmalardan foydalanish. 5. Asbob oynalari(Tool windows): Loyiha boshqaruvi, qidiruv, versiyani boshqarish va boshqalar kabi maxsus vazifalarga kirish. Siz 6 ularni kengaytirishingiz va yig‘ishingiz mumkin. 6. Holat paneli(Status bar): loyihangiz va IDE holatini, shuningdek, har qanday ogohlantirish yoki xabarlarni ko‘rsatish. Activity struktura sikli(Android Activity Life Cycle) bosqichlari Activity hayotiy sikli davri Activity ning turli holatlaridan o‘tishni belgilaydi. Hayot sikli davri onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy() va boshqa metodlar yordamida boshqariladi. Bu metodlar Activity ning har bir holatiga mos keladigan ma'lumotlarni qayta ishlash va resurslarni boshqarish uchun chaqiriladi. onCreate() Metodi onCreate() metodi Activity yaratilganda birinchi bo‘lib chaqiriladi. U Activity uchun asosiy sozlamalarni, masalan, layout-ni o‘rnatish, viewlarni yaratish va boshqa dastlabki bosqichlarda amalga oshiriladigan operatsiyalarni o‘z ichiga oladi. Bu Activity hayot siklining boshlanish nuqtasidir. 1 Layoutni o‘rnatish onCreate() metodi ichida setContentView() metodi yordamida Activity uchun layout faylni o‘rnatish mumkin. 2 Viewlarni yaratish onCreate() metodi ichida findViewById() metodi yordamida layoutdagi viewlarga kirish mumkin. Bu orqali ularga kerakli xususiyatlarni belgilash, eventlarni qayta ishlash va boshqa operatsiyalarni amalga oshirish imkoniyati mavjud bo‘ladi. 3 Dastlabki sozlamalar onCreate() metodi Activity uchun kerakli dastlabki sozlamalarni amalga oshirish uchun ishlatilishi mumkin. Masalan, foydalanuvchi sozlamalarini o‘qish, database bilan ulanish va boshqa operatsiyalarni bajarish. onStart() Metodi onStart() metodi Activity natijasi ko‘rinishga tayyor bo‘lganda chaqiriladi. Bu metod Activity-ning foydalanuvchi tomonidan ko‘rinishga tayyor bo‘lganini, lekin foydalanuvchi bilan o‘zaro aloqa qila olmasligini bildiradi. Bu metod Activity-ning foydalanuvchi tomonidan ko‘rinishga tayyor bo‘lishini belgilaydi. Activity ko‘rinadigan bo‘lganda onStart() metodi chaqiriladi, agar Activity hozirda to‘xtatilgan bo‘lsa, u qayta boshlanadi. Activity ko‘rinmas bo‘lganda onStart() metodi chaqirilishdan oldin onStop() metodi chaqiriladi. onResume() Metodi onResume() metodi Activity foydalanuvchi bilan o‘zaro aloqa qilishga tayyor bo‘lganda chaqiriladi. Bu metod Activity-ning foydalanuvchi bilan o‘zaro aloqa qilishi mumkinligini bildiradi. Bu Activity hayot siklining muhim bosqichidir, chunki u Activity-ning foydalanuvchi tomonidan boshqarilishi mumkinligini belgilaydi. Activity ko‘rinadigan bo‘lsa onResume() metodi chaqiriladi. Foydalanuvchi Activity bilan o‘zaro aloqa qilganda Activity-ning holati o‘zgaradi va foydalanuvchi bilan o‘zaro aloqa qilishga tayyor bo‘ladi. Activity boshqa holatga o‘tganida onResume() metodi chaqirilishdan oldin onPause() metodi chaqiriladi. onPause() Metodi onPause() metodi Activity vaqtinchalik to‘xtatilganda yoki boshqa activity ishga tushganda chaqiriladi. Bu metod Activity-ning to‘liq to‘xtatilmasligini, lekin foydalanuvchi bilan o‘zaro aloqa qilmasligini bildiradi. Bu metod Activity-ning fon holatiga o‘tishini belgilaydi. 1 Foydalanuvchi 2 Telefon qo‘ng'iroq boshqa Activityga qilinganida o‘tganda onPause() metodi onPause() metodi chaqiriladi. chaqiriladi. 3 Foydalanuvchi asosiy ekraniga qaytganda onPause() metodi chaqiriladi. onStop() Metodi onStop() metodi Activity foydalanuvchiga ko‘rinmay qolganda chaqiriladi. onStop() metodi Activity ko‘rinmas bo‘lganda chaqiriladi Activity faoliyatini to‘xtatadi, lekin xotirada saqlanadi. onRestart() Metodi Activity ish faoliyati vaqtincha to‘xtatilgandan so‘ng qayta ishga tushirilganda chaqiriladi. onRestart() usuli faqatgina Activity stopped (to‘xtatilgan) holatdan qayta "active" (faol) holatga o‘tayotganda ishga tushadi. @Override protected void onRestart() { super.onRestart(); 1 Activity yana foydalanuvchi uchun ko‘rinadigan va // Activity qayta boshlanganda faol bo‘lgan holatga qaytadi. kerakli harakatlarni bajarish. Log.d("ActivityLifecycle", "onRestart() called"); } 2 Ushbu metod faqatgina activity to‘xtatilganidan keyin qayta ishga tushirilganda chaqiriladi. onDestroy() Metodi onDestroy() metodi Activity butunlay tugallanadi va xotiradan o‘chiriladi. Bu metod Activity-ning barcha resurslarini bo‘shatish uchun ishlatilishi mumkin. Resurslarni bo‘shatish Activity-ning resurslari, masalan, memory, database ulanishlari va boshqa resurslarni bo‘shatish. Vaqtinchalik vazifalarni bajarish Qisqa muddatli vazifalarni bajarish, masalan, databasega ma'lumotlarni yozish yoki foydalanuvchi harakatlarini saqlab qolish. Activityni yo‘q qilish Activityning Life siklini to‘liq tugatish. Activity Life Siklining Orasidagi Aloqa Umumiy Jarayon Dastur ishga tushirilganda, avval onCreate(), 1 so‘ngra onStart(), keyin onResume() bosqichlari chaqiriladi. 2 Agar activity vaqtincha to‘xtatilsa (yangi activity ochilsa), onPause() va onStop() bosqichlari bajariladi. Agar activity butunlay tugatilsa, onDestroy() 3 chaqiriladi. 4 Agar activity qayta ishlatilsa, onRestart() orqali yana faoliyatga qaytadi. Activity boshqa Activity bilan bog'lash Bir Activity dan boshqasiga o‘tish uchun siz Intent-larni ishlatasiz. Intent- komponentlar o‘rtasidagi o‘zaro aloqani amalga oshirish uchun ishlatiladigan muhim elementlardan biri. Intentlar yordamida bir Activity dan boshqa Activity ga o‘tish yoki turli vazifalarni bajarish mumkin. Intent o‘zi qo‘shimcha ma’lumotlar bilan bir komponentdan boshqasiga signallarni uzatish imkonini beradi. 1 Explicit Intent 2 Implicit Intent Explicit (aniq) Intent: Bu Implicit (noaniq) Intent: turdagi Intent aniq bir Noaniq Intent da siz aniq komponentni ishga tushirish komponent nomini uchun ishlatiladi kiritmaysiz, balki Android tizimi qaysi komponent bu Intent ni bajarishi mumkinligini aniqlaydi va foydalanuvchiga tanlash imkonini beradi. Intent-larni ishlatish Intent-larni yaratish va boshqarish uchun startActivity() metodi ishlatiladi. Fragment Fragment - bu Android ilovasida alohida UI komponentini ifodalovchi modulli qism. U activityning bir qismi sifatida ishlaydi, lekin o'zining alohida hayotiy sikli, foydalanuvchi interfeysi va xatti-harakatlariga ega. Fragmentlar activitylar ichida joylashtiriladi va bir activity ichida bir nechta fragmentlar bo'lishi mumkin. Fragmentlarning asosiy afzalliklari quyidagilar: 1. Modullilik va qayta ishlatish imkoniyati 2. Moslashuvchan UI yaratish 3. Katta ekranli qurilmalarga optimallashtirilgan 4. Dinamik UI o'zgarishlarini osonlashtiradi 5. Kod tashkil etishni yaxshilaydi Fragmentning Hayotiy Sikli 1 Yaratilish Bosqichi Fragment hayotiy sikli onAttach() metodi bilan boshlanadi. Fragment birinchi marta activity bilan biriktirilganida chaqiriladi. Bu jarayonda fragment activity bilan aloqa o'rnatadi. Keyin onCreate() chaqiriladi, bu yerda fragment dastlabki sozlamalarni oladi. onCreateView() metodida fragment uchun foydalanuvchi interfeysi (UI) yaratadigan metod. Bu metodda XML fayl orqali interfeys belgilanadi. 2 Faol Bosqich onActivityCreated() chaqirilgandan so'ng, fragment to'liq faol holatga o'tadi. onStart() va onResume() metodlari chaqiriladi, bu yerda fragment foydalanuvchiga ko'rinadi va u bilan o'zaro aloqada bo'lishi mumkin. 3 To'xtatish Bosqichi Foydalanuvchi fragmentdan chiqib ketganda, onPause() va onStop() metodlari chaqiriladi. Bu bosqichda fragment foydalanuvchiga ko'rinmay qoladi va ma'lumotlarni saqlash kerak bo'lishi mumkin. Yo'q Qilish Bosqichi 4 Fragment butunlay olib tashlanayotganda, onDestroyView(), onDestroy() va onDetach() metodlari chaqiriladi. Bu bosqichda fragment o'zining barcha resurslarini bo'shatadi va activitydan ajraladi. FragmentManager va FragmentTransaction FragmentManager Olish FragmentManager activity ichida getSupportFragmentManager() metodi orqali olinadi. Bu manager fragmentlarni boshqarish uchun asosiy vositadir. FragmentTransaction Boshlash FragmentManager orqali beginTransaction() metodini chaqirib, FragmentTransaction obyekti olinadi. Bu tranzaksiya fragmentlar ustida turli amallarni bajarish imkonini beradi. Fragmentlar Ustida Amallar FragmentTransaction yordamida add(), remove(), replace() kabi metodlar orqali fragmentlar qo'shiladi, olib tashlanadi yoki almashtiriladi. Tranzaksiyani Yakunlash Barcha kerakli amallar bajarilgandan so'ng, commit() metodi chaqiriladi. Bu tranzaksiyani yakunlaydi va o'zgarishlarni amalga oshiradi. Fragment va Activity O'rtasidagi Aloqa 1 Interface Orqali Aloqa Fragment va activity o'rtasida ma'lumot almashish uchun interface yaratiladi. Bu interface orqali fragment activityga xabar yuboradi, activity esa bu xabarni qabul qilib, tegishli amallarni bajaradi. 2 Bundle Orqali Ma'lumot Uzatish Fragmentga ma'lumot uzatish uchun Bundle obyektidan foydalaniladi. Bu obyekt fragmentni yaratish vaqtida setArguments() metodi orqali uzatiladi va fragment ichida getArguments() orqali olinadi. 3 ViewModel Orqali Ma'lumot Almashish ViewModel sinfi fragment va activity o'rtasida ma'lumotlarni saqlash va almashish uchun ishlatiladi. Bu usul configuration o'zgarishlarida ma'lumotlarni saqlab qolish imkonini beradi. Fragmentlarni Dinamik Almashtirish Metod Tavsif Qo'llash holati add() Yangi fragment Mavjud UI ustiga qo'shish qo'shimcha ma'lumot ko'rsatish replace() Mavjud fragmentni Bir ko'rinishdan almashtirish boshqasiga o'tish remove() Fragmentni olib Kerak bo'lmagan UI tashlash qismini olib tashlash addToBackStack() Tranzaksiyani orqaga Foydalanuvchiga qaytarish stackiga orqaga qaytish qo'shish imkonini berish activity_main.xml fayli 1. Palette: turli ko‘rinishlar va ko‘rish guruhlarini o‘z ichiga oladi. 2. Component Tree : maketingizdagi komponentlar ierarxiyasini ko‘rsatadi. 3. Toolbar: muharrirda tartib koʻrinishini sozlaydigan va tartib atributlarini oʻzgartiruvchi tugmalar mavjud. 4. Design editor: oynani dizayn ko‘rinishida, Blueprint ko‘rinishida yoki ikkalasida ham tartibni tahrirlash imkonini beradi. 5. Attributes : tanlangan koʻrinish atributlari uchun boshqaruv elementlari mavjud. 6. View mode: tartibingizni Kod kod rejimi belgisi , Split ajratish rejimi belgisi yoki Dizayn dizayn rejimi belgisi rejimlarida ko‘rish imkonini beradi. Split rejimi bir vaqtning o‘zida Kod va Dizayn oynalarini ko‘rsatadi. 7. Zoom and pan controls: muharrir ichidagi oldindan ko‘rish o‘lchami va joylashuvini boshqaring. Android Studioda Attributes oynasi 1. Declared Attributes (E'lon qilingan atributlar): Ushbu bo‘limda tanlangan elementning mavjud atributlari va ularning qiymatlari ko‘rsatiladi. Bunda ko‘pincha layout_width, layout_height, va boshqa dizayn parametrlarining qiymatlari bo‘ladi. Rasmda "bad_value" noto‘g'ri qiymat sifatida ko‘rsatilgan. 2. Layout: Ushbu bo‘lim dizaynning asosiy parametrlarini, masalan, Constraint Widget yordamida qanday qilib tugmalar yoki boshqa elementlarni ekranda joylashtirishni ko‘rsatadi. Constraintlar yordamida elementlar ota element (parent) bilan bog'lanadi. 3. Common Attributes (Umumiy atributlar): Bu bo‘limda barcha elementlar uchun qo‘llanilishi mumkin bo‘lgan umumiy parametrlar mavjud. Masalan, style, background, text, onClick va boshqalar. Ushbu parametrlar ko‘p komponentlar tomonidan ishlatiladi. 4. Attributes Settings (Atributlar sozlamalari): Bu ikonka Attributes oynasida ko‘rsatiladigan parametrlarni boshqarish uchun ishlatiladi. Odatda, qo‘shimcha atributlar yoki sozlamalar shu yerdan amalga oshiriladi. 5. Scroll Bar (Svitok paneli): Bu joyda atributlar ro‘yxatidagi elementlarni ko‘rib chiqish uchun svitokdan foydalanish mumkin. Agar atributlar ko‘p bo‘lsa, ushbu panel orqali harakat qilish mumkin bo‘ladi. 6. Invalid Input (Noto‘g'ri qiymatlar): Bu rasmda "bad_value" deb noto‘g'ri qiymat kirilgan joy belgilangan. Android Studio‘da noto‘g'ri yoki nomavjud atribut qiymatlari ko‘pincha qizil bilan ajratib ko‘rsatiladi, bu xato belgilangan qiymatni bildiradi. Eksport va Import qilish Android Studio, loyihani eksport qilish va import qilish imkoniyatlarini taqdim etadi. Loyihaning barcha fayllarini eksport qilishingiz, boshqa loyihalardan fayllarni import qilishingiz mumkin. Eksport Eksport vositasi, loyihaning barcha fayllarini, shu jumladan kodni, resurslarni va konfiguratsiya fayllarini eksport qilish imkonini beradi. Import Import vositasi, boshqa loyihalardan fayllarni import qilish imkonini beradi. Bu sizga kodni qayta ishlatish va boshqa loyihalar bilan hamkorlik qilish imkonini beradi. Build, Run, Debug va boshqarish vositalari Android Studio, ilovalaringizni kompilyatsiya qilish, ishga tushirish, xatolarni tuzatish va boshqarish uchun zarur bo'lgan vositalarni taqdim etadi. 1 Build Build vositasi, loyihani kompilyatsiya qilish va Android ilovasi paketini (APK) yaratish uchun ishlatiladi. 2 Run Run vositasi, kompilyatsiya qilingan APK faylini emulyatorga yoki haqiqiy qurilmaga yuklash va ishga tushirish uchun ishlatiladi. 3 Debug Debug vositasi, loyihaning kodini qadam-qadam ko'rib chiqish, o'zgaruvchilarning qiymatlarini kuzatish va xatolarni topishga imkon beradi. Savol- javoblar/ Muhokamalar Adabiyotlar va internet resurslar 1. Beginning App Development with Flutter: Create Cross-Platform Mobile Apps. Rap Payne. APress. 2019. 2. UX-стратегия. Чего хотят пользователи и как им это дать. Джейми Леви. Издательство «Питер», 2017. 3. Nazirova E.Sh., Pardayeva G.A. «Mobil ilovalarini ishlab chiqish» fanidan o‘quv qo‘llanma Toshkent 2022. 168 bet. 4. Хo‘jayev O., Quryazov D. «Mobil ilovalarni ishlab chiqish» fanidan tajriba ishlarini bajarish bo‘yicha uslubiy ko‘rsatma. Toshkent axborot texnologiyalari universiteti Urganch filiali. 2016. 5. Nazirova E.Sh. Yuldasheva Sh., Mahmudova M.M. «Mobil ilovalarni ishlab chiqish» fani bo‘yicha o‘quv-uslubiy ko‘rsatma TATU. Toshkent 2022. 78 bet. 6. www.udemy.com 7. www.flutter.su 8. https://flutter.dev/docs