Laboratoriya ishlarini bajarish uchun topshiriqlar Oldingi vazifaga o‘xshash vazifa: Bir qator ob'ektlar va Funktsiya interfeysini (yoki o‘zingizniki) amalga oshiradigan to‘ldirish usulini yozing.
Ob'ektlar to‘plamini kirish sifatida qabul qiladigan va to‘plamni takroriy holda qaytaradigan usulni yozing.
ArrayList va LinkedList ga 1000000 ta element qo‘shadigan usulni yozing. To‘ldirilgan ro‘yxatdan 100 000 marta tasodifiy elementni tanlaydigan boshqa usulni yozing. Unga sarflangan vaqtni o‘lchang. Natijalarni solishtiring va nima uchun ular shunday ekanligini taklif qiling.
Laboratoriya ishi №8
Android Studioda asosiy komponentalar bilan ishlash: Layout, Table, ListView, Grid, List va boshqalar.
Ishdan maqsad: Android Studio dasturida asosiy komponentlardan foydalanishni o‘rganish: Layout, Table, ListView, Grid, List. Laboratoriyaning nazariy qismi. Bir nechta faoliyatga asoslangan dasturni tashkil qilish har doim ham maqbul bo‘lmasligi mumkin. Android OS dunyosi juda parchalangan va ko‘plab qurilmalardan iborat. Va agar kichik ekranli mobil qurilmalar uchun turli xil harakatlar o‘rtasidagi o‘zaro ta'sir juda yaxshi ko‘rinadigan bo‘lsa, unda katta ekranlarda - planshetlarda, televizorlarda, faollik oynalari katta ekran o‘lchami tufayli unchalik yaxshi ko‘rinmaydi. Shuning uchun parchalar tushunchasi paydo bo‘ldi.
Fragment qayta foydalanish va qayta foydalanish mumkin bo‘lgan ilova vizual interfeysining bir qismini ifodalaydi. Fragment o‘z tartib fayliga ega bo‘lishi mumkin, fragmentlar o‘z hayot aylanishiga ega. Fragment faoliyat kontekstida mavjud bo‘lib, o‘zining hayot aylanishiga ega, u alohida holda faoliyatdan tashqarida mavjud bo‘lolmaydi. Har bir faoliyat bir nechta bo‘laklarga ega bo‘lishi mumkin.
Fragmentlar bilan ishlashni boshlash uchun keling, bo‘sh MainActivity bilan yangi loyiha yarataylik. Avval birinchi fragmentni yaratamiz. Ammo darhol shuni ta'kidlash kerakki, fragmentlarning barcha standart funktsiyalari loyihada mavjud bo‘lmasligi mumkin, chunki u alohida kutubxonada - AndroidX Fragment kutubxonasida joylashgan. Va birinchi navbatda, ushbu kutubxonani build.gradle faylidagi loyihaga ulashingiz kerak.
Undagi bog‘liqliklar bo‘limini topamiz, u sukut bo‘yicha shunday ko‘rinadi:
bitta
2
3
to‘rtta
5
6
7
sakkiz
9
bog‘liqliklar {
"androidx.appcompat:appcompat:1.2.0" ilovasi
amalga oshirish 'com.google.android.material:material:1.2.1'
amalga oshirish 'androidx.constraintlayout:constraintlayout:2.0.4'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
Boshida qatorni qo‘shing
bitta
Amalga oshirish "androidx.fragment:fragment:1.2.5"
Ya'ni, mening holimda
bitta
2
3
to‘rtta
5
6
7
sakkiz
9
o‘n
o‘n bir
bog‘liqliklar {
Amalga oshirish "androidx.fragment:fragment:1.2.5"
"androidx.appcompat:appcompat:1.2.0" ilovasi
amalga oshirish 'com.google.android.material:material:1.2.1'
amalga oshirish 'androidx.constraintlayout:constraintlayout:2.0.4'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
Va keyin paydo bo‘lgan Endi sinxronlash havolasini bosing.
Aslida, fragment Fragment sinfidan meros bo‘lgan oddiy Java sinfidir. Biroq, Activity klassi singari, fragment GUIni aniqlash uchun xml formatidagi fayllardan foydalanishi mumkin. Shunday qilib, biz fragmentni ifodalovchi Java sinfini va fragment foydalanadigan interfeys belgilarini saqlash uchun xml faylini alohida qo‘shishimiz mumkin.
Fragment sinfi Fragment sinfidan meros bo‘lishi kerak.
Fragment ma'lum bir xml formatidagi fayldan foydalanishini ko‘rsatish uchun tartib resursi identifikatori ota-klassning (ya'ni Fragment klassi) konstruktor chaqiruviga uzatiladi.
Butun loyiha quyidagicha ko‘rinadi:
Laboratoriyaning amaliy qismi.
Faoliyatga fragment qo‘shish
Fragmentdan foydalanish uchun uni MainActivity-ga qo‘shamiz. Buni amalga oshirish uchun MainActivity interfeysini belgilaydigan activity_main.xml faylini o‘zgartiramiz:
FragmentContainerView elementi fragment qo‘shish uchun ishlatiladi. Aslida, FragmentContainerView FrameLayout sinfini kengaytiruvchi va fragmentlar bilan ishlash uchun maxsus ishlab chiqilgan View ob'ektini ifodalaydi. Aslida, fragmentlardan tashqari, u boshqa hech narsani o‘z ichiga olmaydi.
Uning android:name atributi foydalaniladigan fragmentning sinf nomiga ishora qiladi. Mening holimda paketga berilgan fragmentning to‘liq sinf nomi com.example.fragmentapp.ContentFragment hisoblanadi.
MainActivity sinf kodi loyiha yaratilgandagi kabi qoladi:
bitta
2
3
to‘rtta
5
6
7
sakkiz
9
o‘n
o‘n bir
12
13
o‘n to‘rt
Agar biz dasturni ishga tushiradigan bo‘lsak, biz aslida faoliyat orqali amalga oshirishimiz mumkin bo‘lgan interfeysni ko‘ramiz, faqat bu holda interfeys fragmentda aniqlanadi:
Shuni ta'kidlash kerakki, Android Studio fragment qo‘shish uchun tayyor shablonni taqdim etadi. Keling, ushbu usuldan haqiqatan ham foydalanaylik.