Texnologiyalari va kommunikatsiyalarnirivojlantirish vazirligi muhammad al-xorazmiy nomidagi


standart kutubxonalarda platformaga xos kodni (mahalliy kod) keng ishlatish



Download 0,94 Mb.
Pdf ko'rish
bet4/14
Sana08.07.2022
Hajmi0,94 Mb.
#756137
1   2   3   4   5   6   7   8   9   ...   14
Bog'liq
104-19 Nurullayev Bobur DTVP 2 - Bobur Nurullayev (1)

 
standart kutubxonalarda platformaga xos kodni (mahalliy kod) keng ishlatish,
 
(masalan, Jazelle texnologiyasi, ARM arxitekturasining ba'zi protsessorlari 
tomonidan qo'llab-quvvatlanadigan) tezlashtirilgan bytecode ishlov berish imkonini 
beradi.
 
Shootout.alioth.debian.org saytiga ko'ra, etti turli vazifalar uchun Java dasturining 
bajarilish vaqti C / C ++ ga nisbatan o'rtacha 1,5-2 barobar, ba'zi hollarda Java tezroq 
va ba'zi hollarda 7 baravar sekinroq. Boshqa tomondan, ularning ko'pchiligi uchun Java 
mashinasi tomonidan xotira sarflash C / C ++ dasturidan 10 dan 30 baravar yuqori 
bo'ldi. Shuni ham ta'kidlash joizki, Google tomonidan olib borilgan tadqiqotlar shuni 
ko'rsatadiki, o'xshash C ++ dasturlariga qaraganda Java test misollarida sezilarli 
darajada past ishlash va xotirani sarflash ancha yuqori.
 
Java – tilining asosiy yutuqlaridan biri uning tez o’zgaruvchanligidir. Bu til 
dasturlash muhitiga va dasturlash yondashuvlariga tez moslasha oladi. Undan nafaqat 
ilovalar yaratishda, balki Internet uchun dasturlar yaratishda ham foydalanish mumkin.
Xavfsizlik (ishonch yuq kodni xavfsiz ishga tushirish).
Xotirani xavfsiz boshqarish (avtomat ravishda keraksiz ma’lumotlarni yig’adi)
Tarmoqda dasturlash
Ko’p oqimli (Multi-thread) dasturlash
Quyidagi farqlar bilan Java C/C++ dan ajralib turadi

header fayllar yo’q;

preprocessorlar yo’q;

goto yo’q ; 

unicode belgilar;
 



Android platformasi haqida 
Android (yunoncha so’z) odam sifat 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.
2012-yilning uchinchi choragida sotilgan smartfonlarning 75 foizida Android 
operatsion tizimi o’rnatilgan. 
Android ilovasi quyidagilardan iborat. 
Android SDK (View, Activity, ContentProvider, Service, BroadcastReciever, niyat) 
va Android SDKda bir-birining vorisi bo'lmagan Java sinflari. 

ilova bayonoti; 

string, rasm va boshqalar kabi manbalar; 

fayllar. 
Darhaqiqat, ko'plab sinflar mavjud, ammo bular asosiy hisoblanadi. Sariq sarg'ish - 
ishlab chiquvchi to'g'ridan-to'g'ri ishlaydi (xususan ulardan meros olingan). Qolganlari 
juda muhim, ammo kamroq keng tarqalgan bo'lib qo'llaniladi. 
View- barcha foydalanuvchi interfeysi vidjetlari uchun asosiy sinf hisoblanadi (GUI 
vidjetlari). Android dasturining interfeysi bu sinfning vorislari daraxt ko’rinishidadir. 



Ushbu daraxtni muntazam ravishda yaratishingiz mumkin, ammo bu noto'g'ri. 
Foydalanuvchi interfeysi XML (qatlamli fayllar, tartib-fayllar) yordamida aniqlanadi 
(Androidni ifodalash) [3]. 
Activity klassi va uning pastki sinflari foydalanuvchi interfeysi ortidagi mantiqni o'z 
ichiga oladi. Yaqindan tekshirish bo'yicha ushbu sinf ViewModelga Model-View-
ViewModel modelida mos keladi (MVVM). Activityning ostki klassi va foydalanuvchi 
interfeysi o'rtasidagi munosabatlar tur xildir. Odatda, har bir activity ostki klassida u 
bilan bog'langan faqat bitta UI qatlami mavjud va aksincha. Activity sikl jarayoniga 
ega. 
Sikl davrida Activity uchta holatdan birida bo'lishi mumkin: 
Faol va ishlayotgan - bu foydalanuvchi interfeysi oldingi o'rinda (texnik jihatdan - 
faollashtirish stackining yuqori qismida). 
To'xtatildi - bu foydalanuvchi interfeysi e'tiborda chetda qolgan holat. Bu holatda 
kod bajarilmaydi. 
Tugallangan - agar foydalanuvchi interfeysi ko'rinmasa. Ushbu holatda, kod ijro 
etilmaydi. 
ContentProvider sinf va uning voris sinflari MVVM arxitekturasida modelni 
ifodalaydi. Ko'pgina amaliy holatlarda, bu SQLite ma'lumotlar bazasida, URIga 
asoslangan kirish usuli bilan qoplangan. Nazariy jihatdan hech kim dasturchini 
ma'lumotlar bazasidan boshqa narsa asosida ContentProvider yaratish uchun 
ishlatmaydi. Biroq, kontent provayderning mavjud so'rovlar () usuli JDBC ResultSet 
interfeysiga va uning qanday ishlashiga juda o'xshash Cursor obyektini qaytaradi. 
Shuning uchun, kontent provayderlarining haqiqiy maqsadi ma'lumotlar bazasini 
qamrab olishi shubhali bo'lishi mumkin emas [3]. 
Kontent provayderlarining asosiy g'oyasi AJAX ilovalarining arxitekturasiga 
asoslangan bo’ladi. AJAX ilovalari odatda MVVM arxitekturasidan foydalanadi, bu 
yerda model server tomonidagi URI sifatida ifodalanadi (lekin bu HTML5 bilan 
o'zgartirildi). Haqiqatan ham, kontent provayderlarining URI yordamida so'ralishi va 
MIME turlarini qo'llagan holda kengaytma yaratish AJAX ning yadroda ekanligini 
ko'rsatadi.



Uyali qurilmada to'la huquqli munosabat bazasi bo'lishi juda ajoyib! (2005 yil, mobil 
telefonlar hozirgi kunga qaraganda ancha zaif bo’lishgan). Natijada ular ikkita yaxshi 
fikrni bir ContentProvider sinfiga birlashtirdi. Odatda dasturiy ta'minotni ishlab chiqish 
jarayonida bo'lgani kabi, ikkita yaxshi g'oyani birlashtirib turish har doim ham yaxshi 
natijaga olib kelmaydi. Androidda biz kontent provayderlarining bir nechta 
engillashtiradigan dizayniga egamiz. 
Android Service me'moriy dizayni OSGI xizmatlaridan olingan. 
Xizmatlar Google tomonidan ishlaydigan dasturchilar tomonidan yaratildi, chunki 
Androidning oqim modeli tufayli paydo bo'lgan mantiqiy muammo. 
Activity faol va faqat uning foydalanuvchi interfeysi oldingi holatida ishlaydi. 
Boshqa activity interfeysi hozirgi holatni o'zi bilan yopib qo'yadi, oxirgisi, hatto biror 
narsa qilsa ham to'xtaydi. Agar operatsiyani amalga oshirish jarayonida birinchi o'rinda 
bo'lmasa ham, operatsiyani bajarish kerak bo'lsa nima bo'ladi? Activityning yordami 
bilan buni qila olmaysiz. Buni ContentProvider yordami bilan qila olmaysiz, chunki 
ular o'zlarining sikl aylanish davrlariga ega emaslar va ularni ishlatadigan activity faol 
bo'lgan holatda bajarilishi mumkin. 
Bu yerda servis yordamga keladi. Ularni amalga oshirish jarayoni oldingi o'rinlarda 
bo'lmasa ham amalga oshirilishi mumkin. Shunday qilib, agar siz fonda ishlashni 
davom ettiradigan vaqtni qisqartiruvchi operatsiyani amalga oshirayotgan bo'lsangiz 
va activityni boshlaydigan xizmatni yaratishingiz kerak. 
Servis shuningdek, sikl aylanish jarayoniga ham ega. Buning ma'nosi, uni ba'zi 
holatlar uchun Android ilovasi tomonidan uyg'unlashtirishi va ishga tushirishi 
mumkin. 
Yuqorida aytilganidek, Service ContentProvier'dan ko'ra ko'proq umumiy 
maqsadlarga ega. Ma'lumotlar bazasidan foydalanishi mumkin, ammo uning APIsi 
ContentProvider holidagi kabi, ma'lumotlar bazasi bilan bog'liq emas. Ko'p hollarda 
xizmatlar tashqi serverlar bilan bog'lanish uchun ishlatiladi. 
BroadcastReceiver sinfi va uning quyi sinflari Android arxitekturasida 
qo'llaniladigan ta'sir mexanizmida ifodalanadi. 


10 
Albatta, Androidning ishlab chiqaruvchisi Android SDKdan kengayishi bilan 
chegaralanmaydi. U istaganicha o'z sinflarini yozishi mumkin. Ammo ular Android 
SDK sinflari uchun faqat yordamchi sinflar bo'lishadi. 
Android manifesti. 
Android Manifesti - Android dasturining yana bir muhim qismi. Idea Eclipse uchun 
plugin paydo bo'lishidan kelib chiqqan. 
Android manifesti XML fayli bo'lib, bir nechta vazifalarni bajaradi. Google shunday 
ta'riflaydi:

java dastur paketining nomini bildiradi. Paket nomi dastur uchun yagona 
identifikator; 

ilovaning tarkibiy qismlari – xizmatlar va kontent provayderlarini tavsiflab 
beradi. Komponentlarning har birini amalga oshiradigan va ularning qobiliyatlarini 
e'lon qiluvchi sinf nomlarini belgilaydi (masalan, ular qaysi xabarni ko'rib chiqishlari 
mumkin). Bular Android tizimiga qaysi komponentlarni va qaysi sharoitda ishga 
tushirilishini bilish imkonini beradi; 

dastur komponentlari o'z ichiga oladigan jarayonlarni oldindan belgilaydi; 

ilovaning API xavfsiz qismlariga kirish va boshqa ilovalar bilan ishlashga 
ruxsat berishi kerak bo'lgan ruxsatnomalarni e'lon qiladi. Bundan tashqari, dastur 
komponentlariga kirish uchun zarur bo'lgan ruxsatlarni e'lon qiladi; 

ilova ishlayotganda profiling va boshqa ma'lumotni ta'minlaydigan asboblar 
sinflari; 

bular faqat manifestda mavjud bo'lib, dastur ishlab chiqilgan va sinovdan 
o'tgan;

ilova talab qiladigan Android API minimal darajasini e'lon qiladi; 

ilovani bog'lash uchun kutubxonalarni ro'yxatlash zarur. 
Ikkinchi xatboshiga e'tibor bering. Bu degani, muayyan sinf o'zingizning 
ilovangizdagi activity, ContentProvider, BroadcastReceiver yoki xizmatni kengaytirsa, 
bu sinf manifestda tasvirlanmaguncha ishlatilmaydi. 

Download 0,94 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish