Mavzu
Bugungi darsda biz Android Studio loyihasining ichki tuzilishi — ya'ni loyiha papkalari nima uchun kerakligini o'rganamiz. Kotlin kodi qayerda yoziladi, rasmlar va dizaynlar qayerda saqlanadi, AndroidManifest.xml fayli nega ilovaning "miyasi" deb atalishini bilib olamiz.
Asosiy tushunchalar
- Loyiha daraxti (Project Structure) — loyihadagi barcha kodlar, dizaynlar va sozlamalar tartiblangan fayllar ierarxiyasi.
java/(yokikotlin/) — ilovaning mantiqiy algoritmlari va dastur kodi (MainActivity.kt) saqlanadigan asosiy papka.res/(Resources) — ilovaning barcha vizual materiallari (ekran maketlari, rasmlar, ranglar, matnlar) jildi.strings.xml— ilovadagi barcha so'z va jumlalarni saqlash hamda bir nechta tilga tarjima qilish uchun maxsus fayl.AndroidManifest.xml— ilovaning pasporti; unda ruxsatnomalar, ilova ikonkasi va boshlang'ich ochiluvchi ekran e'lon qilinadi.build.gradle— ilovaning versiyasi (minSdk,targetSdk) va tashqi kutubxonalarni boshqaruvchi skript.
1. Loyihaning 4 ta asosiy qismi
Android Studio loyihasini ochganingizda, chap tomonda 4 ta asosiy bo'limni ko'rasiz:
MyApp/
├── manifests/ <-- AndroidManifest.xml (ilovaning miyasi)
├── java/ <-- MainActivity.kt (dastur kodi)
├── res/ <-- Dizayn maketlari, rasmlar va matnlar
└── Gradle Scripts/ <-- Loyiha sozlamalari va kutubxonalar 2. res/ (Resources) jildi: Dizayn xazinasi
Androidda qat'iy qoida bor: dastur kodi va vizual dizayn alohida saqlanishi kerak!
res/layout/: Ekranning XML dizayn maketlari saqlanadi (masalan,activity_main.xml). Tugmalar, matnlar qayerda turishi shu yerda chiziladi.res/drawable/: Ilovada ishlatiladigan barcha rasmlar, fonlar va vektor ikonlar.res/values/strings.xml: Ilovadagi matnlar:xmlMatnlarni alohida faylda saqlash ilovani o'zbek, rus va ingliz tillariga bir zumda tarjima qilish imkonini beradi!<resources> <string name="app_name">Mening Birinchi Ilovam</string> <string name="btn_login">Tizimga kirish</string> </resources>res/values/colors.xml: Ilovaning ranglar palitrasi (HEX formatida).
3. AndroidManifest.xml: Ilovaning pasporti
Operatsion tizim ilovani ishga tushirishdan oldin aynan ushbu faylni o'qiydi:
- Ruxsatnomalar: Ilova internet, kamera yoki GPS'dan foydalanishi uchun ruxsat e'lon qilinadi:xml
<uses-permission android:name="android.permission.INTERNET" /> - Ilova atributlari: Ilova nomi, ikonkasi va dizayn mavzusi.
- Boshlang'ich ekran (Launcher): Telefon menyusidagi ikonka bosilganda birinchi qaysi ekran ochilishi:xml
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
4. Gradle sozlamalari: minSdk, targetSdk, compileSdk
Modul darajasidagi build.gradle faylida uchta muhim ko'rsatkich mavjud:
minSdk(Minimal SDK): Ilova ishlay oladigan eng pastki Android versiyasi (masalan, 24 — Android 7.0). Ushbu versiyadan eski telefonlarga ilova o'rnatilmaydi.targetSdk: Ilova eng so'nggi qaysi Android talablariga moslab sinovdan o'tkazilgani (masalan, 34).compileSdk: Loyihani yig'ishda qaysi Android SDK vositasidan foydalanilayotgani.dependencies: Loyihaga tashqi kutubxonalarni (masalan, rasm yuklovchi Glide yoki ma'lumotlar bazasi Room) ulash bo'limi.
Amaliy topshiriqlar
Loyiha papkalarini sanang
· oson
Android Studio loyihasidagi 4 ta asosiy katalog nomini yozing.Dastur kodi qayerda yoziladi?
· oson
Kotlin yoki Java fayllari loyihaning qaysi papkasida joylashadi?strings.xml faylining foydasi
· oson
Nima uchun matnlarni kod ichida to'g'ridan-to'g'ri yozib ketmasdan,strings.xmlfaylida saqlash tavsiya etiladi?Ekran dizaynlari qayerda saqlanadi?
· o'rta
Ilova ekranlarining XML maketlari qaysi jildda turishini va fayl kengaytmasini yozing.Internet ruxsatnomasi kodi
· o'rta
Ilovangiz internetdan ma'lumot yuklashi uchunAndroidManifest.xmlfayliga qaysi ruxsatnoma qatori qo'shilishi kerak? Kodini yozing.minSdk va eski telefonlar
· o'rta
Agar loyihadaminSdk = 26(Android 8.0) deb belgilangan bo'lsa, Android 7.0 o'rnatilgan telefonga bu ilovani Google Play'dan o'rnatib bo'ladimi? Nega?Boshlang'ich ekranni aniqlang
· o'rtaAndroidManifest.xmlfaylida aynan qaysi ikki kalit so'z ekranning asosiy boshlang'ich oyna (Launcher) ekanligini bildiradi?dependencies bloki tahlili
· qiyinbuild.gradlefaylidagidependenciesbo'limi nima vazifa bajaradi? Unga yangi kutubxona qo'shilgach, Android Studio'da qaysi tugmani (harakatni) bosish shart?Kop tilli ilova yaratish keysi
· qiyin
Ilovangiz ham o'zbek, ham ingliz tilida ishlashi uchunres/jildi ichida qanday papkalar va fayllar yaratilishi kerakligini tushuntiring.Tadqiqotchi dasturchi
· bonusversionCodevaversionNamefarqini tushuntiring. Nima uchun Google Play do'koniversionNamega emas, aynanversionCoderaqamiga qarab yangilanishni aniqlaydi?
Bilasizmi?
- Android tizimida dunyo tillarini qo'llab-quvvatlash juda oson: agar siz
res/values-uz/strings.xmlvares/values-ru/strings.xmlfayllarini yaratsangiz, foydalanuvchi telefon tilini o'zgartirishi bilan ilova tili ham bir zumda avtomatik o'zgaradi! AndroidManifest.xmlfaylida agar bitta harf yoki yopuvchi teg noto'g'ri yozilsa, butun ilova ishga tushmaydi va qizil xatolik beradi. Shuning uchun dasturchilar bu faylni "muqaddas kodeks" deb ham atashadi.
Dars xulosasi
- Android loyihasi aniq arxitekturaga ega: kod
java/da, dizayn va matnlarres/da, pasport esamanifests/da saqlanadi. strings.xmlko'p tilli ilovalar yaratishning asosi hisoblanadi.AndroidManifest.xmlilovaning barcha huquqlari va kirish ekranini e'lon qiladi.build.gradleilovaning minimal versiyasi (minSdk) va kerakli kutubxonalarini belgilaydi.
O'zingizni tekshiring
- Ekran XML fayllari qaysi jildda saqlanadi?
strings.xmlfayli qaysi papkada joylashgan?- Ilovaning pasporti hisoblangan fayl qanday nomlanadi?
minSdkko'rsatkichi nimani anglatadi?- Yangi ruxsatnomalar qaysi faylga yoziladi?
