«java dasturlash tilida android tizimida milliy ... · amazon¶dan appstore for android, opera...

87
1 O‟ZBEKISTON RESPUBLIKASI VAZIRLAR MAHKAMASI HUZURIDAGI TOSHKENT ISLOM UNIVERSITETI Himoyaga: «____________________» Kafedra mudiri ________________ «___» ___________________ 2013-yil BAKALAVR BITIRUV MALAKAVIY ISHI Mavzu: «Java dasturlash tilida Android tizimida milliy resurslarni tashkillashtirish va boshqarish» Bitiruvchi : _____________ ____________________ (imzo) (f.i.o) Rahbar: ____________ ____________________ (imzo) (f.i.o) Taqrizchi: ____________ ____________________ (imzo) (f.i.o) Toshkent - 2013

Upload: others

Post on 30-Oct-2020

84 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

1

O‟ZBEKISTON RESPUBLIKASI VAZIRLAR MAHKAMASI HUZURIDAGI

TOSHKENT ISLOM UNIVERSITETI

Himoyaga: «____________________»

Kafedra mudiri ________________

«___» ___________________ 2013-yil

BAKALAVR BITIRUV MALAKAVIY ISHI

Mavzu:

«Java dasturlash tilida Android tizimida milliy resurslarni

tashkillashtirish va boshqarish»

Bitiruvchi : _____________ ____________________

(imzo) (f.i.o)

Rahbar: ____________ ____________________

(imzo) (f.i.o)

Taqrizchi: ____________ ____________________

(imzo) (f.i.o)

Toshkent - 2013

Page 2: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

2

O‟ZBEKISTON RESPUBLIKASI VAZIRLAR MAHKAMASI

HUZURIDAGI

TOSHKENT ISLOM UNIVERSITETI

Fakultet : Fiqh, iqtisod va tabiiy fanlar

Kafedra: Informatika va axborot texnologiyalari

Yo‘nalish: Informatika va axborot texnologiyalari

«TASDIQLAYMAN»

Kafedra mudiri: ______________

«___ » ____________ 2013-yil

Bitiruv malakaviy ishni bajarishga

TOPSHIRIQ

Razakova Marifat Faxridinovna

(familiya, ismi, otasining ismi)

1. BMI mavzusi: Java dasturlash tili Android tizimida milliy resurslarni

tashkillashtirish va boshqarish

2. Universitet qarori bilan tasdiqlangan «___» ________________________

3. Ishni to‘liq bajarish uchun berilgan vaqt ____________________________

4. Ishning boshlang‘ich ma‘lumotlari:_________________________________

5. Hisob-tushuntirish matni mundarijasi (ishni bajarishdagi masalalar ro‘yhati)

Kirish.

1. O`zbekistonda Android tizimida ishlovchi, milliy resurslarni

tashkillashtiruvchi va boshqaruvchi dasturlarni ishlab chiqishning hozirgi

kundagi o‘rni.

Page 3: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

3

2. Milliy resurslarni tashkillashtirish va boshqarish strukturasini ishlab

chiqish.

3. Milliy resurslarni tashkillashtirish va boshqarishni Java dasturlash tili

Android tizimi misolida dasturiy joriy etish.

Hayot faoliyati xavfsizligi.

Xulosa.

Ilovalar.

Topshiriq berilgan kun: ________________ 2012-yil

Rahbar : ________________________________

(imzo)

Topshiriqni oldi: ________________________________

(imzo)

BMI ishining har bir bo‘limida bajariladigan ishlarga maslahatlar.

Bo‘limdagi ishlar nomi Rahbar F.I.O. Imzo vaqt

Topshiriq

berdi

Topshiriq

oldi

1. Android tizimida ishlovchi

milliy dasturlar ishlab

chiqishning ahamiyati

2. Android tizimida ishlovchi

milliy resurslar tahlili

3. Masalaning qo`yilishi va

dolzarbligi

4. Tanlangan obyektning

strukturasini ishlab chiqish

5. Ma`lumotlar yaxlitligi va

ishonchliligi

6. Dasturlashtirish tilini tanlash

va qo`yilgan masalani dasturiy

joriy qilish

7. Dasturning funksional

imkoniyatlari

8. Dastur ishlash samaradorligi

Z.Xodjimuratova

Z.Xodjimuratova

Z.Xojimuratova

Z.Xodjimuratova

Z.Xodjimuratova

Z.Xodjimuratova

Z.Xodjimuratova

Z.Xodjimuratova

Page 4: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

4

va joriy etilgan resurslarni

baholash

9. Foydalanuvchi uchun

qo`llanma

Z.Xodjimuratova

Ishni bajarish grafigi.

№ BMI bo‘limlarining nomlari Bajarish muddati Bajarilganligi haqida

rahbar imzosi

1

2

3

Kirish

O`zbekistonda Android

tizimida ishlovchi, milliy

resurslarni tashkillashtiruvchi

va boshqaruvchi dasturlarni

ishlab chiqishning hozirgi

kundagi o`rni

Milliy resurslarni

tashkillashtirish va

boshqarish strukturasini

ishlab chiqish

Milliy resurslarni

tashkillashtirish va

boshqarishni Java dasturlash

tili Android tizimi misolida

dasturiy joriy etish

Hayot faoliyati xavfsizligi

Bitiruvchi: ___________________ «______» ___________ 2013-yil

(imzo)

Rahbar: ___________________ «______»___________ 2013-yil

(imzo)

Page 5: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

5

Mundarija

Kirish...........................................................................................................6

I. O`zbekistonda Android tizimida ishlovchi, milliy resurslarni

tashkillashtiruvchi va boshqaruvchi dasturlarni ishlab chiqishning hozirgi

kundagi o`rni..................................................................................................9

1.1 . Android tizimida ishlovchi milliy dasturlar ishlab chiqishning ahamiyati..9

1.2 . Android tizimida ishlovchi milliy resurslar tahlili....…………………..12

1.3 . Masalaning qo`yilishi va dolzarbligi………………..…………………..17

II. Milliy resurslarni tashkillashtirish va boshqarish strukturasini ishlab

chiqish......................................................................................................19

2.1. Tanlangan obyektning strukturasini ishlab chiqish…......……………..19

2.2. Ma`lumotlar yaxlitligi va ishonchliligi…………………….....…………22

III. Milliy resurslarni tashkillashtirish va boshqarishni Java dasturlash tili

Android tizimi misolida dasturiy joriy etish ..........................................25

3.1. Dasturlashtirish tilini tanlash va qo`yilgan masalani dasturiy joriy

qilish………………………………………………………………….…..25

3.2 . Dasturning funksional imkoniyatlari…………………………………..60

3.3 . Dastur ishlash samaradorligi va joriy etilgan resurslarni baholash……62

3.4 . Foydalanuvchi uchun qo`llanma……………………………………....63

Hayot faoliyati xavfsizligi..............................................................................65

Xulosa.........................................................................................................73

Foydalanilgan adabiyotlar...........................................................................74

Ilovalar........................................................................................................76

Page 6: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

6

Kirish

«Biz bu borada mobil aloqasi, internet, videotelefon tizimi, raqamli

televideniye, zamonaviy bank xizmatlari, lizing, sug„urta, audit, injiniring va

boshqa zamonaviy xizmat turlarini rivojlantirishga alohida e‟tibor

qaratmoqdamiz.

Bugungi kunda yurtimiz mobil aloqaning rivojlanish ko„rsatkichi

bo„yicha dunyoda oldingi o„rinda turgan o„nta mamlakat qatoriga kiradi.

O„zbekistonda mobil aloqa xizmatidan foydalanuvchilarning umumiy soni 2000

yilga nisbatan – shunga e‟tibor beringlar – 200 barobar oshib, 19 milliondan

ortiq abonentni tashkil etmoqda»

O„zbеkiston Rеspublikasi Prеzidеnti

Islom Karimov

O„zbеkiston Rеspubkasi Vazirlar Mahkamasining

2011-yil 21-yanvarda bo„lib o„tgan

majlisidagi ma‟ruzasidan.

Qadimdan fan-texnika taraqqiyoti Inson va jamiyat hayotida kattadan-

katta o‗zgarishlarga olib kelgan. Har gal insoniyat biron-bir ilmiy yangilik yoki

texnikaviy kashfiyotni qo‗lga kiritgan zahoti, bu imkoniyatdan turli

maqsadlarda foydalanuvchilar paydo bo‗lavergan. Kimlar uchundir yangi

kashfiyot inson mushkulini yengil qilish vositasi sifatida xizmat qilgan bo‗lsa,

yana kimlar uchundir u qandaydir g‗arazli maqsadlarni amalga oshirish quroliga

aylangan.

Bugungi kunda ham zamonaviy fan-texnika yutuqlaridan noto‗g‗ri

maqsadlarda foydalanishga bo‗lgan urinishlar tobora ko‗payib bormoqda. Mana

shunday texnologiyalardan biri — bu uyali aloqadir. Bu vosita bugun

hayotimizning ajralmas bir qismiga aylanib ulgurgan. U masofalar kesimida biz

Page 7: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

7

yashayotgan kurrai-zaminni shunchalar kichraytirib qo‗ydiki, bugungi kunda

yer sharining narigi burchi bu chekkasi bilan soniyalar ichida aloqa bog‗lay

oladi. Shu o‗rinda biz qo‗l telefonining kundalik ijtimoiy foydali tomonlari

haqida to‗xtalib o‗tirmaymiz, bu haqida shundoq ham yetarlicha ma‘lumot

tarqatilgan. Ayniqsa, bu uyali aloqa vositalari reklamasida deyarli har kuni

bearmon targ‗ib qilinmoqda.

Shunday qilib, qo‗l telefoni, aytish mumkinki, «uchinchi» ekranga

aylanib ulgurdi. Agar «katta ekran» deb ataladigan kinoteatr ekranlarini shartli

tarzda «birinchi yo‗nalishdagi ekran» desak, «zangori ekranni», ya‘ni uydagi

televizorlarni «ikkinchi yo‗nalishdagi ekran» deyish mumkin. Shu ma‘noda,

qo‗l telefoni bugun «uchinchi» yo‗nalishdagi ekranni hosil qildi.

«Katta ekran» va «zangori ekran» faoliyati huquqiy yo‗l bilan tartibga

solinadi, ular orqali namoyish etiladigan ko‗rsatuvlar badiiy, axloqiy, tarbiyaviy

va estetik jihatdan tegishli tarzda nazorat qilinadi, davlat tomonidan turli

mafkuraviy tahdidlardan himoyalanadi.

Shuningdek, biror mamlakatda zamonaviy texnologiyalarning mavjudligi

hali unda axborot jamiyatining yuzaga kelishi uchun yetarli emas. Buning

uchun aholi axborot olish borasida keng va teng imkoniyatga ega bo‗lishi,

jamiyatda yuksak axboriy madaniyat shakllanmog‗i zarur.

Sirtdan qaraganda, Tofflerning insoniyat jamiyatini uch davrga

tasniflashiga odamlarning tirikchilik tarzi va yashash holati asos bo‗lgan, degan

xulosaga kelish mumkin. Lekin "uch to‗lqin" nazariyasi mohiyatan teranroq

tahlil etilsa, davrlar taqsimotida insonlarning tafakkur tarzidagi evrilishlar

birlamchi o‗rin tutgani ayon bo‗ladi. Agrar davrda inson asosan o‗zlashtirma

mehnat bilan kun ko‗rdi - tabiatdagi mavjud ne'matlardan "bor boricha" qabilida

foydalandi. Sanoat inqiloblari bosqichida esa uning tafakkur tarzi keskin

o‗zgardi: qo‗l mehnatidan xalos bo‗lgan insoniyat texnika yordamida

Page 8: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

8

bunyodkorlik va yaratuvchanlik davriga qadam qo‗ydi. Toffler "uchinchi

to‗lqin" deya nomlagan axborot jamiyatida esa izlanuvchanlik, tashabbuskorlik

va yangilikka intilish hayot mazmuniga aylandi. Agar industrial davrda odamlar

uzog‗ini yaqin, og‗irini yengil qilgan texnologiya asosiy qadriyat hisoblangan

bo‗lsa, axborot jamiyatida u o‗rnini bilimlarga bo‗shatib berdi.

Tinib-tinchimagan odamzod pul va moddiy boyliklar hamma narsaning

kaliti bo‗lgan kezlarni boshdan o‗tkazdi, qurol kuchi, zo‗ravonlik bilan

hokimiyat egallangan davrlarni ko‗rdi. Mana, endi axborot barcha ne'matlardan

ustun bo‗lgan zamon kelyapti. Bunday jamiyatda kishilar o‗rtasidagi

munosabatlarda axborot omili yetakchilik qiladi. "Kimki haqiqiy axborotga ega

bo‗lsa, u dunyoga hukmronlik qiladi" degan mashhur naql amaliy ahamiyat

kasb etadi. Jamiyat hayotining barcha jabhalarida axborot hal qiluvchi kuch

vazifasini o‗taydi. Ta'bir joiz bo‗lsa, jamiyat axborot bilan nafas oladi, axborot

bilan oziqlanadi.

Page 9: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

9

I BOB. O`ZBEKISTONDA ANDROID TIZIMIDA ISHLOVCHI,

MILLIY RESURSLARNI TASHKILLASHTIRUVCHI VA

BOSHQARUVCHI DASTURLARNI ISHLAB CHIQISHNING

HOZIRGI KUNDAGI O`RNI

1.1 . Android tizimida ishlovchi milliy dasturlar ishlab chiqishning

ahamiyati

Android (yunoncha so‗z bo‗lib, ikki bo‗g‗ini — «erkak» va «o‗xshash»)

— odamsifat robot ma‘nosini ifoda etadi. Balki mana shuning uchun Android

operatsion tizimi logotipida robot tasvirlangandir.

Android operatsion tizimining yaratilishi tarixi 2002-yillardan boshlangan.

Mana shu davrda Google korporatsiyasi yaratuvchilari E. Rubinning dasturiy

ishlanmalari to‗plami bilan qiziqib qoladilar. Dastlab mobil qurilmalar uchun

yangi operatsion tizimni yaratish loyihasi bilan katta maxfiylik ostida Android

Inc. Kompaniyasi shug‗ullangan, ushbu kompaniyani keyinchalik Google sotib

oladi.

Android — Linux yadrosiga asoslangan kommunikatorlar, planshetli

kompyuterlar, elektron kitoblar, raqamli musiqa uskunalari, qo‗l soatlari,

netbuklar va smartbuklar uchun portativ (tarmoqli) operatsion tizimdir.

Keyinchalik Google Open Handset Alliance (OHA) alyansini tashkil qildi, u

hozirda ham platformani qo‗llab-quvvatlash va yanada rivojlantirish bilan

shug‗ullanadi. Android Google tomonidan ishlab chiqilgan kutubxona orqali

qurilmani boshqaruvchi Java-ilovasini yaratishga imkon beradi. Android Native

Development Kit Si va boshqa tillarda yozilgan ilovalarni yaratadi[1].

2012-yilning uchinchi choragida sotilgan smartfonlarning 75 foizida

Android operatsion tizimi o‗rnatilgan.

Android operatsion tiziminig ustunliklari:

Page 10: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

10

- Ba‘zi sharhlovchilar Android qator hollarda veb-syorfing, Google Inc.

servislari bilan mosligi kabi va boshqa xususiyatlari bilan o‗z

raqobatchilaridan biri Apple iOS kompaniyasiga qaraganda o‗zini yaxshi

namoyon qilishini aytadilar. Android, iOS ga nisbatan ochiq platforma

hisoblanadi, bu holat unda ko‗proq funksiyalarni amalga oshirishga

imkon beradi;

- iOS va Windows Phone 7 dan farqli ravishda, Androidda fayllarni qabul

qilish va uzatishga ham imkon beruvchi Bluetooth oqimini to‗la amalga

oshirish mavjud. FTP-serverini, tarmoqqa ulanish nuqtasi rejimi (PAN

xizmati) va Bluetooth orqali guruhli birinchi darajali tarmoqni (GN

xizmati) amalga oshirish mavjud;

- Android-apparatlarida, odatda, USB va xotira kartalarini olmasdan turib

boshqa uzatish usullari tezlik cheklanishlaridan qat‘iy nazar kompyuter

fayllarini tezlikda telefonga ko‗chirishga imkon beruvchi, MicroSD-

kardrider mavjud; bundan tashqari, iOS va Windows Phone 7

sinxronlashtirish dasturi (iTunes va Zune), orqali amalga oshirishdan

tashqari, biror-bir fayllarni telefonga/telefondan to‗g‗ridan-to‗g‗ri uzatish

mumkin emas, Android operatsion tizimidagi telefonlar esa xotira kartasi

fayllar tizimini USB mass storage device («fleshka») kabi uzatish

imkoniga ega;

- Аvvaldan dasturni «tekshirilmagan manbalardan» (misol uchun, xotira

kartasidan) o‗rnatish taqiqlanishiga qaramay, ushbu cheklash apparat

sozlashlarida doimiy vositalar yordamida o‗chiriladi, bu holat esa

internet-ulanishlarsiz dasturlarni telefonlar va planshetlarga o‗rnatishga

imkon beradi (misol uchun, Wi-Fi-ulanish nuqtalariga ega bo‗lmagan va

odatda juda qimmat turadigan mobil internetga pul sarflashni

istamaydigan foydalanuvchilar uchun), hamda barcha istaganlarga

Android uchun ilovalarni bepul yozish va o‗z apparatida test sinovlaridan

Page 11: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

11

o‗tkazish imkonini beradi, shu bilan birga, iOS va Windows Phone 7 da

hatto o‗z dasturlarini tarqatish istagi bo‗lmaganda ham loyihachining

qayd etish ro‗yxatini sotib olishi kerak bo‗lardi;

- Androiddan ARM, MIPS, x86 kabi turli apparatli platformalarda

foydalanish mumkin;

- Ilovalar boshqa muqobil Google play magazinlari mavjud, misol uchun

Amazon‘dan Appstore for Android, Opera Store, Yandex.Store[2].

Android operatsion tizimi uchun telefonlar ishlab chiqarish:

Hozirda bir qancha kompaniyalar Android uchun o‘z telefonini sotuvga

chiqarmoqda, masalan HTC kompaniyasining Dream, Magic, Droid hamda

Motorola kompaniyasining Motorola Droid telefonlaridir.

Motorola Droid chiqarilganidan so‘ng birinchi haftadayoq Motorola

kompaniyasi 150000 ta telefonni sotishga ulgurdi[3].

Android grafik rejimi va animatsion muhiti qolgan iPhone, Windows

mobile sistemalari darajasiga ko‘tarish maqsadida shu sistemalarning dasturiy

ta‘minotidan Androidda ham yaratila boshlandi masalan ―compass‖. Siz

―compass‖ni 99$ lik iPhonda uchratmasligingiz mumkin lekin buni 99$ lik

Droid telefonlariga tekin yuklab olishingiz yoki standart o‘rnatilgan kompasdan

foydalanishingiz mumkin. Hozirgi kunda HTC Droid telefoni Amerikada 50$

ga arzonlashishga ulgurdi. Shu kabi telefonlarning narxlari va xususuiyatlari

jadvalda solishtirilgan(Ilova 4).

Android operatsion tizimi uchun yaratilgan dasturlardagi qo`shimcha

qulayliklar:

Oddiy foydalanuvchi uchun yana ko‘plab dasturiy ta‘minotlar yaratilgan

bo‘lib bular sizga bir qator qulayliklar yaratishga xizmat qiladi. Masalan,

Quickpedia – Wikipedia bilan ishlash uchun yaratilgan. Bunda dastur Wikipedia

Page 12: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

12

sahifasini sizning telefon ekrani hajmiga moslashtirib ko‘rsatadi, siz ko‘rgan

maqolaning matnini xotiraga saqlab qo‘yish imkoniyati mavjud.

Life360 – sizga qaysidir butun rayon bo‘ylab ma‘lumot uzatishga yoki

qabul qilishga yordam beradi, dastur ko‘proq tog‘lik hududlarda xatardan ogoh

qilishda kerak bo‘ladi masalan siz tog‘lik hududlarni o‘rganuvchi tadqiqotchisiz

qishloqni qor bosish xavfini hisoblab chiqib buning 70% aniqligiga ishonch

hosil qildingiz shunda dastur orqali butun qishloqdagi fuqarolarning mobil

telefoniga ogohlantirish uzatishingiz mumkin.

Locale – sizni har daqiqada bezovta qiladigan telefonni nazorat qiluvchi

dastur bo‘lib telefoningizni qaysi hududda qanday rejimda bo‘lishini belgilab

qo‘yasiz, natijada GPS orqali nazorat qilinayotgan telefoningiz belgilangan

hududga kirganda tebranish rejimida ishga tushadigan yoki qo‘ng‘iroq rejimida

ishga tushadigan bo‘ladi[4].

Endilikda Android yana bir imkoniyatini taqdim qildi, ya‘ni Microsoft

Office 2007 Word, Excel va PowerPointda yaratilgan fayllarini o‘qish va

ularni telefoningizning o‘zida yaratishingiz uchun QuickOffice dasturi yaratildi,

siz bu dastur bilan bemalol Word, Excel va PowerPointda yaratilgan fayllarni

o‘qib ularga o‘zgartirishlar kiritib xotiraga saqlab qo‘yishingiz mumkin[5].

1.2 . Android tizimida ishlovchi milliy resurslar tahlili

Hozirgi kunda har bir kishi o`z mobil telefoniga ega va biz telefonlarning

rusumlari haqida ko`p eshitganmiz. Telefonlarning rusumlariga qarab

tanlaymiz va narx ham shunga bog`liq deb o`ylaymiz. Mobil telefonning narxi

bir jihatdan unda ishlayotgan operatsion sistemaga ham

bog‘liqdir. Telefonimizda ishlayotgan dasturiy ta‘minot nafaqat uning narxiga,

balki telefonning boshqa xususiyatlari va qulayliklarini ham

belgilab beradi. Bugungi kunda mobil tizimlar sohasida qo‘llanilayotgan

Page 13: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

13

asosiy dasturiy ta‘minotlar Symbian, Windows Mobile, iPhod systemasi,

Android, Web OS va yana bir ochiq kodli yosh sistema Samsung

Electronics ning kechagina yaratilgan Bada sistemasi. Bugungi kunda juda

tez ommalashayotgan, mobil qurilmalar uchun yaratilgan ochiq kodli operatsion

sistema – Android tizimidir[6].

Android tarixi (Operatsion Sistemaning yaralishi va bosgan yo‟li)

1991-yil Linus Torvalds boshlab bergan erkin va ochiq kodli operatsion

sistemalar 2007 yilga kelib telefonlarni ham egallay boshladi. Aslida bu

qanday boshlangan edi? 2005-yil iyul oyida Google kompaniyasi telefonlarga

dastur ishlab berish bilan shug‘ullanadigan Android Inc. nomli kichik

kompaniyani sotib oladi. Ushbu Android Inc. kompaniyasining

asoschilaridan biri Andy Rubin bugungi kunda Googlening mobil aloqalari

bilan shug‘ullanuvchi bo‘limiga rahbarlik qiladi. Andy Rubin Biznes haftaligi

(Business Week) gazetasiga bergan interviuvsida: ―Egasini yaxshi

tushunadigan telefonlar yaratish uchun katta ehtiyoj mavjud‖ deb ta`kidlab

o`tgan edi. Buni qarangki haqiqatdan ham 2007 yilga kelib Google

butun dunyoni hayratga solishga muvoffaq bo‘ladi, ya‘ni xuddi shu yili u

Symbian, Windows mobile, iPhone sistemalari bilan raqobatlasha oladigan

yangi mobil sistemaga asos soldi. Siz ―Xo‘sh nima qipti, telefon operatsion

sistemalari (OS) yana bittaga ko‘payiptida!‖ deyishingiz mumkin.

Haqiqatdan ham bittaga ko‘padi-yu ammo ulardan butunlay farq qilar edi. Bu

farq unig asosida Linux Kernel 2.6 dan foydalanilganida edi. Ha endi Linux

kompyuter yoki notebuklarda telefonlarda ham mavjud. Shu tariqa 2007 yil

noyabrda Google tomonidan tashkil etilgan Open Handset Alliance

(OHA) ommaga Google Androidning Software Developing Kit(SDK)ni taqdim

etdi. OHAga birinchilardan bo‘lib HTC, LG, Samsung, T-mobile kabi

kompaniyalar, keyinroq esa protsessorlar va chiplar bo‘yicha ishlovchi

QUALCOMM va Texas Instrumentslar a‘zo bo‘lishdi.

Hozirda OHAga 47 ta dasturiy va texnik qismlar bilan

Page 14: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

14

ishlaydigan kompaniyalar a‘zo bo‘lgan. 2008-yil 21-oktabrda programistlarni

quvontiradigan voqea yuz berdi, ya‘ni OHA Androidni ochiq kodli deb

e‘lon qildi. Android OHA GPLv2 va Apache2.0 litsenziyalari ostida 1.5

versiyasi butun ommaga taqdim etildi[7].

Hozirda O`zbekistonda ham Android operatsion tizimi foydalanuvchilari

ko`payib borayabti, lekin bu foydalanuvchilar uchun Android operatsion

tizimida ishlovchi, O`zbek tilidagi milliy dasturlar yetishmovchiligini

ko`rishimiz mumkin. Men bu bitiruv malakaviy ishim bajarish davomida bir

necha o`zbek tilida yaratilgan dasturlarni ko`rib chiqdim. Ular quyidagilar:

―Itchan Kala‖ dasturi Android telefonlari uchun Xoramz viloyati rasmlar

galereyasini taqdim etgan. Dastur Ingliz tilida tuzilgan. Undan faqatgina rasmlar

ko`rish va rasmlarni ―wallpaper‖ sifatida o`rnatish mumkin.

1-rasm. “Itchan Kala” dasturi ko`rinishi

―3D Uzbekistan flag live wallpaper‖ dasturi Android tizimida ishlovchi

telefonlar uchun Ingliz tilida tuzilgan. Dasturdan faqat telefonga O`zbekiston

bayrog`ini harakatlanib turuvchi ―wallpaper‖ sifatida o`rnatish mumkin.

Page 15: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

15

2-rasm. “3D Uzbekistan flag live wallpaper” dasturi ko`rinishi

―Uzbekistan wallpapers‖ dasturi ham Android tizimida isglovchi

telefonlar uchun mo`ljallangan. Dastur Ingliz tilida tuzilgan. Dasturdan faqat

O`zbekiston rasmlarini telefonda ko`rish va ularni ―wallpaper‖ sifatida

o`rnatishda foydalanish mumkin.

3-rasm. “Uzbekistan wallpapers” dasturi ko`rinishi

Android operatsion tizimi uchun yaratilgan dasturiy qurilmalarning oziga

xosligi va xususiyatlari

Page 16: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

16

Android dasturiy ta‘minotini ishlab chiqishda Googlening

Java biblatekalaridan, mikroprotsessor kodi esa ARM arxitekturasida C

dasturlash tilida va uni mashina kodiga o‘girishda GCC kompilyatoridan

foydalniladi. Android grafikasi va animatsiya uchun ham ochiq kodli

bo‘lgan OpenGL ES biblatekalaridan, ma‘lumotlarni saqlash va boshqarish

uchun SQLitedan foydalanilgan. Sistema MP3, MP4, MIDI, OGG, MPEG-4,

WAV, formatidagi audio va video fayllarni hamda JPEG, PNG, GIF,

BMP farmatli suratlarni qo‘llab quvvatlaydi. Androidning 1.5- versiyasida

sizga YouTubega videolarni yuklash va ekranda animatsion rejimda

ishlash mumkin edi.

2009-yili 15 sentabrda taqdim qilingan Android 1.6 versida Google

dasturiy vositalari qo‘llanilgan bo‘lib, tezkor qidirish maqsadida ekranning

yuqorisida ―quick search‖ box joylashtirilgan. Yozishga

erinadiganlar uchun esa tovush bilan qidirish texnologiyalari qo‘llanilgan. 2010-

yilning Oktabrida Android 2.0 ommaga taqdim qilindi. Bu versiya

Telefonning protsessor tezlgini oshirish va telefon

protsessorining samarali ishlashini ta‘minladi. Ishlab chiqilgan yangi

Androidda kontakt listda endi kontakt nomi bilan birgalikda uning rasmini

ham qo‘yishingiz mumkin va siz bu kontaktning ustiga bossangiz alohida

qismdan uni joylashgan joyini aniqlashda, Gmail orqali xat yo‘llashda va

qo‘ng‘iroq qilishda foydalanishingiz mumkin. Androidda

Internetdan foydalanish uchun aynan shu sistema uchun yaratilgan

WebKit brauzeridan foydalaniladi, endilikda bu brauzer HTML5ni ham qo‘llab

quvvatlaydi. Google sistemani yaratishga yaratdiyu sistemani asosan o‘zining

dasturiy vositalari bilan to‘ldira boshladi. Masalan Google Voice tovush

xizmatlari uchun, Sky Map yulduzlar xaritasi, Google qidirish xizmati,

Google Maps xaritalari va Gmail kabilardir. Android foydalaniladigan dasturiy

ta‘minoti Javada yozilgan bo‘lib, yaratatilgan dasturni mashina kodiga o‘girish

Page 17: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

17

uchun standart Java Virtual Machinedan emas Android uchun yaratilgan

Dilvak Virtual Machinedan foydalaniladi[8].

Android dasturining afzalliklari:

- Android operatsion tizimida ishlovchi mobil qurilmalar Gmail, Google

Docs, Maps va boshqa Google kompaniyasining xizmatlari bilan to‘liq

ishlay oladi.

- Android market hozirgi kunda eng zo‘r dasturiy ta‘minot Web-saytlaridan

hisoblanadi va Android uchun juda ko‘p bepul dasturlar mavjud.

- Android kommunikatorlari yordamida xohlagan mobil aloqa operatorini

tanlash imkoniyati mavjud.

- Android platformasi paydo bo‘lganiga uncha ko‘p vaqt bo‘lmagan bo‘lsa

ham, u anchagina ko‘p imkoniyatlarni taqdim etadi va shunga yarasha

Androidda ishlaydigan qurilmalarni narxi ham unchalik baland emas.

- Android bu to‘liqligicha ochiq operatsion tizim hisoblanadi.

- Android ko‘p jarayonli operatsion tizim, ya‘ni unda bir vaqtning o‘zida

bir necha dasturlar ishlash imkoniyati mavjud.

- Android qurilmalarini hammasida virtual klaviatura mavjud. Ba‘zi

Android qurilmalarida ham virtual, ham haqiqiy klaviatura mavjud

bo‘ladi.

- Android operatsion tizimi faqatgina kommunikatorlarda emas, balki

planshet kompyuterlar, netbuklar va boshqa gadjetlarda ham ishlay

oladi[9].

1.3 . Masalaning qo`yilishi va dolzarbligi

Yuqoridagi ma`lumotlardan ko`rinib turibtiki Android operatsion tizimida

ishlab chiqarilgan dasturlar XXI asrdagi eng ko`p ishlatiladigan, ommalashib

borayotgan dasturlar sarasiga kiradi. Demak, O`zbekiston uchun Android

tizimida yaratilgan milliy- zamonaviy dasturlar ishlab chiqish informatika va

Page 18: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

18

axborot texnologiyalari sohasidagi barcha dasturlovchilar uchun birinchi

darajali masalalardan hisoblanadi. Shu maqsadda biz ham Android tizimida

ishlovchi O`zbekistonning ko`zga ko`ringan, hozirgi kungacha o`z qadrini

yuqotmagan, milliy boyliklarimiz sanalgan, shuningdek, jahonga ko`z-ko`z

qilishga arziydigan mustajob qadamjolar, osori atiqalarimiz haqida

tanishtiruvchi, ular haqida yetarlicha ma`lumot beruvchi, shu bilan birga,

O`zbekiston haqida on-line rejimida ma`lumot beruvchi dastur yaratishni lozim

deb topdik.

Page 19: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

19

II BOB. MILLIY RESURSLARNI TASHKILLASHTIRISH VA

BOSHQARISH STRUKTURASINI ISHLAB CHIQISH

2.1. Tanlangan obyektning strukturasini ishlab chiqish

Android operatsion tizimining yana bir afzalliklaridan biri shundaki,

unda tanlangan obyekt strukturasini dastur orqali realizatsiya qilishda ancha

imkoniyatlar mavjud(Android tizimi arxitekturasi (Ilova 1).

Dastur strukturasi avtomatlashgan holda tizim tomonidan yaratiladi,

dasturlovchi esa dastur tuzish jarayonida dastur obyektlarini mantiqan

bog`lanish bosqichlarini to`g`ri tanlay bilishi va modullar orqali uzatilishi kerak

bo`lgan parametrlarni to`g`ri tanlab uzata olishi yetarlidir. Quyida dastur

strukturasidan misollar keltiramiz:

4-rasm. Dasturning LocKScreengacha bo`lgan strukturasi

Page 20: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

20

5-rasm. Dasturning List View qismi strukturasi

Page 21: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

21

6-rasm. Dasturning Dasturning ImageView gacha bo`lgan strukturasi

Page 22: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

22

7-rasm. Dasturning Buttonlargacha bo`lgan strukturasi

2.2. Ma`lumotlar yaxlitligi va ishonchliligi

Android operatsion tizimida dastur tuzish jarayonida ma`lumotlar yaxlitligi

va ishonchligi himoyasini oshirish uchun Eclipse dasturlash muhitini o`rnatish

jarayonida dasturlar uchun alohida fayl yaratish so`raladi va dasturlash muhitida

tuzulgan va tuzulayotgan dasturlar shu faylda saqlab boriladi. Har bir dastur

Page 23: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

23

fayli alohida bo`lib, bu fayl ham o`z navbatida ichidagi saqlanadigan

ma`lumotlar turiga qarab bir necha, fayllarga bo`linadi.

8-rasm. Eclipse dasturlash muhiti “Package Explorer” oynasi

4-rasmdagi ―Package Explorer‖ oynasida bir dastur fayllari ko`rsatilgan

bo`lib, bular:

- ResUz – Android Project nomi, dasturning asosiy fayllari

saqlanadigan fayl nomi ham avtomatik tarzda shunday

nomlanadi;

- src – bu fayl ichida dasturda ishlatiladigan asosiy .java classlar

saqlanadi. Bu classlar ―Package name‖ box sida ozgan uch qismli

paketi ichma ich joylashgan qismida ochiladi;

- gen – ya`ni Generated Java Files, biz dasturda foydalangan vosita

va komponentalarmizni o`zida id orqali saqlab olib, biz murojaat

qilganda chaqiradigan asosiy R.java fayli saqlqnqdi;

- Android2.2 – bu faylda dastur API darajalarining paketlar

jamlanmasi saqlanadi va widjetlar orqali murojaatni amalga

oshiradi;

- assets – bu faylda dasturda foydalaniladifan html, css va boshqa

yordamchi ta`minotni amalga oshiruvchi vositalar saqlanadi;

- bin – bu faylda class flayllari va res fayli joylashgan bo`ladi;

Page 24: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

24

- res – bu fayl ichida biz .java class larda asos sifatida

ishlatadigan .xml fayllari, menular uchun fayllar, ―drawable‖

fayllari ya`ni rasm va iconkalar saqlanadigan fayllar bo`ladi;

- AndroidManifest.xml – faylida dasturda yaratilgan barcha

classlarni grafik shaklda ko`rish uchun joriy etamiz.

Bu fayllar ichida saqlanadigan class fayllarimiz biz yaratgan paketlar

ketma-ketligida ichma-ich saqlanadi va yaratgan dasturimizni ham

foydalanuvchi Google Marketlardan olib foydalanganda ham dastur faqat

telefonning xotirasida saqlanadi.

Bulardan ko`rinib turibtiki, Android operatsion tizimi ochiq kodli

operatsion tizim bo`lishiga qaramasdan ma`lumotlar yaxlidligi va ishinchliligi

yaxshi himoyalangan.

Page 25: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

25

III BOB. MILLIY RESURSLARNI TASHKILLASHTIRISH VA

BOSHQARISHNI JAVA DASTURLASH TILI ANDROID TIZIMI

MISOLIDA DASTURIY JORIY ETISH

3.1. Dasturlashtirish tilini tanlash va qo`yilgan masalani dasturiy joriy

qilish

Hozirgi kunda Android bozori ancha rivojlanib bormoqda. Har oyda

Android bozoriga chiqayotgan dasturlar soni ikki barobar ko‘payishi, hamda

juda ko‘p Android uyali aloqa vositalari va planshetlarini ishlab chiqilishi yaqin

orada bu rivojlanishni to‘xtab qolishidan emas, balki aksidan darak beradi.

Bu rivojlanishlar orasida kompyuter texnologiyalariga qiziquvchan, yohud

sohasi shunga yaqin bo‘lgan har bir foydalanuvchi o‘zining mobil aloqa

vositasiga dastur yozishga qiziqib ko‘rsa kerak. Android dasturlari Java

dasturlash tili yordamida yozilib, dasturlash olamiga endi qadam

qo‘yayotganlar uchun nisbatan oson tildir.

Android dasturlari boshqa mobil aloqa vositalari uchun yozilgan

dasturlar singari kompyuterda yozilib, kompilyatsiya qilinadi va tekshirish

uchun mobil aloqa vositasi (u hoh sizning telefoningiz yoki planshetingiz

bo‘lsin) ga yuklanadi. Agar sizda telefon ham, planshet ham bo‘lmasa, unda

komp‘yuterni o‘zida Android qurilmani emulyatsiya qilib, usha emulyator

yordamida tekshirishingiz mumkin.

Android dasturlari Java dasturiy tizimida tuziladi. Android uchun

Windows, MacOS, Linux operatsion tizimlarida dastur tuzish mumkin.

Dasturlash muhiti sifatida Eclipse dasturidan foydalanish tavsiya etiladi.

Android operatsion tizimiga dastur tuzish uchun kerakli vositalarni keltirib

o‘tamiz[10].

Bular:

Page 26: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

26

1. JRE (Java Runtime Environment);

2. JDK (Java Development Kit);

3. Eclipse dasturlash muhiti;

4. Android SDK (Android Software Development Kit);

5. ADT (Android Development Tools).

JRE. Java tilida yoziladigan dasturlarni yoqish va ishlatish uchun

kompyuterlarda JRE(Java Runtime Environment), ya‘ni Java ishlash

muhitini o‘rnatish kerak.

JDK. Java tilida dasturlar tuzish uchun JDK (Java Development Kit) ya`ni

Java dasturlash jamlamasini o‘rnatish lozim. JDKning ichida Java

kompillyatori, Java bibliotekalari, har xil utilitalar, misollar va

dokumentasiyasi bo‘ladi. Lekin JDKni ichiga Java dasturlash muhiti

kirmaydi.

Eclipse. Javada dastur tuzish uchun Eclipse ni ishlatamiz. Android uchun aynan

Eclipse dasturlash muhitini tavsiya etilishining sabablari:

Birinchidan, Eclipse bepul hamda Eclipse da ishlashni o‘rganib olish

juda oson.

Ikkinchidan, Google kompaniyasi aynan Eclipse uchun ADT plaginini

ishlab chiqargan.

ADT. ADT yordamida Eclipse da Android proyektlarini tuzish, kompillyatsiya

qilish va Android qurilmalarining emulyatorlaridan foydalanish

mumkin. ADT plaginini kompyuterga o‘rnatishimiz bilan Android

proyektlari uchun avtomatik tarzda sozlab qo‘yiladi.

Android SDK. Androidda dastur tuzish uchun android SDK dastur tuzish

jamlanmasi kerak bo‘ladi. Android SDK ning ichida Android

qurilmasining emulyatori ham mavjud. Shuning uchun Androidda

dastur tuzmoqchi bo‘lsak, bizda haqiqiy kommutator bo‘lishi shart

emas, dasturni bemalol virtual qurilmada sinab ko‘rish mumkin[11].

Page 27: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

27

Google Androidda dastur yozish uchun yuqorida keltiriladigan

dasturlarni yuklab olish va ularni bir-biriga moslashtirish kerak. Quyida kerakli

dasturlarni yuklab olish va ularni o`rnatib, bir-biriga moslashtirish keltirib

o`tiladi:

1-bosqich: Eclipse

Dasturni yozish uchun avvalambor sizga Integrated Development

Environment (IDE) kerak bo‘ladi. Hozirda Eclipse IDE keng tarqalgan, lekin

siz Eclipse dan foydalana olmagan bo‘lsangiz, NetBeans dan foydalanib

ko‘rishingiz mumkin. Eclipse IDE ni quyidagi linkdan sistemangizning

xususiyatlaridan kelib chiqqan xolda tanlab olishingiz mumkin:

http://www.eclipse.org/downloads/

2-bosqich: Java JDK

Agar sizning kompyuteringizda Java JDK o‘rnatilmagan bo‘lsa, Java

JDK ko`chirib olinadi:

(http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-

136632.html )

Va o`rnatiladi: Next-> Next-> Finish

3-bosqich: Android SDK Tool

Endi sizga Android SDK Tool kerak bo‘ladi. Uni to‘g‘ridan to‘g‘ri

Google‘dan olishingiz mumkin:

(http://developer.android.com/sdk/index.html)

4-bosqich: Eclipse‟ni Android uchun moslashtirish

Eclipse ishga tushiriladi va Help-> Install New Software (yangi dasturiy vosita

o‘rnatish) menusini tanlanadi. ―Add…‖ tugmasini bosganimizdan keyin

Page 28: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

28

9-rasm. Yangi dasturiy vosita o`rnatishda “Add Repository” oynasi

Yuqoridagi9-rasmda ko‘rsatilganidek, dasturiy vosita nomiga ―Android‖ deb,

linkka esa “https://dl-ssl.google.com/android/eclipse/” deb yoziladi (agar link

ishlamayotgan bo‘lsa, ―https‖ ni o‘rniga ―http‖ deb yozsa ham bo‘ladi).

10-rasm. “Install” oynasi

―OK‖ tugmasini bosganizda 6-rasmdagi oyna ochilishi kerak:

Page 29: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

29

Barcha paketlarni tanlab, ―Next‖ ni bosganimizdan so‘ng, ―Development

Tools‖ lar ko‘chirila boshlaydi. Ko‘chirib bo‘lganidan so‘ng, Eclipse ni

o‘chirib, qaytadan ishga tushiramiz.

5-bosqich: Android SDK ni moslashtirish (configure)

Android SDK ni ko‘chirilib, arxiv ochilgan papkadan ―SDK

Manager.exe‖ degan faylni topib, uni ishga tushiramiz. Quyidagiga o‘xshash

dialog yoqiladi:

11-rasm. “Choose Package to Install” oynasi

Ko‘rsatilgan paketlarning hammasini o‘rnatishimiz shart emas. 2.1 va 2.2

versiyalarni o‘zi yetarli bo‘ladi (3.1 ni ham olishingiz mumkin). O‘zingimizga

kerakli bo‘lgan SDKni tanlab, uni o‘rnatammiz (―Install‖ tugmasi bosiladi).

SDKni o‘rnatish ancha vaqt talab qiladigan jarayon bo‘lib, o`rnatilish

jarayonida kompyuterimiz Internetga ulangan bo`lishini talab qiladi.

6-bosqich: Virtual Android qurilmani ishga tushirish

Page 30: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

30

Bu bosqichda biz virtual Android qurilmani ―emulyatsia‖ qilamiz.

Buning uchun SDK manager dagi ―Virtual devices‖ tugmasi bosiladi. ―New‖

tugmasi bosilganidan keyin, bu virtual qurilmaning ba‘zi parameterlarni

so‘raydigan oyna ochiladi. Unda biz o‘zimiz xohlagan qurilmani ―yasashinmiz‖

mumkin:

12-rasm. Create new AndroidVirtual Device (AVD) oynasi

―Create AVD‖ tugmasi bosilganda virtual Android qurilmani yasaydi.

Biz uni virtual qurilmalar listidan ko‘rishinmiz mumkin. Uni tanlab, ―Start‖

tugmasi yordamida ishga tushiramiz. Bir qancha vaqt ―ANDROID‖ belgisini

Page 31: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

31

ekranda chiqib turadi so‘ng, quyidagiga o‘xshash oyna ochiladi:

13-rasm. Virtual telefon (emulyator) ko`rinishi

7-bosqich: Yana Eclipse ga qaytamiz

Bu bosqich oxirgi bosqich bo‘lib, bunda biz Eclipse ni Android SDK

resurslarini ishlata oladigan qilib moslashimiz kerak. Buning uchun Eclipse ni

ochib, Window->Preferences ni ochib, undan Android ni tanlaymiz (General

menyusining yonida). Android SDK arxivdan chiqarilgan papkaga bo‘lgan

yo‘lni (path) quyida berilganidek qilib ko‘rsatib, ―OK‖ tugmasi bosiladi[12].

Page 32: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

32

14-rasm. “Preferences” oynasi

Mobil telefonlar uchun Google Androidda dasturlash.

Resurslar katalogi.

res/drawable/ - tasvirlar (rasm) uchun (png, jpeg va boshqalar);

res/layout/ - XML-fayl razmetkalari uchun (ilovalar oynasi grafik elementlarini

boshqarish);

res/menu/ - XML-fayl menyulari uchun;

res/values/ - satrli resurslar va massivlar uchun;

res/xml/ - ilovani ishlab chiqishda kerak bo‘ladigan boshqa XML-fayllar uchun

Page 33: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

33

Manifest – strukturalashgan XML-fayl bo‘lib, u ilova konfiguratsiyasini

belgilaydi: ilova komponentlarini e‘lon qiladi,.

Android ilovalari komponentlari 4 turga bo‘linadi. Ular quyidagilar:

1. Activity – faoliyat;

2. Service – xizmat;

3. Broadcast Reciever – keng hajmda ma‘lumotlar tarqatish;

4. Content Provider – Kontent provayder.

Activity – ilovalar uchun foydalanuvchi visual interfeysi – oynani o‘zida

aks ettiradi. Oyna mobil qurilmani to‘liq egallaydi, biroq o‘lchamni o‘zgartirish

mumkin. Barcha jarayonlar Activity klassining ostklass sifatida o‘zlashtiriladi.

Ilovalar esa o‘zida bir qancha jarayonlarni saqlaydi.

Activity –har xil action – harakatlarni amalga oshirish uchun ishlatiladi.

Istalgan dastur bir qancha ―action‖lardan iborat bo‘lishi mumkin, lekin

foydalanuvchi bir vaqtning o‘zida ulardan faqatgina bittasi bilan aloqada

bo‘ladi. onCreate() funktsiyasiga ―activity‖ birinchi marotaba xosil

qilinayotganda murojaat etiladi. Bu funktsiyaning vazifasi Java‘dagi main()

funksiyasining vasifasiga o‘xshash.

Aktiv jarayon bu –

- foydalanuvchining bevosita ta‘siri jarayoni;

- foydalanuvchi ta‘siriga xizmat ko‘rsatish jarayoni;

- Service obyekti jarayoni. Obyektdagi muayyan bir qayta aloqa amalga

oshadi;

Page 34: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

34

15-rasm. BroadcastResiever obyekti jarayoni

Ko‘rinib turuvchi jarayon (visible process) ushbu jarayon komponenti

foydalanuvchi tomonidan chaqirilishi mumkin.

- bu faoliyat jarayoni fokusda aks etmaydi, lekin foydalanuvchiga

ko‘rinib turadi. Bu dialog ortidagi foydalanuvchiga ko‘rinib turadigan

faoliyat.

- Bu xizmat joriy vaqtda amalga oshirilayotgan faoliyat tomonidan

yopilgan faoliyat.

Manifestning umumiy strukturasi. Manifest fayli android ilovalarining

umumiy arxitekturasini, funktsional imkoniyatlari va konfiguratsiyasini

inkopsulatsiya qiladi. Ilovalarni ishlab chiqarish jarayonida doimiy ravishda

faylga yangi element va atributlar qo‘shish bilan uning tuzilishi (strukturasi)ni

o‘zgartirishga o‘g‘ri keladi. Shuning uchun manifestning ichki strukturasini

to‘g‘ri tashkil qilish lozim.

Foydalanuvchi grafik interfeysi. Android ilovalarida foydalanuvchi grafik

interfeysi View hamda ViewGroup obyektlaridan foydalanish orqali amalga

oshiriladi.

View obyekti android platformasida foydalanuvchi interfeysini

ifodalashning asosiy modulidir. View obyekti – ma‘lumotlar strukturasidir.

Page 35: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

35

Eclipse uchun ADT plagini LayoutEditor nomli qulay vosita bo‘lgan visual

redaktorni taklif qiladi.

XML bilan ishlash

Android da XML – lug‘atdan foydalangan holda foydalanuvchi interfeysi

hamda ekran elementlarini loyihalash mumkin. Bunda ham HTML Web-sahifa

yaratish usullari qo‘llaniladi.

Har bir HML fayli View yoki ViewGroup obyekti bo‘lgan 1 ta asosiy

element saqlaydi. Asosiy element aniqlangach, unga qo‘shimcha elementlar

yoki vidjetlar qo‘shish mumkin. Bu elementlarni esa o‘z navbatida doimiy

ravishda tahrirlash mumkin. Misol:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent" >

<Button

android:layout_width=" wrap_content "

android:layout_height="wrap_content"

android:id=" @+id/Button1"

android:text="Ko`rsatish"

</Button >

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="ResUzActivity"

</TextView >

</LinearLayout>

Ushbu misolda 1 ta asosiy element, ya‘ni <LinearLayout> va o‘z

atributlariga ega bo‘lgan 1 ta ost element hisoblangan <TextView>, ya‘ni matnli

maydon mavjud.

xmlns:android – Android muhitida umumiy atributlarni XML da e‘lon

qilish . Har bir fayldagi asosiy element o‘zida quyidagi qiymatli atributni

saqlashi lozim:

http://schemas.android.com/apk/res/android

android: layout_width Ushbu atribut ekran uchun ruxsat etilgan kenglini

ifodalaydi. Yuqoridagi misolda TextView yagona obyekt bo‘lganligi uchun ham

Page 36: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

36

uni butun ekran bo‘ylab cho‘zish mumkin. Shuning uchun ham uning qiymati

"fill_parent" ni tashkil etadi.

android: layout_height mos ravishda ekran uzunligini belgilaydi.

android: text TextView da ifodalanishi lozim bo‘lgan matnni o‘rnatadi.

View va ViewGroup ning har bir obyekti xilma-xil XML-atributlarni

qo‘llab-quvvatlaydi.

Standart belgilar

Ilova yaratishda quyidagi standart belgilardan foydalaniladi:

- FrameLayout;

- LinearLayout;

- TableLayout;

- RelativeLayout.

Yuqoridagi barcha belgilar View klassidan meros olgan ViewGroup

ostklassi tarkibiga kiradi.

16-rasm. Belgilar klassi iyerarxiyasi

FrameLayout eng oddiy belgi turidan biri hisoblanadi. U asosi bo‘sh

bo‘lgan ekrandan iborat bo‘lib, keyinchalik uni View yoki ViewGroup ichki

obyektlari bilan to‘ldirish mumkin. FrameLayout ning barcha ichki obyektlari

ekranning yuqori chap qismiga biriktiriladi. FrameLayout belgisida View ichki

obyektlarini ekranning istalgan qismiga joylashtirish mumkin emas.

Page 37: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

37

LinearLayout belgisi barcha ichki obyektlarni bir yo‘nalishda vertical

yoki gorizontal yo‘nalishda tekislaydi. Bu esa yo‘nalish atributi hisoblangan

android:orientation ga bog‘liqdir.

android:orientation = "horizontal" yoki

android:orientation = "vertical"

TableLayout belgisi o‘z ichki elementlarini qator va ustun shaklida joriy

etadi. TableLayout turli miqdordagi yacheykali qatorlarni hosil qiladi. Jadval

belgilarini tahrirlashda zarur hollarda yacheykalarni bo‘sh qoldirish mumkin.

Qator uchun belgi yaratishda TableRow obyektidan foydalaniladi.

RelativeLayout ichki elementning asosiy elementdan yoki boshqa

elementlardan farqli ravishda boshqacha pazitsiyaga ega bo‘lish imkonini

beradi.

RelativeLayout da ichki elementlar shunday joylashishi mumkinki,

masalan, bir element ekran markazini egallasa, boshqa elementlar birinchi

elementdan farqli ravishda ekran markazidan boshqa tomonlarda joylashadi.

Bunday hollarda identifikatoriga murojaat qilinishi yuzasidan boshqa

elementlarning ham pozitsiyasini belgilab beruvchi XML-faylidagi birinchi

belgi qolgan elementlardan avvalroq e‘lon qilinishi lozim.

Vidjet bu View obyekti bo‘lib, u bshqarsh elementi hisoblanadi. Android

fdalanuvchi interfeysini tashkil etuvchi tgma, matnli maydon kabi bir qator

tayyor vidjetlar jamlanmasini o‘zida saqlaydi.

Andriod da matnli maydon ikkita klass orqali ifodalanadi:

- Text View;

- Edit Text.

TextView vidjeti

TextView vidjeti foydalanuvchi tomonidan tahrirlash imkoniyati mavjud

bo‘lmagan matnli maydonni ifodalaydi. Matnni tahrirlash lozim bo‘lganda esa,

EditText vidjetidan foydalaniladi.

Page 38: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

38

TextView va EditText klasslari View klassidan meros olgan holda bir

qator atribut va metodlarni saqlaydi.

17-rasm. Obyekt iyerarxiyasi

TextView vidjeti eng oddiy va ilovalarda eng ko‘p ishlatiladigan

vidjetlardan biri bo‘lib hisoblanadi. TextView foydalanuvchi uchun matnli

maydonni namoyish qiladi. Matn boshqa bir boshqaruvchi elementga

bog‘langan bo‘lishi yoki tizimning joriy holatini ifodalashi mumkin. Bundan

tashqari TextView elementi ro‘yhatli vidjet konteyneridagi matnli ma‘lumotni

ifodalovchi element sifatida ham ifodalanishi mumkin.

TextView ni belgilar faylida ifodalash uchun quyidagi atributlardan

foydalaniladi.

Misol, android:text = “Hello, Android!”

Dastur kodida esa matn setText() metodi yordamida ifodalaniladi:

// vidjetni resurslardan yuklab olish

TextView text(TextView) findViewById(R.id.text1);

// matnni bevosita dastur kodida keltirish

text.setText(―Hello, Android‖);

Agarda ilova yaratishda ko‘p tilli foydalanuvchi interfeysni qo‘llab-

quvvatlashi rejalashtirilgan bo‘lsa, matnniu bevosita XML-belgida yoki dastur

kodida keltirish o‘rniga matnli XML-resursga murojaatni tashkil qilish lozim.

android: text= ―@string/text_hello‖

bu yerda, text_hello – resurs nomi.

Page 39: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

39

TextView elementida matn bilan ishlash uchun ko‘p sonli metodlar va

XML-atribytlar mavjud. Quyida TextView elementining xususiyatlarini

ifodalovchi XML-atributlar keltirilgan:

1. android:textSize – matn o‘lchami. Matn o‘lchamini belgilashda turli

o‘lchov birliklaridan foydalaniladi.

- px(pixels) – piksel;

- dp(density-independent pixels) – piksel hajmiga bog‘liq

bo‘lmaydi. Bu o‘lchovning abstrakt birligi bo‘lib, u ekranning

fizik hajmiga asoslangan.

- sp(scale-independent pixels)

- in(inches) – dyum, ekranning fizik o‘lchamiga asoslangan.

- pt(points) – 1/72 dyum, ekranning fizik o‘lchamiga asoslangan.

- mm(millimeters) – millimetr, ekranning fizik o‘lchamiga

asoslangan.

Odatda, matn o‘lchamini o‘rnatishda sp o‘lchov birligidan foydalaniladi.

Misol, android:textSize = ―48sp‖;

2. android:textStyle – matn ko‘rinishi. Bunda normal, bold, italic

konstantalaridan foydalaniladi.

3. android:textColor – matn rangi. Bunda o‘n oltilik sanoq tizimining 4 ta

formatidan foydalaniladi:

- #RGB

- #ARGB

- #RRGGBB

- #AARRGGBB

bunda, R,G,B – rang ko‘rsatkichi. A – shaffoflik(alpha-channel). A

qiymati uchun 0 ni o‘rnatish 100% shaffoflikni ifodalaydi. Jimlik

bo‘yicha alpha qiymatining o‘rnatilmaganligi element shaffof

emasligini anglatadi.

Page 40: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

40

EditText vidjeti

EditText elementi foydalanuvchi kiritishi uchun mo‘ljallangan matnli

maydon hisoblanadi. EditText klassining asosiy metodi – getText() bo‘lib, u

EditText elementi maydonida mavjud bo‘lgan matn qiymatini qaytaradi.

Qaytarilgan qiymat Editable tipida bo‘ladi. Ushbu tip o‘zida ma‘lumot to‘ldirish

yoki o‘zgartirilishi mumkin bo‘lgan matn uchun interfeysni saqlaydi.

Shuningdek klassda matnni belgilash uchun bir qator metodlar mavjud:

SelectAll() – oynadagi barcha matnni belgilaydi.

SetSelection(int start, int stop) – matnning start holatidan stop holatigacha

bo‘lgan qismini belgilaydi.

SetSelection(int index) – kursorni index pozitsiyasiga joylashtiradi.

Matn bilan ishlash va uni formatlash uchun yaratilgan metodlarning

aksariyat qismi TextView bazaviy klassidan meros oladi. Ko‘p foydalaniladigan

metodlar esa, setTypeface(null, Typeface), setTextSize(int TypeSize),

setTextColor(int Color) bo‘lib hisoblanadi.

Tasvir bilan ishlash

Grafik tasvir bilan ishlashda ImageView vidjeti xizmat qiladi. ImageView

klassi resurs yoki content-provayderlar kabi turli manbalardagi tasvirlarni

yuklay oladi. Klassda tasvirlarni yuklash uchun bir nechta metodlar mavjud:

- setImageResource(int resId) – tasvirlarni uning resurs

identefikatori bo‘yicha yuklaydi.

- setImageURI(Uri uri) – tasvirni uning Uri si bo‘yicha yuklaydi.

- setImageBitmap(Bitmap bitmap) – rastrli tasvirni yuklaydi.

XML-fayl belgisidagi tasvirni yuklash uchun android:src atributi

qo‘llaniladi.

Bundan tashqari ImageView klassida tasvirlarning o‘lchamini o‘rnatish

uchun setMaxHeight(), setMaxWidth(), getMinimunHeight(),

getMinimunWidth(), getScaleType() va setScaleType() kabi bir qator metodlar

mavjud.

Page 41: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

41

Hodisalarni boshqarish

Foydalanuvchi interfeysi mavjud bo‘lgan ilovalarda ma‘lum bir element

uchun hodisalarni boshqaruvchi va qayd etuvchi tahrirlagichni aniqlab olish

lozim.

View klassi har bir elelment uchun qayta aloqani tashkil qiluvchi yagona

abstrakt metodga ega bo‘lgan On…Listener() nomli interfeyslar majmuasidan

tashkil topgan. View klassi o‘zida 6 ta interfeysni saqlaydi.

- OnClickListener;

- OnLongClickListener;

- OnFocusChangelistener;

- OnKeyListener;

- OnTouchListener;

- OnCreateContextMenuListener.

Misol uchun, foydalanuvchi tomonidan bosilganda, tugma elementi uni

qabul qilishi uchun OnClickListener interfeysida klass jarayonni qayd etishi va

onClick() qayta aloqa metodida uni aniqlashi lozim. SetOnClickListener()

metodi yordamida esa hodisa ro‘yhatga olinadi.

button1.setOnClickListener(new View.OnClickListener()

public void onClick(View v) {

mText.setText(“Birinchi tugma bosildi!”);

)

Tugma va bayroqchalar

Android da tugma va bayroqchalar quyidagi klasslar yordamida e‘lon

qilinadi:

- Button

- CheckBox

- ToggleButton

Page 42: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

42

- RadioButton

- ImageButton

Button klassi boshqaruv tugmasini ifodalaydi va u TextView dan meros

oladi. U CompoundButton klassi uchun bazaviy klass bo‘lib hisoblanadi.

CompoundButton klassidan esa boshqa tugmalar CheckBox, ToggleButton va

RadioButton kabi elementlar meros oladi.

18-rasm. Tugma va bayroqchalar classlari iyerarxiyasi

CompoundButton klassi ikki, checked va unchecked holatdagi tugmalar

uchun funktsional ifodalarni namoyish etadi. Tugmalar bosilgan holatda

ikkinchi holatga o‘zgaradi. CompoundButton klassi onCheckedChanged()

nomli yagona metoddan iborat bo‘lgan OnCheckedChangeListener interfeysini

o‘zida saqlaydi.

Button

Button klassi barcha boshqaruv elementlari ichida eng oddiy va eng ko‘p

foydalaniladigan klass hisoblanadi. Tugma ko‘p hollarda tahrirlash kodiga

OnClick hodisasini yozishni talab etadi.

package com.samples.button2;

Page 43: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

43

import android.app.Activity;

import android.os.Bundle;

import android.widget.Button;

import android.widget.TextView;

import android.view.View;

public class ButtonActivity extends Activity {

private TextView mText;

@Override

public void onCreate(Bundle savedInstanceState)

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mText (TextView)findViewById(R.id.text);

final Button button1 (Button) findViewById(R.id.button1);

button1.setOnClickListener(new View.OnClickListener()) {

public void onClick(View v) {

mText.setText(“1-tugma bosildi”);

final Button button2 (Button) findViewById(R.id.button2);

button2.setOnClickListener(new View.OnClickListener()) {

public void onClick(View v) {

mText.setText(“2-tugma bosildi”);

}

RadioButton va RadioGroup

RadioButton vidjeti odatda RadioGroup konteyneri guruhi tarkibida

qo‘llaniladi. Radiotugmalar foydalanuvchiga bir nechta variantlardan birini

tanlash imkonini beradi.

Holatni o‘zgartiruvchi asosiy metod – toggle() bo‘lib hisoblanadi.

final RadioButton radio1

(RadioButton)findViewById(R.id.radio1);

Page 44: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

44

final RadioButton radio2

(RadioButton)findViewById(R.id.radio2);

final RadioButton radio3

(RadioButton)findViewById(R.id.radio3);

mText (TextView)findViewById(R.id.text);

radio1.setOnClickListener(radioButton_Click);

radio2.setOnClickListener(radioButton_Click);

radio3.setOnClickListener(radioButton_Click);

OnClickListener radioButton_Click new OnClickListener()

public void onClick(View v) {

RadioButton rb (RadioButton)v;

mText.setText(“Select:” + rb.getText());

ToggleButton

ToggleButton vidjeti ikki holatdagi, ya‘ni yoqilgan va o‘chirilgan

holatdagi tugmalarni o‘zida ifodalaydi. Jimlik bo‘yicha tugma ON/OFF va

yoqilgan ON holati yashil rangga o‘zgarishini ta‘minlovchi LED-indikatorini

saqlaydi.

ToggleButton ning asosiy hususiyati – android:textOff va android:textOn

bo‘lib, tugmaga ikki xil holatni o‘rnatadi. Dastur kodida esa bunga setTextOff()

va setTextOn mos tushadi.

setChecked(Boolean checked) metodi dasturda tugma holatini

o‘zgartirish imkonini beradi. TuggleButton da asosiy hodisa tugma holatini

onCheckedChanged() deb belgilashdir.

ImageButton

ImageButton vidjeti o‘zida rasmli tugmani ifodalaydi. Tugma ustidagi

rasm <ImageButton> elementida android:src atributi bilan yoki dastur kodiga

setImageResource(int) metodini yozish bilan amalga oshiriladi.

Tugmaga tasvir o‘rnatish uchun kerakli tasvirni res/drawable/ papkasiga

joylash lozim. ImageButtonActivity klassiga esa quyidagicha kod yoziladi.

Page 45: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

45

button (ImageButton)findViewById(R.id.button);

// tugmaga jimlik bo‘yicha tasvir o‘rnatish

button.setImageResource(R.drawable.play);

button.setOnClickListener(new View.onClickListener())

public void onClick(View v)

// tugmadagi tasvirni almashtirish

if (mPlay)

button.setImageresource(R.drawable.pause);

else

button.setImageresource(R.drawable.play);

mPlay !mPlay;

Yuqoridagi listingda foydalanuvchi tugmani bosganda tugmadagi tasvir

o‘zgarishi ifodalangan.

Zakladkalar

Androidda zakladkalar TabHost va TabWidget klasslari yordamida e‘lon

qilinadi.

19-rasm. Zakladka klasslarining iyerarxiyasi

TabHost vidjeti sahifadagi o‘zaro bog‘langan boshqaruv elementlarini

guruhlash imkonini beradi. TabHost TabWidget tipidagi elementlar uchun

konteyner vazifasini o‘taydi. Onalik formasi har bir sahifani leybllar ro‘yhati

Page 46: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

46

sifatida namoyish etadi. Foydalanuvchi zakladkadan birontasini tanlaganda

ushbu obyekt TabHost konteyneriga tanlangan zakladkani yoqish haqida xabar

beradi. TabHost ning asosiy metodlari:

- setup() – zakladkalar konteynerini initsializatsiya qiladi. TabHost

findViewById() metodi yordamida yuklanilayotgan bo‘lsa, zakladka

qo‘shishdan avval setup() ni yozish lozim.

- addTab() – yangi zakladka qo‘shish.

- setCurrentTab() – berilgan zakladkani old o‘ringa qo‘yish.

Zakladkalar bilan ishlashdagi metodlarning aksariyat qismi TabWidget

klassida o‘zlashtiriladi. Zakladkalarda tabulyatsiya holatini belgilovchi

indikator, ma‘lumot to‘ldirish va teg mavjud bo‘lib, bular dastur kodini

identifikatsiyalashda qo‘llaniladi. Bularni TabSpec klassi ekzemplyarini

yaratgan holda aniqlab olish lozim.

TabHost.TabSpec spec tabs.newTabSpec(“tag1”);

spec.setContent(R.id.tabPage1);

spec.setIndicator(“Document 1”);

tabs.addTab(spec);

ProgressBar

ProgressBar boshqaruv elementi ilovalardagi uzoq davom etuvchi

jarayonlarning davom etish darajalarini ifodalash maqsadida qo‘llaniladi.

ProgressBar obyekti bilan ishlashdagi asosiy metodlar quyidagilardan iborat:

- setProgress() – jarayonga berilgan qiymatni o‘rnatadi.

- getProgress() – jarayonning joriy qiymatini qaytaradi.

- incrementProgressBy() – jarayonning o‘sish qiymati kattaligini

o‘rnatadi.

- setMax() – jarayon davomiyligiga maksimal qiymat o‘rnatadi.

Ma‟lumotlar adapteri

Page 47: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

47

Vidjetlarda ma‘lumotlar massivini hosil qilishda ma‘lumotlar ro‘yhatini

o‘zaro bog‘lash va ularni vidjetlarda ifodalash uchun vidjetlardan adapterlardan

foydalaniladi. Ma‘lumotlarni bog‘lashdagi eng oddiy adapter ArrayAdapter<T>

klassi bo‘lib hisoblanadi. U ma‘lumotlar massivida qobiq hosil qiladi, misol

uchun:

String[] items = {―one‖, ―two‖, ―tree‖};

ArrayAdapter<String>adapter new ArrayAdapter<String>

(this, android.R.layout.simple_list_item_1, items);

ArrayAdapter konstruktori 3 ta parametrni qabul qiladi:

- Context obyekti – ilovalarning resurs va klasslarga maxsus

murojaatni amalga oshirish imkonini beradi.

- Resurslarni e‘lon qilishda foydalaniladigan identifikatorlar.

- Vidjetda List<T> obyekti tiplarini ifodalash uchun massiv yoki

ro‘yhat.

Jimlik bo‘yicha ArrayAdapter ro‘yhat obyekti uchun toString() metodini

chaqiradi va har bir satr uchun aniqlangan qobiqlarni yaratadi.

R.layout.simple_list_item_1 ushbu satrlarni TextView obyektiga aylantiradi.

Matnli maydon

Android da foydalanuvchi tomonidan to‘ldiriladigan matnli maydon 2

klass yordamida e‘lon qilinadi. Bular:

1. AutoCompleteTextView;

2. MultiAutoCompleteTextView

Ushbu klasslar matn bilan ishlovchi barcha metodlarni TextView

klassidan, tahrirlashda esa EditText klassidan meros oladi. Quyida

foydalanuvchi tomonidan to‘ldiriladigan matnli maydon klasslarining

iyerarxiyasi keltirilgan.

Page 48: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

48

20-rasm. Matnli maydon klasslari iyerarxiyasi

AutoCompleteTextView vidjeti o‘zida foydalanuvchi tomonidan

to‘ldirish va tahrirlash imkoniyati mavjud bo‘lgan matnli maydonni ifodalaydi.

Shu kabi vidjetlar mobil ilovalar uchun juda qulay hisoblanadi. Chunki u

ilovalardagi matn kiritish jarayonlarini tezlashtiradi. AutoCompleteTextView

EditText ning ost klassi bo‘lganligi uchun ham matnni formatlash va

tahrirlashning barcha imkoniyatlarini yaratadi. Bundan tashqari

AutoCompleteTextView ning android:completion-Threshold hususiyati

foydalanuvchi tomonidan kiritilgan simvollarning minimal qiymatini o‘rnatadi.

MultiAutoCompleteTextView vidjeti AutoCompleteTextView vidjetining

funktsional imkoniyatlarini kengaytiradi.

Ma‟lumotlarni ro‟yhatda ifodalash

Androidda ro‘yhat elementlari 5 ta klass yordamida e‘lon qilinadi. Bular:

1. ListView

2. GridView

3. Gallery

4. Spinner

5. SlidingDrawer

Page 49: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

49

21-rasm. Ro‟yhat klassi iyerarxiyasi

Bu konteyner vidjetlari AdapterView ning ost klasslari hisoblanadi.

Ushbu vidjetlar ma‘lumotlarning ma‘lum bir turini bog‘lashda va ularni

foydalanuvchilarga namoyish etishda qo‘llaniladi.

AdapterView klassi ro‘yhatlar bilan ishlash uchun 2 asosiy imkoniyatni

yaratib beradi:

- ma‘lumotlarni chizmalar bilan birga ifodalash;

- foydalanuvchi tomonidan tanlangan ma‘lumotlarni tartiblash.

AdapterView klassi AbsListView klassi uchun asos hisoblanadi. U

ro‘yhat va jadvallarni hamda tushuvchi ro‘yhat va aylanma yo‘lakli

galeriyalarni e‘lon qiladi.

ListView

ListView elementi o‘zida aylanma yo‘lakli vertical ro‘yhatni aks ettiradi.

ListView ro‘yhat bilan bog‘langan ma‘lumotlarni ListAdapter obyektidan qabul

qiladi. Bunda asosiy klass sifatida ListActivity klassi xizmat qiladi.

ListActivity klassi ma‘lumot manbaalari, misol uchun massiv va

ma‘lumotlar ro‘yhati elementlari tanlov hodisasini tartiblovchi qayta aloqa

metodlari bilan bog‘langan ro‘yhat elementlari ifodasini realizatsiya qiladi.

Page 50: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

50

ListActivity jimlik bo‘yicha ekran bo‘ylab tortilgan yagona ro‘yhatdan

tashkil torgan. ListActivity obyektini ma‘lumotlar bilan bog‘lash uchun

ListAdapter interfeysini realizatsiya qiluvchi klass ishlab chiqish lozim.

Android ro‘yhatning ikki xil standart adapterini taklif qiladi, bular:

- SimpleAdapter;

- SimpleCursorAdapter.

SimpleAdapter unchalik katta bo‘lmagan ma‘lumotlarni statik bog‘lashda

qo‘llaniladi. SimpleCursorAdapter esa katta hajmdagi ma‘lumotlar tanlovini

ishlab chiqishda qo‘llaniladi.

Spinner

Spinner vidjeti Android uchun ComboBox(tushuvchi ro‘yhat)ning

analogi bo‘lib hisoblanadi. Bunda tugma bosilganda, butun ekranni

egallaydigan ListView elementidan farqli ravishda radiotugmasi mavjud

bo‘lgan alohida ro‘yhatli oyna hosil bo‘ladi.

Dasturda Spinnerning asosiy hodisasi ro‘yhat punktlaridan birini

tanlagandagi radiotugmalarning belgilanish hodisasi hisoblanadi. Buning uchun

dastur kodida AdapterView.OnItemSelectedListener interfeysida e‘lon

qilinadigan onItemSelected() qayta aloqa metodlarini realizatsiya qilishdan

iborat.

GridView

GridView vidjeti o‘zida ingichka ro‘yhatli jadvalni ifodalaydi. Ko‘p

hollarda GridView uchun ustunlar miqdori statik ko‘rinishda beriladi.

Elementdagi qatorlar miqdori adapter tomonidan e‘lon qilinadigan elementlar

miqdoriga asoslangan holda dinamik ravishda aniqlanadi.

Ustunlar miqdori va o‘lchamini aniqlashda bir qator hususiyatlar mavjud

bo‘lib, bular quyidagilardan iborat:

- android:numColumns – ustunlar miqdorini aniqlaydi. Agarda unga

auto_fit qiymati berilgan bo‘lsa, u holda tizim ustunlar sonini

mavjud elementlarga asoslangan holda belgilaydi.

Page 51: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

51

- android:verticalSpacing – jadval yacheykalari orasidagi bo‘sh

oraliq maydon o‘lchamini o‘rnatadi.

- android:columnWidth – ustun kengligini o‘rnatadi.

- android:stretchMode – android:numColumns = ―auto_fit‖ qiymatli

jadval uchun bo‘sh qolgan sohani qayerga taqsimlashni belgilaydi.

Bo‘sh sohani ustun yacheykalari orasida taqsimlashni o‘rnatadigan

columnWidth yoki yacheykalararo sohani kengaytirishni

belgilaydigan spacingWidth qiymatlarini qabul qiladi.

Ro‟yhatda grafiklarni tasvirlash

Androidda grafik ma‘lumotlarni ifodalash uchun maxsus vidjet mavjud.

Shu bilan birga, ro‘yhat vidjetida matnli ma‘lumotlarda grafiklarni ham

ifodalash mumkin. GridViewni grafika bilan bog‘lash u qadar qiyinchilik

tug‘dirmaydi. Faqatgina ma‘lumotlar manbaasini resurslar tarkibidagi tashqi

tasvirlar bilan bog‘lash darkor.

Grafik ma‘lumotlarni bog‘lashdagi adapter klassi BaseAdapterdan meros

oladi. Bu ma‘lumotlar adapterini realizatsiya qiluvchi umumiy klass bo‘lib,

ro‘yhatlarda qo‘llaniladi. Adapter klassida ma‘lumotlar massivi o‘zida

res/drawable katalogida joylashgan grafik resurslar identifikatorini saqlashi

lozim.

Gallery

Gallery vidjeti gorizontal aylanma yo‘lakcha va tanlangan tasvirni

yorituvchi hususiyatga ega bo‘lgan grafik ro‘yhat elementi bo‘lib hisoblanadi.

Mobil qurilmalarda yo‘naltirilgan chiziqli chap va o‘ng tugma yordamida

ifodalangan ro‘yhat ko‘rinishida tasvirlanadi. Gallery elementi aksariyat

hollarda tasvir yoki belgilar kollektsiyasini namoyish qiluvchi vosita sifatida

qo‘llaniladi.

SlidingDrawer

Page 52: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

52

SlidingDrawer vidjeti markerli dinamik panel hisoblanadi. Ushbu vidjet

qurilmaga o‘rnatilgan dasturlar ro‘yhatini ifodalovchi Application Launcher

panelida qo‘llamiladi.

Aktiv bo‘lmagan holatda SlidingDrawer ekranda ko‘rinmaydi.

Foydalanuvchi ekrandagi marker orqaligina ushbu ma‘lumotlar paneliga

murojaat qilishi mumkin. SlidingDrawerni ham vertical, ham gorizontal holatda

qo‘llash mumkin.

SlidingDrawer o‘lchami qo‘shiladigan ma‘lumotlar hajmiga bog‘liq

tarzda o‘zgaradi. Odatda balandlik va kenglikni aniqlashda fill_parent

qiymatidan foydalaniladi. Shu bilan birga, SlidingDrawerni mustaqil holda

yaratish va uni o‘z ilovalari bilan ishga tushirish mumkin. SlidingDrawer

vidjetlar konteyneri bo‘lganligi tufayli ham istalgan ma‘lumot tipi(matn, grafika

yoki bir nechta vidjetli konteynerlar)ni o‘zida saqlay oladi. Agarda paneldagi

elementlar ekranga sig‘may qolsa, avtomatik tarzda vertical aylanma yo‘lak

hosil bo‘ladi.

SlidingDrawer uchun XML-razmetka yaratishda marker uchun resursni

aniqlab olish lozim.

android:handle = “@ + id/handle”

android:handle = “@ + id/content”

Markerni bosgan holda vidjetni ekran bo‘ylab joylashtirish mumkin.

SlidingDrawer ikonkasi tanlanganda, ekranning yuqori qismi matn maydonida

tanlangan element identifikatori qayd etiladi.

Xabarlar oynasi

Foydalanuvchi ilovalar bilan ishlaganda turli il vaziyatlarda unga xabarlar

oynasini namoyish etishga to‘g‘ri keladi. Ba‘zi jarayonlar foydalanuvchining

xabarlar oynasiga ta‘sirini talab qilsa, boshqalari faqatgina ekranga u yoki bu

habarni chiqaradi.

Foydalanuvchiga xabar chiqarishning bir nechta turlari mavjud. Bular:

Page 53: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

53

- TostNotifikation – foydalanuvchi ta‘sirini talab etmaydigan qisqa

suzuvchi xabarlar oynasi;

- Status Bar Notification – doimiy ravishda eslatma berishdan

iborat bo‘lgan, foydalanuvchi ta‘sirini talab etadigan belgi

ko‘rinishidagi xabarlar oynasi.

Suzuvchi xabarlar oynasi. Suzuvchi xabar ilovalar oynasining yuqori

qismida paydo bo‘ladi. Xabarlar oynasi bir necha soniyalardan so‘ng o‘z-

o‘zidan yopiladi va unga ta‘sir jarayonlarini qabul qilmaydi.

Suzuvchi xabarlar oynasi odatda qisqa matnli xabarlar uchun ishlatiladi.

Agarda xabarlar oynasiga foydalanuvchining ta‘siri talab qilinsa, u holda xabar

holatlar satrida ifodalaniladi.

Xabarlar oynasi yaratish uchun avvalo, Toast.makeText() metodi

obyektlaridan biri bo‘lgan Toast ni initsializatsiya qilish lozim. So‘ngra show()

metodini chaqirgan holda xabar ekranga chiqariladi:

Context context getApplicationContext();

Toast toast Toast.makeText(context, “This is Toast Notification”,

Toast.LENGTH_SHOR

T);

toast.show();

makeText() metodi 3 ta parametrni qabul qiladi:

- kontekst ilova;

- matnli xabar;

- xabarlar oynasini namoyish etish davomiyligi 2 ta konstanta

orqali aniqlanadi:

- LENGTH_SHORT – qisqa oraliqda matnli xabarni namoyish etish;

- LENGTH_LONG – uzoq muddatga matnli xabarni namoyish etish.

Shuningdek, xabar namoyish etish davomiyligi qiymatini

millisekundlarda berish ham mumkin. Jimlik bo‘yicha, standart xabarlar oynasi

ekranning quyi qismida paydo bo‘ladi. Xabarlar oynasi paydo bo‘lish o‘rnini

Page 54: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

54

setGravity(int, int, int) metodi yordamida o‘zgartirish mumkin. Ushbu metod 3

ta parameter qabul qiladi:

- katta konteynerga joylashgan obyekt uchun standart konstanta

(masalan, GRAVITY.CENTER, GRAVITY.TOP va boshqalar);

- X o‘qi bo‘yicha yo‘nalgan;

- Y o‘qi bo‘yicha yo‘nalgan.

Misol uchun, xabarlar oynasi ekranning markaziy qismida hosil

bo‘lishiga erishish uchun quyidagicha kod yoziladi:

toast.setGravity(Gravity.CENTER, 0, 0);

Agarda xabarlar oynasini ekranning o‘ng tomoniga joylashtirish lozim

bo‘lsa, u holda ikkinchi parametr qiymatini oshirish kerak. Oynani ekranning

quyi tomoniga joylashtirish kerak bo‘lsa, oxirgi parametr qiymati oshiriladi.

Dialogli oyna

Dialog – odatda joriy holatdan oldin paydo bo‘ladigan kichik oyna.

Bunda asosiy holat ikkinchi darajaga o‘tib, diolog foydalanuvchi ta‘sirini qabul

qilish holatini oladi. Dialog asosan ilova uchun bevosita bog‘liq bo‘lgan

xabarlar va qisqa jarayon uchun qo‘llaniladi.

Dialog klassi barcha dialogli oyna klasslari uchun bazaviy klass bo‘lib

hisoblanadi.

22-rasm. Dialogli oynalar iyerarxiyasi

Page 55: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

55

Android dialogli oynalarning quyidagi turlarini qo‘llab-quvvatlaydi:

- AlertDialog – tugma, ro‘yhat, bayroqcha yoki radiotugma

elementlari mavjud diologli oyna;

- ProgressDialog – jarayon indikatori mavjud bo‘lgan diologli oyna;

- DatePickerDialog – sanani belgilovchi dialogli oyna;

- TimePickerDialog – vaqtni belgilovchi dialogli oyna.

Dialogli oyna hosil qilish

Dialogli oyna doimo fokusdagi jarayonning bir qismi sifatida ifodalanadi

va yaratiladi. Dialog odatda onCreateDialog() qayta aloqa metodi ichida

yaratiladi. Bunda Android tizimi dialog holatini avtomatik tarzda boshqarib

boradi.

Dialogli oynani ifodalash uchun ShowDialog() metodini chaqirish va

unga parametr sifatida tasvirlanishi kerak bo‘lgan dialog identefikatorini berish

zarur. Misol:

private static final int IDD_EXIT 0;

showDialog(IDD_EXIT);

Dialog birinchi marta chaqirilayotganda Android tizimi joriy jarayondan

onCreateDialog() ni chaqiradi.

AlertDialog. AlertDialog – Dialog klassining kengaytmasi bo‘lib

hisoblanadi. Undan ko‘p sonli dialog oynalarini qurishda foydalaniladi.

Tugmali AlertDialog ni yaratish uchun AlertDialog.Builder klassidagi

set…Button() metodlar guruhidan foydalaniladi:

- setPositiveButton();

- setNegativeButton();

- setNeutralButton().

Dialogli oyna hosil qilish uchun avvalo, Builder klassida obyekt hosil

qilish lozim:

AlertDialog.Builder builder

new AlertDialog.Builder(getApplicationContext());

Page 56: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

56

So‘ngra, Builder klassi metodlaridan foydalangan holda yaratilayotgan

dialogga kerakli hususiyatlar beriladi, masalan, setMessage() metodi orqali

matnli xabar chiqariladi:

builder.setMessage(―Dasturdan chiqmoqchimisiz?‖);

Dialogga hususiyatlar berilgandan so‘ng, dialogdagi boshqaruv tugmalari

va undagi hodisalar aniqlanadi. AlertDialog ga Positive, Negative va Neutral

tiplarining har biridan bir donadan qo‘shish mumkin. Dialogdagi tugmalarning

maksimal miqdori 3 ta bo‘lishi mumkin. Misol uchun, ―Ha‖ va ―Yo‘q‖ tugmali

dialog oynani yaratish uchun quyidagi listing yoziladi:

builder.setPositiveButton("Yes", new DialogInterface.OnClickListener()

public void onClick(DialogInterface dialog, int id)

// joriy holatni yopish

AlertDialogButtonActivity.this.finish();

});

builder.setNegativeButton("No", new DialogInterface.OnClickListener()

public void onClick(DialogInterface dialog, int id)

// dialog oynasini yopish va joriy holatga qaytish

dialog.cancel();

Foydalanuvchi dialogni mobil qurilma klaviaturasidagi <Back> klavishi

bilan yopa olmasligi uchun setCancelable() metodi chaqiriladi.

builder.setCanselable(false);

Va nihoyat, dialogni ifodalaymiz:

AlertDialog alert Builder.create();

Ro‘yhatli AlertDialog. Ro‘yhatli AlertDialog ni yaratish uchun setItems()

metodidan foydalaniladi. Uning parametri sifatida diologli ro‘yhatni ifodalash

uchun ma‘lumotlar massivi qo‘llaniladi. Shu bilan birga foydalanuvchi

ro‘yhatdagi elementlarni tanlay olishi uchun DiologInterface.OnClickListener

interfeysidan foydalaniladi. Misol:

CharSequence[] colors {“Red”, “Green”, “Blue”};

Page 57: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

57

builder.setItems(colors, new DialogInterface.OnClickListener()

public void onClick(DialogInterface dialog, int item)

// ro‟yhatdagi element tanlangandagi hodisani tahrirlash

Toast.makeText(getApplicationContext(),

“Color: ” + mColors[item],

Toast.LENGHT_SHORT).show();

)

Radiotugmali AlertDialog. Radiotugmali AlertDialog oynasini hosil

qilish uchun setSingleChoiceItems() metodi ishlatiladi. Agarda dialog oyna

onCreateDialog() metodi ichida yaratilsa, u holda Android tizimi radiotugma

ro‘yhatlari holatini boshqarib boradi. Joriy holat aktiv bo‘lganda, dialog oyna

oldingi tanlangan punktni saqlab qoladi.

Radiotugmali AlertDialog ro‘yhati dialog kabi yaratiladi. Faqatgina

setItems() metodi o‘rniga setSingleChoiceItems() metodi chaqiriladi.

CharSequence[] colors {“Red”, “Green”, “Blue”};

builder.setSingleChoiceItems(colors, 0, new

DialogInterface.OnClickListener()

public void onClick(DialogInterface dialog, int item)

Toast.makeText(getApplicationContext(),

“Color: ” + mColors[item],

Toast.LENGHT_SHORT).show();

)

Bayroqchali AlertDialog Radiotugmali AlertDialog oynasini hosil qilish

uchun setMultiChoiceItems() metodi ishlatiladi. Agarda dialog oyna

onCreateDialog() metodi ichida yaratilsa, u holda Android tizimi radiotugma

ro‘yhatlari holatini boshqarib boradi. Joriy holat aktiv bo‘lganda, dialog oyna

oldingi tanlangan punktni saqlab qoladi.

Radiotugmali AlertDialog ro‘yhati dialog kabi yaratiladi. Faqatgina

setItems() metodi o‘rniga setMultiChoiceItems() metodi chaqiriladi.

Page 58: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

58

CharSequence[] colors {“Red”, “Green”, “Blue”};

final Boolean[] mCheckedItems {true, false, false};

builder.setMultiChoiceItems(colors, checkedItems,

new DialogInterface.OnMultiChoiceClickListener()

public void onClick(DialogInterface dialog,

int which, Boolean isChecked)

mCheckedItems[which] isChecked;

ProgressDialog ProgressDialog AlertDialog ning jarayon indikatori

ifodalangan dialog oynali ost klassi hisoblanadi. Dialogga amalga

oshirilayotgan jarayonni bekor qiluvchi boshqaruv tugmasini ham qo‘shish

mumkin.

Jarayon indikatori ifodalangan dialogni yaratish uchun

ProgressDialog(Context) klass konstruktorini chaqirgan holda PdogressDialog

obyektini initsializatsiya qilish lozim:

ProgressDialog progressDialog new ProgressDialog(Activity.Name.this);

So‘ngra dialog oyna uchun kerakli hususiyatlar o‘rnatiladi, masalan:

progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL

);

progressDialog.setMessage(“Loading.

progressDialog.setCanselable(false)”);

setProgressStyle() metodi dialog stilini o‘rnatadi. Stillar ProgressDialog

klassi tomonidan aniqlangan konstantalar orqali beriladi:

- STYLE_HORIZONTAL;

- STYLE_SPINNER.

DatePickerDialog foydalanuvchi tomonidan sanani tanlash uchun

qo‘llaniladi. Odatda sana tanlash dialogini yaratishdan avval tizimdan joriy yil,

oy va kunni qabul qilish kerak. Buni quyidagicha amalga oshirish mumkin:

Calendar c Calendar.getInstance();

mYear c.get(Calendar.YEAR);

Page 59: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

59

mMonth c.get(Calendar.MONTH);

mDay c.get(Calendar.DAY_OF_MONTH);

So‘ngra onCreateDialog() da klass konstruktorini chaqirgan holda

DatePickerDialog obyektini yaratish lozim:

DatePickerDialog dialog new DatePickerDialog (

this, mDateSetListener, mYear, mMonth, mDay);

Konstruktorda beriladigan birinchi parametr – joriy holat konteksti,

ikkinchi parametr – sanani o‘rnatish holatini tartibga soluvchi metod nomi,

qolgan parametrlar dialog ishga tushirilganda qayd etilgan sana uchun parametr

hisoblanadi.

Menyu

Menyu – har bir ilovaning muhim qismidir. Android ilovalar uchun turli

xil funktsional imkoniyatlarga ega bo‘lgan standart menyularni yaratishning

oddiy interfeysini taklif qiladi.

Android menyularning 3 ta katta guruhini taklif qiladi. Bular:

1. Options Menyu – menyular punkti jamlamasi bo‘lib, holatlarga

biriktirilgan bo‘ladi. Menyu mobil qurilmaning <MENU> klavishini

bosish orqali ekranning quyi qismida hosil bo‘ladi. Menyular

optsiyasini tanlashda qo‘shimcha ikki turdagi menyu mavjud:

- Icon Menu(belgili menyu) – menyu bo‘limlaridagi matnga belgi

qo‘shish orqali hosil qilinadi. Menyu maksimal 6 ta menyuni

saqlashi mumkin. Ushbu menyu turi – belgini qo‘llab-

quvvatlovchi yagona menyudir.

- Expanded Menu(Kangaytirilgan menyu) – tushuvchi ro‘yhatli

vertikal menyu. Kengaytirilgan menyu Android tizimi tomonidan

avtomatik tarzda qo‘shiladi.

2. Context Menu(Kontekst menyu) – suzuvchi ro‘yhatlar menyusi.

Ushbu menyu sensor ekranga tegganda ikki va undan ortiq

sekundlarda hosil bo‘ladigan menyu.

Page 60: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

60

3. Submenu(ost menyu) – menyuning suzuvchi ro‘yhatlar punkti bo‘lib,

u menyu punktlaridan biriga yoki bir nechtasiga biriktirilgan bo‘ladi.

Option Menyu – ilovalarda keng tarqalgan menyu turidir.

Ushbu menyu birinchi marta ochilganda, Android tizimi

onCreateOptionsMenu() metodini chaqiradi. Ushbu metodni holatlar klassida

realizatsiya qilish lozim.

// menyu punktlarini yaratish uchun identifikator aniqlash

private static final int IDM_OPEN 101;

private static final int IDM_SAVE 102;

public boolean onCreateOptionsMenu(Menu menu)

// menyuga punkt qo‘shish

menu.add(Menu.NONE, IDM_OPEN, Menu.NONE, “Open”);

menu.add(Menu.NONE, IDM_SAVE, Menu.NONE, “Save”);

Yuqoridagi misolda foydalanilgan add() metodi 4 ta parametrni qabul

qiladi:

- identifikator guruhi – menyuning ushbu punktini shu menyuning

boshqa punktlari guruhi bilan bog‘lash imkonini beradi.

- menyu punktlarini tanlash hodisasini tahrirlash uchun punkt

identifikatori;

- menyuda punktlarning joylashish tartibi – menyuda punktlarning

o‘rnini aniqlashga yordam beradi.

- sarlavha – menyu punktlaridagi matn.

onCreateOptionsMenu() metodi tizim tomonidan birinchi marta, faqat

menyu yaratilgandagina chaqiriladi.

Shuningdek, menyuga ―qaynoq‖ klavishlarni ham qo‘shish mumkin.

Menyuga ―qaynoq‖ klavish qo‘shish uchun bir nechta metodlar mavjud:

- setAlphabeticShortcut(char) – imvol qo‘shadi;

- setNumericShortcut(int) – son qo‘shadi;

- setShortcut(char, int) – simvol va son kombinatsiyasini qo‘shadi.

Page 61: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

61

Masalan,

setAlphabeticShortcut(„q‟); [13].

3.2 . Dasturning funksional imkoniyatlari

Yaratilgan dasturning funksional imkoniyatlariga turli komponentalar,

ya`ni Button, CheckBox, Diolog bilan ishlash ko`rsatib o`tiladi.

- bu matn yoki rasmni kattalashtiruvchi

yokikichiklashtiruvchi tugma bo`lib, bu tugma yordamida ma`lumotlar

kattalashtiriladi yoki kichiklashtiriladi;

Menu oynasi funksiyalaridan:

- bu tugma dastur haqida va dasturchi haqida ma`lumot beradi;

- bu tugma sozlash oynasini ochib beradi;

- bu tugma dasturdan chiqish uchun foydalaniladi.

Sozlash oynasida:

- bu list diolog oyna ochib

beradi;

- bu checkbox qiymati true

qilinsa dastur ochilish jarayonida milliy musiqa yangraydi;

- bu checkbox qiymati true

qilinsa dastur to`liq ekran muhitiga o`tadi;

Page 62: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

62

- bu ism listida chaqirilgan diolog

oynada foydalanuvchi o`z telefoni nomini yozib saqlashi mumkin;

- bu chiqish tugmasidan

chaqirilgan diolog oyna orqali dastur foydalanuvchiga o`zi kiritgan nom bilan

murojaatni amaga oshiradi.

3.3. Dastur ishlash samaradorligi va joriy etilgan resurslarni baholash

Hozirgi tezkor axborot texnologiyalari zamonida komyuter, notebooklar

o`rnini mobil telefonlar egallamoqda, chunki:

- bugungi kunda ma`lumot toppish tezkorligi jihatdan mobil telefon

qulaydir;

- kompyuterda ishlashdan, notebooklarni ko`tarib yurgandan, unga

murojaatga nisbatan telefon hajm jihatdan kichik va qulay;

- telefonning hajmi kichikligi, har doim, har yerda, har qanday

holatda yonimizdaligi;

- taqdimotlarni ixtiyoriy vaziyatda ko`rsata olish qulayligi uchun.

Bu dastur milliy ma‘naviyatimizni tiklash, milliy qadriyatlarimiz

sanalmish osori atiqalarimizni dunyoga tanitish uchun xizmat qiladi. Milliy

qadriyatlarimiz, tarixiy qadamjolarimiz samarali bo`lganligi dasturning

Page 63: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

63

samaradorligini oshiradi. Dasturni internet xalqaro saytlarga reklamaga

qo`yilsa, turistlar o`zining telefoniga GoogleMarketdan yuklab olishi mumkin.

Bu esa Davlatimizga tashrif buyuruvchi turistlar sonini o`z-o`zidan oshishiga

sabab bo`ladi. Bundan dasturdagi resusrslarni baholash imkoniyati kelib

chiqadi.

Demak, yuqorida sanab o`tilgan afzalliklar Android operatsion tizimida

yaratilgan ushbu dasturning naqadar samarali ekanligini ko`rsatib turibdi.

3.4. Foydalanuvchi uchun qo`llanma

ResUz dasturini foydalanuvchi o`zining mobil telefoniga GoogleMarket

yoki AndroidMarketlardan yuklab olishi mumkin. Dastur yuklanish jarayonida

dasturdagi hamma resurslar avtomatik tarzda telefonga yuklanadi. Dastur

yuklashnish jarayoni tugagach, foydalanuvchi mobil telefoni ―Menu‖ yoki

―Apps‖ (android versiyalariga qarab) ga kirib, dastur logotipini

tanlaydi va dastur ochiladi. Dastur yoqilishi bilan ―Splash‖ oynasi va yuqori

qismida ―ResUz dasturiga xush kelibsiz‖ yozuvi chiqadi va so`ngra dastur

menyusi, ya`ni viloyatlar ro`yxati ochiladi. Bu viloyatlar ro`yxatidan keraklisi

tanlanadi va unda viloyatlarda joylashgan obidalar haqida ma`lumot, rasmlar va

viloyat xaritasi ko`rsatiladi.

Ma`lumot tabhostida muqaddas qadamjolarimiz

haqidahi ma`lumotlar keltirilgan. Unda ma`lumot pastga yoki yuqoriga

surilganda ma`lumotni kattalashtish yoki kichiklashtirish imkonini

beruvchi tugmadan foydalanish mumkin.

Page 64: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

64

Rasmlar tabhostiga kirilganda O`zbekistonda

joylashgan ziyotargohlar, qadamjolar, maqbara va obidalar rasmlari galereya

sifatida ochiladi va undan rasmlarni o`ng va chapga qarab surib ko`rish

imkoniyati mavjud.

Xarita tabhostida tanlangan viloyat xaritasi ko`rinadi

va albatta bu jarayonda mobil telefonda internet tarmog`i mavjud bo`lishi kerak.

Menu oynasi funksiyalaridan:

- bu tugma dastur haqida va dasturchi haqida ma`lumot beradi;

- bu tugma sozlash oynasini ochib beradi;

- bu tugma dasturdan chiqish uchun foydalaniladi.

Sozlash oynasida:

- bu list diolog oyna ochib

beradi;

- bu checkbox qiymati true

qilinsa dastur ochilish jarayonida milliy musiqa yangraydi;

- bu checkbox qiymati true

qilinsa dastur to`liq ekran muhitiga o`tadi;

Page 65: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

65

- bu ism listida chaqirilgan diolog

oynada foydalanuvchi o`z telefoni nomini yozib saqlashi mumkin;

- bu chiqish tugmasidan

chaqirilgan diolog oyna orqali dastur foydalanuvchiga o`zi kiritgan nom bilan

murojaatni amaga oshiradi.

Page 66: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

66

HAYOT FAOLIYATI XAVFSIZLIGI

Shaxsiy kompyuterni ishga tayyorlash va o'chirish tartiblari mavjud.

Avvalambor, kompyuterning tarmoq kuchlanishiga mosligini tekshirish kerak.

Shaxsiy kompyuterlar 220 yoki 110 kuchlanishli elektr tarmoqlarida ishlashi

mumkin.

Shaxsiy Kompyuterlar uchun kuchlanishning o'zgarishi, ayniqsa keskin

o'zgarishlar xavfli bo'lishi mumkin. Shuning uchun maxsus stabilizatorlardan

yoki elektr quvvatining o'zluksizligini ta'minlovchi - URS qurilmasidan

foydalanish tavsiya etiladi. Maxsus URS qurilmasi elektr quvvatini o'zgarmas

holda ushlab turadi, hamda elektr manbai o'chirilgandan keyin muayyan vaqt

davomida Kompyuter ishlashini ta'minlab turadi. Bu vaqt Kompyuterda

bajarilayotgan ishlarni tugatish uchun yetarlidir. masalan, kerakli ma'lumotlarni

diskka yozib qo'yish yoki ‗rogrammalar ishini tugatish uchun va hokazo.

Monitor oldida uzoq vaqt o‘tirib ishlaydiganlar kompyuter bilan

me‘yoridan ortiq muloqatda bo‘lish sog‘liqga zararligini bilishlari kerak.Ayrim

kasbiy kasalliklar, ularning olidini olish usullari va kasalliklarni davolash

metodlarini bilish foydadan holi emas. Sog‘lik uchun xavfsiz bo‘lgan

kompyuter va dasturiy ta‘minotni qanday tanlab olish, ish joyini tashkil qilishni

bilish zarur. Kompyuter xonasida tushayotgan yorug‘lik o‘quvchining ish joyiga

te‘adan va cha‘dan tushishi, dis‘lay ekraniga va tugmalar ko‘zni

qamashtirmaydigan. bo‘lishi maqsadga muvofiq.

Xonadagi havo harorati o‘rtacha 20-24 0 c atrofida bo‘lishi lozim.

O‘quvchilarning shaxsiy kompyuter bilan uzliksiz ishlash vaqti 25-30

daqiqadan, bir kun davomida esa 50 daqiqadan oshmasligi ma‘qul. O‘quvchi

kompyuterdan eng kamida 40 sm narida o‘tirishi kerak. Kompyuter xonasida

o‘tkazilayotgan- dars ‗aytida o‘quvchilarga tana mushaklarda va ko‘zlarda

zo‘riqish hosil bo‘lmasligi uchun davomi 2-3 daqiqadan iborat dam berilishi

lozim. Shu lahzalarda o‘quvchilarga yengil kuy eshitish, kursida o‘tirgan holda

qo‘l va bo‘yin mushaklari toliqmasligi uchun yengil jismoniy mashqlar bajarish

Page 67: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

67

tavsiya etiladi. Har bir o‘quv guruhi shunday kichik, guruhlarga bo‘linishi

kerakki, mashg‘ulotda qatnashayotgan o‘quvchilarning umumiy soni 20 tadan

oshmasligi darkor. Kompyuter bilan ishlashda insonga ta‘sir ko‘rsatuvchi asosiy

omillar:

uzoq vaqt davomida o‘tirib izlash

monitorning elektromagnit nurlari ta‘siri

ko‘z charchashi, ko‘‘ ishlashi

bilaklar bo‘yinlarning toliqishi

axborotni yuqotib qo‘yish vaziyatlardagi ruhiy zo‘riqish holati.

Kompyuter oldida o‘tirib ishlashda guyo inson erkin joylashgandek

bo‘ladi, biroq bunday holat organism uchun majburiy va noqulay hisoblanadi.

Bo‘yin, muskullar, bosh, qo‘l va yelka bo‘g‘inlari tarang holatda, shu sababli

osteoxondroz, bolalarda esa skolioz yuzaga kelishi mavjud. Ko‘‘ vaqt

mobaynida ishlaydigan insonlarda kursi suyanchig‘i va tanasi o‘rtasida issiq

kom‘ress hosil bo‘ladi, bu esa inson organizmida gaz, qon turib qolishiga olib

keladi, natijada ‗rostatit va gemoroy yuzaga keladi. Bu kasalliklarni davolash

uzoq vaqt talab etadi va yoqimsiz holatlarda davon etadi. Shaxsiy

kompyuterning sog‘liq uchun eng zararli uzeli uning video monitoridir. To‘g‘ri

foydalanish qoidalariga rioya qilmaslik oqibatida ko‘zlarning zo‘riqishi va

oqibatda uzoqni ko‘ra olmaslik kasalliklariga chalinishi mumkin. Kompyuter

bilan ishlashda xodimlar, xomilador ayollar, bolalar alohida ehtiyotkorlik bilan

harakat qilishlari lozim. Xomilador ayollarning tartibsiz va me‘yoridan ortiq

kompyuter bilan shug‘ullanishi bola rivojlanishiga ta‘sir ko‘rsatib, bolaning erta

tug‘ilishi va turli xil ko‘ngilsizliklarga olib keladi. Xomilador ayollar

kompyuterdan 1 oyga 20 soat ishlashi belgilangan.

Bundan tashqari, kam harakatli hayot tarsi ko‘‘incha semirib ketishiga olib

keladi. Elektromagnit nurlari zamonaviy monitorlar salomatlik uchun xavfsiz

hisoblanadi, biroq hali to‘la xavfsiz emas. Agarda ish joyingizda eskiroq

kompyuter turan bo‘lsa, yaxshisi undan uzoqroq bo‘ling. Ko‘zlar matn yoli

Page 68: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

68

sur‘atning har bir kichik silkinishini qayd etadilar, ekranning jami

yomonlashishiga olib keladi. Ranglarni, shriftni foydalanayotgan dasturlarda

oynalar joylashtirishni, ekranni noto‘g‘ri joylashtirish ko‘rish qobilyatiga

yomon ta‘sir ko‘rsatdi. Barmoq uchlarining nervlari tugmalarni bosa berishda

go‘yo yorilib ketayotgandek bo‘ladi, jonsizlanib qoladi, natijada barmoq uchlari

uvishadi, bu esa bilaklar bo‘yinlari va bog‘lovchi a‘‘arata zararlanishiga olib

kelishi mumkin, keyin esa bilaklar doimiy og‘riydigan bo‘lib qolishi mumkin.

Barcha foydalanuvchilar ham o‘zlarining axborotlari qo‘shimcha nusxasini

doimiy ravishda yaratib bormaydilar. Arxiv viruslari ham doimiy xavf to‘g‘dirib

turadilar, eng yaxshisi firmalarning vinchestrlari ham buziladi va eng tajribali

dasturchi ham ba‘zida boshqa tugmani bosib yuborishi mumkin. Natijada

bunday stress oqibatida infarkt kelib chiqishi mumkin. Bundan tashqari,

kompyuter inson ‗sixikasiga ham ta‘sir ko‘rsatadi. Bu mavzuda qator

tortushuvlarga sabab bo‘ladi, Masalan, kompyuter o‘yinlariga berilib ketish,

internetga qaram bo‘lib qolish-bu muammolar qanchalik jiddiy? Inetrnetga

qaram bo‘lib qolish, o‘yinlarga berilib ketish-bunday holatlar odatda, endi

o‘rganayotgan foydalanuvchilar uchun yoki kompyutersiz, shunga o‘xshash

maxsulotlar bilan shug‘ullanganlar uchun xos holatdir. Agarda inson soatlab

saytlardan chiqmay berilib ketsa, bunga kompyuter emas, uning o‘zi aybdor

bo‘ladi. Balki bu muammo haqiqatda ham jiddiydir? Bu xususida turli nuqtaiy

nazarlar bildirilgan va bildirilmoqda. Biroq yaxshisi bunday axvolga olib

kelmaslik lozim.

Kompyuterda uzoq vaqt ishlash turli oqibatlarga olib kelmasligi uchun o‘z

ish joyi va ish rejimini tashkil etish bo‘yicha murakkab bo‘lmagan tavsiyalarni

bajarish yetarli bo‘ladi. Har soatda qisqa tanaffus qilish qo‘l barmoqlari uchun

bir necha mashqlarni bajarish zarur.

Hozirgi vaqtda zamonaviy texnologiyalarsiz o‘z hayot tarzimizni

tasavvur eta olmaymiz. Chunki ular bizga har kunlik ishimizda yordamchi

hisoblanadilar. Ulardan foydalanganda me‘yor va to‘g‘ri foydalanishni

Page 69: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

69

bilishimiz zarur. Aks holda, sog‘lig‘imizga zarar yetkazib qo‘yamiz. Quyidagi

maslahatimizda kompyuterdan foydalanganda nimalarga e‘tibor berishimiz

kerakligi aytib o‘tilgan.

Maslahatlar

Oyoqlar joylashuvi. Oyog'ingiz birini ustidan ikkinchisini qo‘ymang,

chunki bu oyoqlarda qon aylanishiga to‘sqinlik qiladi. Ularni shunday qo‘yingki

ikki oyog‘ingiz yerda bir xil joylashsin.

Umurtqa „og'onangizni to'g'ri tutib o'tirishingiz kerak. Buning uchun

maxsus stulda o‘tiring. Kompyuter xonasida stol va stullarga talablar mavjud

bo'lib, stol balandligi yerdan 68-77 sm bo'lib, stullar esa aylanuvchan bo'lishi

kerak va albatta orqasida suyanchig'i bo'lishi kerak. Bu stulning suyanadigan

joyi sizning umurtqa ‗og‘onangizni to‘g‘ri ushlab turadi.

Qo‘llaringizni shunday joylashtiringki ular stolda bir tekis joylashishsin.

‗anjalarni ushlab turuvchi maxsus sichqoncha uchun yostiqcha oling. Quyidagi

rasmda qo‘llar qanday holda bo‘lish kerakligi haqida batafsil ko‘rsatilgan.

Page 70: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

70

Ko‟zlar va bo'yin. Monitoringiz markazi ko‘zlaringiz joylashgan joyi bilan

teng bo‘lishi kerak. Monitor ko'zdan ozgina ‗astroqda va 50 smdan kam

bo'lmagan masofada joylashishi kerak. Monitor va ko'z orasidagi masofa 60-

70 sm bo'lishi tavsiya qilinadi, bu masofa kichik bo'lsa, insonni ko'zi tezroq

charchaydi. Monitorni dizayni va rangi o'ziga e'tiborni jalb qilmasligi kerak.

Shuning uchun monitorning sirt tomonida har xil reklama yo‘ishtirgichlarini

olib tashlash kerak. Monitorning ekrani zangori va ko'k ranglarga bo'yalishi

shart. Chunki bu ranglar inson ko'ziga eng yaxshi ranglardan hisoblanadi.

Bunda bo'yningizga ham og'irlik tushmaydi, chunki u to'g'ri holatda bo'ladi.

Page 71: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

71

Zamonaviy monitorlar. Oddiy lam‘ali monitoringizni LCD yoki LED

monitorlarga almashtiring, chunki ulardan nur chiqish darajasi judayam ‗ast.

Monitoringiz judayam yorug‘ bo‘lsa uning nurini sizga qulay darajagacha

‗asaytiring.

Ko‟zlarga dam. Ko‘zlaringizga har soat 10-15 daqiqa dam berib turing.

O‘simliklarga, osmonga yoki akvariumga qarang.

Ko‟z mashqlari. Ko‘z mashqlari bilan shug‘ullaning. Ko‘zlaringiz

qorachig‘ini 10-15 martta soat millari bo'ylab va teskari yo‘nalishda aylantiring.

Keyin gorizontal, vertikal va diagonal yo‘nalishda 10-15 marta harakatlantiring.

Oxiri ko‘zlaringizni tez ochib yo‘ib ‗ir‘irating.

Stol tennis. Stol tennisi ham ko‘zlarga juda foydasi katta. Monitorga,

ya‘ni faqatgina bir joyga qarab turgan ko‘z mushaklari harakatsiz bo‘lib qoladi,

bu esa ko‘zingiz nurini yo‘qotishga olib keladi. Stol tennisi esa harakatsiz

mushaklarni ishga tushuradi.

Mahsus ko‟zoynaklar. O‘tikadan ko‘‘gina mayda

teshikchalarga ega qora maxsus ko‘zoynak oling. 10-

15daqiqaga taqib yuring.

Page 72: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

72

Ruchka. Qo‘lingizga ruchka yoki qalam olib uni har xil joyga

harakatlantiring (o‘ngga cha‘ga, te‘aga ‗astga, yaqinroq uzoqroq), boshingizni

qimirlatmasdan ko‘zingizni ruchka ketidan yo‘naltiring.

Badan-tarbiya. Kompyuterda ko‘‘ o‘tiradiganlar har soat badantarbiya

qilib turishlari shart. Badantarbiya mushaklaringizni bo‘shashib qolishining

oldini oladi, qon aylanishini ta‘minlaydi va umurtqa ‗og‘onasi, ko‘z, bo‘yinga

tushgan og‘irliklarni kamaytiradi.

Kerishib turing. Har zamon o‘ng, cha‘ orqa va oldinga qo‘llaringizni

ko‘tarib qattiq kerishing.

Sabzavot, mevalar, asal iste‘mol qilib turing. Chunki ular ko‘zga foydali

bo‘lgan vitamin va minerallarga boy.

S‟ort bilan shug‘ullanib turing. Umurtqa ‗og‘onangizni tekislash uchun

turnikda to‘rtining, suzish bilan shug‘ullaning. Oyoqlar bo‘shashib qolmaslik

uchun yugurib turing.

Kompyuterda ishlash vaqtida insonning charchash sabablari

Kompyuter bilan ishlash vaqtida inson quyidagi faktorlardan charchaydi:

ekranni yorug'ligi;

kontrast va fon o'rtasidagi aniqligi;

kompyuterda ishlash ‗aytidagi issiqlikdan nurlanishi;

kompyuterda nurlanishning insonga ta'siri

kompyuter buzuqligi.

Ko‘zingiz ko‘rishi xiralashgan bo‘lsa yoki har doim og‘rib ko‘z

yoshlansa oftalmologga uchrashing. Ular kerakli bo‘lgan tavsiya, dorilarni

yozib beradilar.

Page 73: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

73

XULOSA

Bugungi kun har qanday masalaning yechimi kompyuter yordamida hal

qilinayotgan bir davr hisoblanadi. Hozirda hech bir soha yo‘qki unda

kompyuter, internet foydalanilmaydigan. Har bir sohaga chuqur kirib borayotga

yangi texnologiyalar, insoniyat taraqqiyotiga o‘zining bemisl ulushuni

qo‘shmoqda.

Shuni ham ta‘kidlash lozimki, hozirda axborot sohasini rivojlantirish va

faoliyatini yaxshilash bo‘yicha ham O‘zbekistonda bir qator Prezident

Farmonlari va qonun hujjatlari ishlab chiqilmoqda. Bular esa o‘z navbatida

aholi ongini oshirish va malakali servis xizmatni tashkil qilishga qaratilgandir.

Xulosa qilib aytganda, hozirgi kunda axborotni istalgan vaqtda va

ishonchli manba orqali qabul qilish va undan samarali foydalanish eng asosiy

masaladir. Ayniqsa, ommalashib borayotgan mobile texnologiya sohasida.

Yurtimizdagi mobil texnologiya sohasidagi o`zgarishlarni olib qarasak, boshqa

hech bir davlatdan qolishmagan holda endilikda O`zbekistonda ham Android

operatsion tizimida ishlovchi telefonlar ishlab chiqarilishi biz yoshlarda faxr

tuyg`usini uyg`otadi.

Page 74: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

74

FOYDALANILGAN ADABIYOTLAR

1. Karimov I.A. Yuksak ma'naviyat - yеngilmas kuch. Toshkеnt: Ma'naviyat,

2008. - 176 b.

2. Karimov I.A. Asosiy vazifamiz - Vatanimiz taraqqiyoti va xalqimiz

farovonligini yanada yuksaltirish G`G` Xalq so‘zi, 2010 yil 30 yanvar. №

21

3. Karimov I. A. Mamlakatni modеrnizatsiya qilish va kuchli fuqarolik

jamiyat barpo etish - ustuvor maqsadimizdir G`G` Xalq so‘zi. 2010 yil 28

yanvar. № 19

4. Karimov I.A. Barkamol avlod orzusi Toshkent: Sharq, 1999. – 181 b.

5. O‘zbеkiston Rеspublikasining ―Ta'lim to‘g‘risida‖gi qonun G`G` Oliy

ta'lim: Mе'yoriy - huquqiy va uslubiy hujjatlar to‘plami. - Toshkеnt:

Istiqlol, 2004. - B. 4-9.

6. Голощапов А.Л. Google Android. Программирование для мобильных

устройств (Профессиональное программирование). Санк-Петербург:

«БХВ - Петербург», 2011. – 438 с.

7. J.F.Di Marzio Android A Programmer‘s Guide – 2008.

8. Chris Haseman Android Essentials – 2008.

9. Mark Murphy ―Beginning Android 2‖;

10. Jeff Friesen ―Learn Java for Android Development‖;

11. Gadoyev A.G., Oripova G.S. Bemorlarni uyda va shifoxonada parvarish

qilish. Toshkent: O‘zbekiston milliy enstiklopediyasi, 2011. – 527 b.

12. Inomova K.S. Hamshiralik ishi asoslari.

13. Родионова Г.Н. Справочник фельдшера. Москва: Эксмо, 2005. – 556 с.

14. http://www.java.sun.com/javase/downloads/index.jsp;

15. http://www.eclipse.org/downloads/;

16. http://www.developer.android.com/sdk/index.html;

17. www.tib.uz;

18. www.med.uz;

Page 75: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

75

19. www.minzdrav.uz;

20. www.wikipedia.org;

21. www.youtube.com/watch;

22. https://play.google.com/store/apps/details;

23. http://www.ziyouz.com/index.php;

24. www.virtualdars.uz Muallif: Farhod Dadajonov.

Page 76: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

76

ILOVALAR

ILOVA 1. Android operatsion tizimining umumiy strukturasi

Page 77: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

77

ILOVA 2. Androidning yandilanishi

ILOVA 3. Android versiyalari diagrammasi

Page 78: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

78

ILOVA 4.

Page 79: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

79

Dastur kodi

ImageAdapter.java

package com.marifat.ResUz;

import android.content.Context;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.Gallery;

import android.widget.ImageView;

public class ImageAdapter extends BaseAdapter{

private int mGalleryItemBackground;

private Context mContext;

private final Integer[] mImage = {

R.drawable.tosh, R.drawable.tosh1, R.drawable.tosh2,

R.drawable.tosh2baroqxon, R.drawable.tosh2baroqxon2,

R.drawable.tosh3, R.drawable.tosh3yunus, R.drawable.tosh3yunusxon,

R.drawable.tosh4, R.drawable.tosh4kokaldow,

R.drawable.tosh5, R.drawable.tosh6, R.drawable.tosh7, R.drawable.tosh7,

R.drawable.tosh8, R.drawable.toshqaffolshoshiy,

R.drawable.toshqaffolshoshiy2, R.drawable.tow3yunu,

R.drawable.tow4kokal, R.drawable.tow5zaynidbuva, R.drawable.tow6valiy,

R.drawable.tow7tillo, R.drawable.tow7tillowayx, R.drawable.tow8muskut,

R.drawable.tow8musulkut, R.drawable.tow9zan,

R.drawable.tow9zang, R.drawable.tow9zangata,

Page 80: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

80

R.drawable.samarqand0, R.drawable.sam, R.drawable.sama,

R.drawable.samami, R.drawable.samar, R.drawable.samarqand,

R.drawable.samarqand2012149, R.drawable.samarqand54,

R.drawable.samarqand_09, R.drawable.samarqanddapl,

R.drawable.samarqandgilbriones,

R.drawable.samarqandolen, R.drawable.samarqandpsaid,

R.drawable.samarqandregiston, R.drawable.samarqandshaharramzi,

R.drawable.samarqandtillakori, R.drawable.samarqandtown,

R.drawable.sambux, R.drawable.sambuxoriy, R.drawable.sameskishah,

R.drawable.samguremir, R.drawable.smatillakori,

R.drawable.buxoro0, R.drawable.buckol, R.drawable.bukhara01,

R.drawable.bukhara_03, R.drawable.bux1, R.drawable.bux21,

R.drawable.buxar, R.drawable.buxark, R.drawable.buxch, R.drawable.buxg,

R.drawable.buxmas, R.drawable.buxmaskal, R.drawable.buxmir,

R.drawable.buxol, R.drawable.buxoro, R.drawable.buxoro0068,

R.drawable.buxorolabihavuz, R.drawable.buxsom,

R.drawable.xorazm0, R.drawable.xiva_shergozixon_1,

R.drawable.xiva_shergozixon_2, R.drawable.xor, R.drawable.xora,

R.drawable.xoraq, R.drawable.xorasm, R.drawable.xorazm,

R.drawable.xorazmk, R.drawable.xorazmm, R.drawable.xorazmpah,

R.drawable.xorkalmin, R.drawable.xormuh, R.drawable.xorox,

R.drawable.xorpah, R.drawable.xorrah, R.drawable.xorrahim,

R.drawable.xorrazm, R.drawable.xorsaidalouddin, R.drawable.xoryuq,

R.drawable.qa, R.drawable.qaamir, R.drawable.qas, R.drawable.qaw,

R.drawable.qaw1, R.drawable.qawjar, R.drawable.qawjarroh,

Page 81: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

81

R.drawable.qawlang, R.drawable.qawlangarota, R.drawable.qawoqs,

R.drawable.qawqa, R.drawable.qawqadr, R.drawable.qaws,

R.drawable.qaww, R.drawable.qawxoja, R.drawable.qawxojajar,

R.drawable.surxondaryo0, R.drawable.sur, R.drawable.sursao,

R.drawable.sursulto, R.drawable.surterm, R.drawable.surx,

R.drawable.suttermiziy, R.drawable.sutxak,

R.drawable.navbah, R.drawable.navbahrom, R.drawable.navjarqor,

R.drawable.navjorq, R.drawable.navxusrav,

R.drawable.nam, R.drawable.nama, R.drawable.namana,

R.drawable.namang, R.drawable.namangan,

R.drawable.farg, R.drawable.fargo, R.drawable.fargoniy

};

public ImageAdapter(Context c) {

mContext = c;

}

public View getView(int position, View convertView, ViewGroup parent) {

ImageView view = new ImageView(mContext);

view.setImageResource(mImage[position]);

view.setPadding(20, 15, 20, 15);

view.setLayoutParams(new Gallery.LayoutParams(250, 300));

view.setScaleType(ImageView.ScaleType.FIT_XY);

view.setBackgroundResource(mGalleryItemBackground);

Page 82: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

82

return view;

}

public int getCount() {

return mImage.length;

}

public Object getItem(int position) {

return mImage[position];

}

public long getItemId(int position) {

return mImage[position];

}

}

Viloyatar classlari:

package com.marifat.ResUz;

import android.app.Activity;

import android.content.SharedPreferences;

import android.os.Bundle;

import android.preference.PreferenceManager;

import android.view.Gravity;

import android.view.View;

Page 83: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

83

import android.view.ViewGroup;

import android.view.Window;

import android.view.WindowManager;

import android.webkit.WebView;

import android.widget.FrameLayout;

import android.widget.Gallery;

import android.widget.TabHost;

public class Toshkent extends Activity{

@Override

protected void onCreate(Bundle icicle) {

// TODO Auto-generated method stub

super.onCreate(icicle);

//zoomcontrol

final FrameLayout.LayoutParams ZOOM_params =

new FrameLayout.LayoutParams(

ViewGroup.LayoutParams.FILL_PARENT,

ViewGroup.LayoutParams.WRAP_CONTENT,

Gravity.BOTTOM);

//fullscreen

SharedPreferences getPrefs =

PreferenceManager.getDefaultSharedPreferences(getBaseContext());

boolean fullscreen = getPrefs.getBoolean("checkfull", false);

if (fullscreen == true)

requestWindowFeature(Window.FEATURE_NO_TITLE);

Page 84: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

84

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSC

REEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.tabhost);

TabHost tabs = (TabHost)findViewById(R.id.tabhostins);

tabs.setup();

TabHost.TabSpec

spec=tabs.newTabSpec("tag1");

spec.setContent(R.id.webtab1);

WebView web1 = (WebView) findViewById(R.id.webtab1);

FrameLayout mContentView = (FrameLayout) getWindow().

getDecorView().findViewById(android.R.id.content);

final View zoom = web1.getZoomControls();

mContentView.addView(zoom, ZOOM_params);

zoom.setVisibility(View.GONE);

web1.loadUrl("file:///android_asset/tosh/mal.htm");

spec.setIndicator("Ma`lumot");

tabs.addTab(spec);

spec=tabs.newTabSpec("tag2");

spec.setContent(R.id.galtab2);

Gallery g = (Gallery)findViewById(R.id.galtab2);

Page 85: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

85

g.setAdapter(new ImageAdapter(this));

spec.setIndicator("Rasmlar");

tabs.addTab(spec);

spec=tabs.newTabSpec("tag3");

spec.setContent(R.id.webtab3);

WebView web2 = (WebView)findViewById(R.id.webtab3);

web2.loadUrl("http://www.mapsofworld.com/uzbekistan/travel/tashkent.

html");

spec.setIndicator("Xarita");

tabs.addTab(spec);

tabs.setCurrentTab(0);

}

}

Page 86: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

86

Dastur listing

Page 87: «Java dasturlash tilida Android tizimida milliy ... · Amazon¶dan Appstore for Android, Opera Store, Yandex.Store[2]. Android operatsion tizimi uchun telefonlar ishlab chiqarish:

87