9-sinf (Android)
Android dasturlash
34 hafta102 darshaftasiga 3 dars · 80 daqiqa6 / 34 hafta tayyor
I chorak
1–9-haftalar1hafta
I-bob · Android muhiti va dasturlash asoslari
- 1-darsAndroid nima va uning rivojlanish tarixi: mobil OS tarixi, Google, versiyalar va O'zbekiston ekotizimi
- 2-darsAndroid tizimi va arxitekturasi: Linux Kernel, HAL, ART/Dalvik, kutubxonalar va Java API Framework
- 3-darsAndroidning imkoniyatlari va qo‘llanilish sohalari: smartfon, planshet, WearOS, Android Auto, Android TV va IoT
2hafta
I-bob · Android muhiti va dasturlash asoslari
- 4-darsAndroid ekotizimi va Google xizmatlari (1-qism): GMS va AOSP farqi, Google Play Services roli va arxitekturasi
- 5-darsAndroid ekotizimi va Google xizmatlari (2-qism): Google Play Console, SHA-1 barmoq izi, xavfsizlik va AAB formati
- 6-darsAndroid Studio va Android SDK bilan tanishuv (1-qism): Android Studio interfeysi, SDK Manager va SDK Build-Tools
3hafta
I-bob · Android muhiti va dasturlash asoslari
- 7-darsAndroid Studio va Android SDK bilan tanishuv (2-qism): Loyiha strukturasi (java/kotlin, res, AndroidManifest.xml, Gradle)
- 8-darsAndroid Studio va Android SDK bilan tanishuv (3-qism): Birinchi «Hello World» ilovasini yaratish va Gradle build mexanizmi
- 9-darsSimulyator va Emulator haqida tushuncha (1-qism): Simulyator vs Emulyator farqi, AVD yaratish va CPU virtualizatsiyasi
4hafta
I-bob · Android muhiti va dasturlash asoslari
- 10-darsSimulyator va Emulator haqida tushuncha (2-qism): Real qurilmani USB orqali ulash, ADB drayverlari va logcat kuzatuvi
- 11-darsKotlin sintaksisi (1-qism): Kotlin afzalliklari, o‘zgaruvchilar (val vs var) va ma’lumot turlari
- 12-darsKotlin sintaksisi (2-qism): Shart operatorlari (if, when) va ularning ifoda sifatida qo'llanilishi
5hafta
II-bob · Java va Kotlin dasturlash asoslari
- 13-darsKotlin sintaksisi (3-qism): Sikllar (for, while, do-while) va oraliqlar (ranges: in, downTo, step)
- 14-darsFunksiyalar va sinflar (1-qism): Funksiya e'lon qilish, parametrlar, standart qiymatlar va nomlangan argumentlar
- 15-darsFunksiyalar va sinflar (2-qism): Sinflar, obyektlar, konstruktorlar (primary vs secondary) va metodlar
6hafta
II-bob · Java va Kotlin dasturlash asoslari
- 16-darsKotlinda ma’lumot turlari, list va maplar (1-qism): Kolleksiyalar: List, MutableList, Set va Map tuzilmasi
- 17-darsKotlinda ma’lumot turlari, list va maplar (2-qism): Lambda ifodalar va kolleksiyalarni filtrlash (filter, map, forEach)
- 18-darsKotlinda OOP bilan tanishish (1-qism): Obyektga yo'naltirilgan dasturlash asoslari va inkapsulyatsiya (private, protected, public)
7hafta
II-bob · Java va Kotlin dasturlash asoslari
- 19-darsKotlinda OOP bilan tanishish (2-qism): Meros olish (inheritance): open class, override metodlar va super kalit so'zi
- 20-darsKotlinda OOP bilan tanishish (3-qism): Polimorfizm va metodlarni qayta aniqlash
- 21-darsKotlinda OOP bilan tanishish (4-qism): Abstrakt sinflar va interfeyslar (interface), bir nechta interfeysni tatbiq etish
8hafta
II-bob · Java va Kotlin dasturlash asoslari
- 22-darsKotlinda OOP bilan tanishish (5-qism): Data class, Singleton object va companion object imkoniyatlari
- 23-darsNull-safety va xavfsiz ma’lumotlar bilan ishlash (1-qism): NullPointerException muammosi, nullable turlar (?) va Elvis operatori (?:)
- 24-darsNull-safety va xavfsiz ma’lumotlar bilan ishlash (2-qism): Xavfsiz chaqiruv (?.) va scope funksiyalari (let, apply, also, run)
9hafta
II-bob · Java va Kotlin dasturlash asoslari
- 25-darsException va logcat orqali xatolarni tahlil qilish (1-qism): Istisnolar (exceptions), try-catch-finally va throw
- 26-darsException va logcat orqali xatolarni tahlil qilish (2-qism): Logcat filtratsiyasi (Log.d, Log.e, Log.w) va debug qilish usullari
- 27-darsXML va Jetpack Compose asoslari (1-qism): An'anaviy XML va zamonaviy deklarativ Compose yondashuvi solishtirmasi
II chorak
10–16-haftalar10hafta
III-bob · Jetpack Compose va interfeys yaratish
- 28-darsXML va Jetpack Compose asoslari (2-qism): Composable funksiyalar, @Preview va Compose Compiler ishlash prinsipi
- 29-darsXML va Jetpack Compose asoslari (3-qism): Loyihada birinchi Composable ekranni yaratish va ishga tushirish
- 30-darsLayoutlar (1-qism): Column va Row komponentlari, vertikal va gorizontal joylashuv
11hafta
III-bob · Jetpack Compose va interfeys yaratish
- 31-darsLayoutlar (2-qism): Box orqali elementlarni ustma-ust joylash va Alignment/Arrangement
- 32-darsLayoutlar (3-qism): Scrollable ro'yxatlar: LazyColumn va LazyRow bilan resurslarni tejash
- 33-darsAsosiy UI elementlari (1-qism): Text, TextField va Button turlari bilan foydalanuvchi kiritmasini boshqarish
12hafta
III-bob · Jetpack Compose va interfeys yaratish
- 34-darsAsosiy UI elementlari (2-qism): Image va Card komponentlari yordamida kartochkali dizayn yaratish
- 35-darsAsosiy UI elementlari (3-qism): IconButton, Switch, Checkbox va RadioButton boshqaruv elementlari
- 36-darsI chorak oraliq nazorat ishi (Loyiha ishi): Jetpack Compose yordamida shaxsiy profil va vizitka ilovasi
13hafta
III-bob · Jetpack Compose va interfeys yaratish
- 37-darsRasm va ikonlar bilan ishlash, Material3 komponentlari (1-qism): Rasm manbalari (drawable, vector asset) va Lucide/Material ikonlar
- 38-darsRasm va ikonlar bilan ishlash, Material3 komponentlari (2-qism): Material Design 3 ranglar palitrasi, Light va Dark mavzular
- 39-darsRasm va ikonlar bilan ishlash, Material3 komponentlari (3-qism): Tipografika va shakllar (shapes) tizimini sozlash
14hafta
III-bob · Jetpack Compose va interfeys yaratish
- 40-darsSnackbar, Dialog va BottomSheet yaratish (1-qism): Snackbar orqali tezkor bildirishnoma ko'rsatish
- 41-darsSnackbar, Dialog va BottomSheet yaratish (2-qism): AlertDialog oynasi va tasdiqlash muloqotlari
- 42-darsSnackbar, Dialog va BottomSheet yaratish (3-qism): Modal va Persistent BottomSheet yordamida qo'shimcha menyular ochish
15hafta
III-bob · Jetpack Compose va interfeys yaratish
- 43-darsFoydalanuvchi interfeysi holatini boshqarish (1-qism): State tushunchasi, remember va mutableStateOf
- 44-darsFoydalanuvchi interfeysi holatini boshqarish (2-qism): State Hoisting tamoyili: holatni yuqoriga ko'tarish
- 45-darsFoydalanuvchi interfeysi holatini boshqarish (3-qism): Recomposition mexanizmi va unumdorlikni optimallashtirish
16hafta
IV-bob · Activity, Intent va Fragmentlar
- 46-darsActivity va Lifecycle (1-qism): Activity nima, hayotiy sikl bosqichlari (onCreate, onStart, onResume)
- 47-darsActivity va Lifecycle (2-qism): onPause, onStop, onDestroy va ekranni aylantirishda holatni yo'qotmaslik (onSaveInstanceState)
- 48-darsActivity va Lifecycle (3-qism): Activity Lifecycle jarayonini Logcat va amaliy mashq orqali tahlil qilish
III chorak
17–26-haftalar17hafta
IV-bob · Activity, Intent va Fragmentlar
- 49-darsIntentlar orqali ma’lumot uzatish (1-qism): Explicit Intent yordamida ikkinchi ekranga o'tish va ma'lumot jo'natish
- 50-darsIntentlar orqali ma’lumot uzatish (2-qism): Implicit Intent yordamida tizim ilovalarini (brauzer, kamera, telefon qilish) chaqirish
- 51-darsIntentlar orqali ma’lumot uzatish (3-qism): Natija qaytaruvchi Intentlar (Activity Result API)
18hafta
IV-bob · Activity, Intent va Fragmentlar
- 52-darsFragmentlar bilan ishlash va NavHostController (1-qism): Fragment tushunchasi va Jetpack Navigation Component
- 53-darsFragmentlar bilan ishlash va NavHostController (2-qism): NavHost, NavGraph va NavController orqali marshrutlash
- 54-darsFragmentlar bilan ishlash va NavHostController (3-qism): Sahifalararo o'tishlarda orqaga qaytish steki (Backstack) boshqaruvi
19hafta
IV-bob · Activity, Intent va Fragmentlar
- 55-darsBottomNavigation va Toolbar yaratish (1-qism): Scaffold komponenti, TopAppBar va BottomNavigation
- 56-darsBottomNavigation va Toolbar yaratish (2-qism): NavHostController bilan pastki navigatsiyani bog'lash
- 57-darsII chorak oraliq nazorat ishi (Loyiha ishi): Ko'p ekranli mobil katalog yoki yangiliklar ilovasi
20hafta
IV-bob · Activity, Intent va Fragmentlar
- 58-darsEkranlar o‘rtasidagi ma’lumot uzatish (1-qism): Navigatsiya argumentlari (NavArgument) orqali parametr uzatish
- 59-darsEkranlar o‘rtasidagi ma’lumot uzatish (2-qism): Murakkab obyektlarni uzatish: Serializable va Parcelable
- 60-darsEkranlar o‘rtasidagi ma’lumot uzatish (3-qism): Umumiy ViewModel (Shared ViewModel) orqali ekranlararo ma'lumot almashish
21hafta
IV-bob · Activity, Intent va Fragmentlar
- 61-darsEkranlar o‘rtasidagi ma’lumot uzatish (4-qism): Chuqur havolalar (Deep Links) va tashqi manzillar orqali ekranni ochish
- 62-darsSharedPreferences bilan ishlash (1-qism): Kichik ma'lumotlarni kalit-qiymat (Key-Value) juftligida saqlash
- 63-darsSharedPreferences bilan ishlash (2-qism): Foydalanuvchi sozlamalari va tungi rejim (Dark Mode) holatini saqlash
22hafta
V-bob · Ma’lumotlar bilan ishlash
- 64-darsSharedPreferences bilan ishlash (3-qism): Avto-login va seansni saqlash amaliyoti (Modern DataStore muqobili bilan)
- 65-darsSQLite va Room kutubxonasi bilan ishlash (1-qism): SQLite relyatsion bazasi asoslari va SQL so'rovlar (CREATE, INSERT, SELECT)
- 66-darsSQLite va Room kutubxonasi bilan ishlash (2-qism): Room kutubxonasi arxitekturasi: Entity, DAO va AppDatabase
23hafta
V-bob · Ma’lumotlar bilan ishlash
- 67-darsSQLite va Room kutubxonasi bilan ishlash (3-qism): @Insert, @Update, @Delete va @Query annotatsiyalari
- 68-darsSQLite va Room kutubxonasi bilan ishlash (4-qism): Room bazasini Jetpack Compose va Coroutines bilan bog'lash
- 69-darsCRUD amallarini yozish (1-qism): Ro'yxatga yangi yozuv qo'shish (Create) va o'qish (Read)
24hafta
V-bob · Ma’lumotlar bilan ishlash
- 70-darsCRUD amallarini yozish (2-qism): Yozuvni tahrirlash (Update) va o'chirish (Delete) dialoglari
- 71-darsCRUD amallarini yozish (3-qism): «Vazifalar kundaligi (To-Do List)» to'liq ishchi ilovasini yaratish
- 72-darsMa’lumotlarni saralash va filtrlash (1-qism): Room'da ORDER BY va WHERE shartlari orqali saralash
25hafta
V-bob · Ma’lumotlar bilan ishlash
- 73-darsMa’lumotlarni saralash va filtrlash (2-qism): Real vaqt qidiruvi: LIKE operatori va SearchView / TextField integratsiyasi
- 74-darsMa’lumotlarni saralash va filtrlash (3-qism): Kategoriya bo'yicha filtrlash chip'lari (FilterChips)
- 75-darsFayl va MediaStore bilan ishlash (1-qism): Ichki (Internal) va tashqi (External) xotira farqi, fayllarni yozish va o'qish
26hafta
V-bob · Ma’lumotlar bilan ishlash
- 76-darsFayl va MediaStore bilan ishlash (2-qism): MediaStore API orqali galereyadan rasm tanlash va ruxsatnomalar (Permissions)
- 77-darsJetpack Compose’da grafik elementlar (1-qism): Canvas va DrawScope yordamida chizish (chiziq, doira, to'g'ri to'rtburchak)
- 78-darsJetpack Compose’da grafik elementlar (2-qism): Doiraviy (Pie Chart) va ustunli (Bar Chart) statistika grafiklarini chizish
IV chorak
27–34-haftalar27hafta
VI-bob · Hisoblash va tahlil
- 79-darsViewModel va LiveData bilan hisoblash logikasi (1-qism): MVVM arxitekturasi: UI qatlamini mantiqdan ajratish
- 80-darsViewModel va LiveData bilan hisoblash logikasi (2-qism): StateFlow va LiveData orqali hisoblash natijalarini real vaqtda yangilash
- 81-darsIII chorak oraliq nazorat ishi (Loyiha ishi): «Shaxsiy moliya va xarajatlar tahlili» kalkulyatori ilovasi
28hafta
VI-bob · Hisoblash va tahlil
- 82-darsRetrofit orqali API’dan kurslarni olish (1-qism): REST API nima, HTTP so'rovlar (GET, POST), internet ruxsatnomasi
- 83-darsRetrofit orqali API’dan kurslarni olish (2-qism): Retrofit va OkHttp kutubxonalarini sozlash, API interfeysini e'lon qilish
- 84-darsRetrofit orqali API’dan kurslarni olish (3-qism): Valyuta kurslari API'sidan (Markaziy Bank yoki ochiq API) ma'lumot yuklash
29hafta
VI-bob · Hisoblash va tahlil
- 85-darsRetrofit orqali API’dan kurslarni olish (4-qism): Yuklanish holati (Loading, Success, Error) va xatoliklarni xavfsiz qayta ishlash
- 86-darsJSON parsing (1-qism): JSON format tuzilmasi, obyektlar va massivlar arxitekturasi
- 87-darsJSON parsing (2-qism): Kotlin Data Class modellarini yaratish va Gson / Moshi konverterlari
30hafta
VI-bob · Hisoblash va tahlil
- 88-darsJSON parsing (3-qism): Murakkab ichma-ich (nested) JSON javoblarni parslash
- 89-darsJSON parsing (4-qism): Ob-havo ma'lumotlari API'sidan foydalanib to'liq ob-havo vidjetini yaratish
- 90-darsHisobotlarni Excelga eksport qilish (1-qism): CSV (Comma-Separated Values) formatida ma'lumotlarni saqlash
31hafta
VI-bob · Hisoblash va tahlil
- 91-darsHisobotlarni Excelga eksport qilish (2-qism): CSV faylini boshqa ilovalarga ulashish (Share Intent)
- 92-darsHisobotlarni Excelga eksport qilish (3-qism): Ilovada PDF hisobot yaratish asoslari
- 93-darsGit va versiya nazorati asoslari (1-qism): Git o'rnatish, git init, commit va o'zgarishlar tarixi
32hafta
VII-bob · Dizayn, testlash va yakuniy loyiha
- 94-darsGit va versiya nazorati asoslari (2-qism): Branchlar bilan ishlash, GitHub bilan integratsiya (push, pull)
- 95-darsGit va versiya nazorati asoslari (3-qism): Android Studio ichida Git vositalaridan foydalanish va ziddiyatlarni hal qilish
- 96-darsLoyiha kodini yakunlash, ma’lumotlar sinxronligi (1-qism): Kodni tozalash (refactoring), resurslarni tartibga solish
33hafta
VII-bob · Dizayn, testlash va yakuniy loyiha
- 97-darsLoyiha kodini yakunlash, ma’lumotlar sinxronligi (2-qism): Offline va Online sinxronlash: Room + Retrofit integratsiyasi
- 98-darsLoyiha kodini yakunlash, ma’lumotlar sinxronligi (3-qism): UX dizaynni tekshirish va ProGuard bilan kodni himoyalash
- 99-darsAPK fayl yaratish va ilovani testlash (1-qism): Build turlari (Debug vs Release), Keystore kalit yaratish va imzolash
34hafta
VII-bob · Dizayn, testlash va yakuniy loyiha
- 100-darsAPK fayl yaratish va ilovani testlash (2-qism): APK va AAB formatlarini yig'ish hamda haqiqiy qurilmada testdan o'tkazish
- 101-darsIV chorak oraliq nazorat ishi: Yakuniy mobil ilovani to'liq yig'ish va portfolioga tayyorlash
- 102-darsYakuniy nazorat ishi: Yillik mobil ilova loyihasini himoya qilish va taqdimot