Mavzu
Bugungi darsda biz barcha dasturchilar bosib o'tadigan eng hayajonli qadamni qo'yamiz: Android Studio'da o'zimizning birinchi mobil ilovamizni — «Salom, Dunyo!» (Hello World) dasturini noldan yaratamiz! XML maketlar bilan ishlash, matnlarni chiroyli qilish va "Run" tugmasi bosilganda nima sodir bo'lishini o'rganamiz.
Asosiy tushunchalar
- Empty Views Activity — klassik XML dizayn va Kotlin mantiqiga ega bo'lgan toza boshlang'ich loyiha shabloni.
- Layout Editor (Split rejimi) — bir vaqtning o'zida ham XML kodini, ham telefon ekranidagi natijani ko'rsatuvchi eng qulay ishchi rejim.
- TextView — ekranga matn chiqaruvchi asosiy vizual komponent.
- sp (Scale-independent Pixels) — foydalanuvchi tizim sozlamalariga moslashuvchi maxsus shrift o'lchov birligi.
- setContentView() — Kotlin dastur kodini XML dizayn fayli bilan biriktiruvchi "sehrli" funksiya.
- Extract String Resource — matnni XML ichidan
res/values/strings.xmlfayliga avtomatik ko'chirish usuli.
1. Yangi loyiha yaratish qadamlari
- Android Studio'ni ochib, «New Project» tugmasini bosing;
- Shablonlar orasidan «Empty Views Activity» ni tanlang va «Next» bosing;
- Sozlamalarni to'ldiring:
- Name:
SalomDunyo - Package name:
uz.edu.salomdunyo - Language:
Kotlin - Minimum SDK:
API 24: Android 7.0 (Nougat)
- Name:
- «Finish» tugmasini bosing va Gradle loyihani yig'ib bo'lishini (Gradle Sync) kuting.
2. Dizayn bilan tanishuv: activity_main.xml
Loyiha ochilgach, app/res/layout/activity_main.xml faylini oching. Oynaning yuqori o'ng burchagidagi «Split» tugmasini bosing:
xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tvHello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Salom, Dunyo!"
android:textSize="26sp"
android:textColor="#0D47A1"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> 3. Matnni strings.xmlga o'tkazish
Agar matnni to'g'ridan-to'g'ri android:text="Salom, Dunyo!" deb yozsangiz, sariq ogohlantirish chiqadi.
- Kursorni matn ustiga qo'ying;
- Klaviatirada
Alt + Enter(Mac'daOption + Return) tugmalarini bosing; - Chiqqan menyudan «Extract string resource» ni tanlang;
- Resurs nomiga
salom_matnideb yozing va OK bosing. - Endi matningiz
res/values/strings.xmlfaylida xavfsiz saqlanadi!
4. MainActivity.kt qanday ishlaydi?
app/java/uz/edu/salomdunyo/MainActivity.kt faylini oching:
kotlin
package uz.edu.salomdunyo
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}onCreate()— ilova ekrani ochilayotganda birinchi bo'lib chaqiriladi.setContentView(R.layout.activity_main)— bu qator biz chizganactivity_main.xmldizaynini ekranga chiqaradi!
5. "Run" bosilganda nima sodir bo'ladi?
Yashil «Run» tugmasini bosganingizda:
- Gradle loyihani yig'adi;
- aapt2 rasmlar va XML fayllarni binar paketlaydi;
- d8 kompilyatori kodni
.dexbaytkodiga aylantiradi; - Barcha qismlar bitta APK fayliga birlashadi;
- ADB vositasi APK'ni telefonga o'rnatadi va ochib beradi!
Amaliy topshiriqlar
Birinchi loyihani yarating
· oson
Android Studio'daMeningBirinchiIlovamnomli yangi loyiha oching. Minimum SDK qilib API 24 ni tanlang.Split rejimini yoqing
· osonactivity_main.xmlfaylini ochib, Split rejimiga o'ting. Preview oynasida telefon maketini ko'ring.Matnni o'zgartiring
· oson
Ekrondagi matnni o'z ism-familiyangizga va sinfingizga o'zgartiring (masalan: "Ali Valiyev — 9-sinf dasturchisi").Matn o'lchami va rangini sozlang
· o'rtaTextViewkomponentigaandroid:textSize="28sp"vaandroid:textColor="#2E7D32"(to'q yashil) parametrlarini qo'shing.sp va dp farqi
· o'rta
Nima uchun matnlar o'lchami faqatspda, boshqa tugma va rasmlar o'lchami esadpda berilishini tushuntiring.Extract string resource amalini bajaring
· o'rtaAlt + Enteryordamida ekrandagi matnnistrings.xmlfayliga o'tkazing vastrings.xmlfaylini ochib, uning qanday yozilganini ko'ring.setContentView'ni sinab ko'ring
· o'rtaMainActivity.ktichidagisetContentView(...)qatorini vaqtincha izohga (//) olib, ilovani ishga tushiring. Ekranda nima o'zgarganini daftaringizga yozing.Ikkinchi TextView qo'shing
· qiyin
Ekraningizga ikkinchiTextViewkomponentini qo'shing. Unda maktabingiz nomi yozilsin va u birinchi matnning ostida joylashsin.Gradle build bosqichlarini tasvirlang
· qiyin
"Run" tugmasi bosilgandan to ilova ochilguncha yuz beradigan 5 ta asosiy qadamni zanjir ko'rinishida yozing.Tadqiqotchi dasturchi
· bonusConstraintLayoutnima ekanini va undagilayout_constraint...parametrlari matnni ekran markazida ushlab turish uchun qanday ishlashini tadqiq qiling.
Bilasizmi?
- «Hello, World!» dasturini birinchi bo'lib 1978-yilda afsonaviy muhandis Brayan Kernigan o'zining «C dasturlash tili» kitobida kiritgan. O'shandan beri dunyodagi barcha dasturchilar yangi til yoki platformani o'rganishni aynan shu jumlani ekranga chiqarishdan boshlashadi!
Dars xulosasi
- «Empty Views Activity» — yangi boshlovchilar uchun eng qulay boshlang'ich modeldir.
- Ekranning vizual qismi
activity_main.xmlda, mantiqiy kodi esaMainActivity.ktda yoziladi. - Matnlar doimo
spbirligida vastrings.xmlfaylida saqlanishi kerak. setContentView()kodi XML dizaynni ekranga chizib beradi.
O'zingizni tekshiring
- Yangi loyiha yaratishda qaysi shablon tanlanadi?
- Matn o'lchami qaysi birlikda beriladi?
- Matnni
strings.xmlga chiqarish uchun qaysi klavishlar bosiladi? - Kod va dizaynni bog'lovchi funksiya qaysi?
- "Run" bosilganda loyihani kim yig'adi?
