Андройд үйлдлийн системийн аппликейшний суурь...

16
Б.Батжаргал Sys&CoTech клуб

Transcript of Андройд үйлдлийн системийн аппликейшний суурь...

Page 1: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Б.Батжаргал Sys&CoTech клуб

Page 2: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Суурь ухагдахуун Андройд үйлдлийн системийн апплкейшнүүд нь

Java програмчлалын хэлэнд бичигддэг. Android SDK tools нь бичсэн кодыг хамт хавсрагдах resourceфайлууд, өгөгдлүүдтэй хамт хөрвүүлэгдэж .apkөргөтгөлтэй нэгэн файл болдог. Энэхүү файлыг Андройд үйлдлийн системтэй утсан дээр аппликейшнээ суулгахад ашиглана.

Page 3: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Аппликейшны ажиллах зарчим Нэгэнт утсан дээр суулгасан аппликейшн нь бие даан өөрийн хүрээнд ажиллаж эхлэнэ.

Андройд үйлдлийн систем нь олон хэрэглэгчийн хандалттай Linux систем ба энд аппликейшн болгон тусдаа нэгэн хэрэглэгч байна.

Үндсэн тохиргоогоор систем аппликейшн болгонд давтагдашгүй нэг ID өгөх ба системийн файлууд нь хандаж зөвшөөрөлтэй тодорхой ID-уудтай байдаг.

Аппликейшн бүр өөрийн гэсэн Virtual Орчинг үүсгэж ажиллах ба ингэснээрээ бусад аппликейшнүүдээсээ хамааралгүй ажиллах боломжтой.

Үндсэн тохиргоогоор аппликейшн бүр нэг Linux процесс болж ажиллах ба систем энэхүү процессийн амьдралын хугацааг зохицуулж байдаг

Page 4: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Энэхүү ажиллах журмаар Андройд нь least privilege буюу хамгийн бага эрх мэдэл(хандалтын хувьд)олгох зарчмыг олгодог. Энэ нь аппликейшн бүр зөвхөн өөрийн хандах эрхтэй хэсгүүд болон файлууд руу хандах эрхийг олгоно.

Ингэснээр маш сайн хамгаалагдсан орчинг бүрдүүлэх ба хандах эрхгүй хэсгүүд рүүаппликейшн нь хандах боломжгүй.

Page 5: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Өгөгдөл дундаа ашиглах Зарим тохиолдолд хэд хэдэн аппликейшн өөр

хоорондоо мэдээлэл солилцох, ашиглах шаардлаг гардаг. Энэ тохиолдолд:

Хоёр аппликейшн нь дундаа процесс ID-тай байх боломжтой байдаг. Ингэснээр нэг нь нөгөөгийнхөөхандах эрхтэй файл, хэсгүүд рүү хандах боломжтой болно

Аппликейшн тодорхой мэдээлэл, хэсгүүд рүүхандахдаа зөвшөөрөл авч болно. Эдгээр эрх болон хязгаарлалтуудыг аппликейшн суулгахдаа тохируулна.

Page 6: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Аппликейшны component-үүд Аппликейшны component-үүдыг Андройд аппликейшн

бүтээх гол хэсгүүд гэж ойлгож болно. Component бүр нь таны системээс таны аппликейшн рүү хандах нэг хандалтын цэг юм. Хэрэглэгчийн хувьп component бүр нь хандах цэг биш ба зарим нь бусдаасаа хамаарч ажилладаг. Гэвч component бүр бие даан орших ба тодорхой үүрэг рольтой байна – хэсэг тус бүр таны аппликейшны ерөнхий ажиллах зарчмыг тодорхойлдог.

4 аппликейшны хэсэг, component-үүд байдаг ба тус бүрдээ ялгаатай зорилго ба хэрхэн бий болох, устгагдахыг тодорхойлох ялгаатай амьдралын хугацаатай байна.

Page 7: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Activities Activity нь хэрэглэгчид харагдах хэсэгтэй нэг цонхыг

дүрсэлж үзүүлдэг. Жишээ нь: и-мейл бичдэг аппликейшн и-мейлүүдийг жагсаалт харуулдаг нэг activity, и-мейл бичих activity мөн уншихад зориулсан activity-тэй байж болно. Жишээнд дурьдсан activity-нүүд хэдийгээр хоорондоо холбогдож ажиллаж зөв хэрэглэгдэх боловч и-мейл бичих аппликейшн зөвшөөрч байгаа тохиолдолд бие даасан гэдэг утгаараа аль ч activity-ийг дуудаж ажиллуулж болно. Жишээ нь: зураг дарах аппликейшн и-мейл бичих activity-ийг дуудан таныг авсан зургаа бусадтай хуваалцах боломж олгох

Page 8: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Service Service гэдэг нь background-д ажилладаг процесс ба

хугацаа шаардлагатай даалгавар биелүүлэх, алсаас хандаж ажиллах процессуудыг зохицуулдаг хэрэглэгчид харагдах хэсэггүй component юм. Жишээ нь: таныг ном унших аппликейшн нээсэн байхад цаана нь хөгжим тоглуулах service ажиллах.

Service-ийг өөр component-ээс дуудаж ажиллуулна.

Page 9: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Content provider Content provider нь дундын хэсэг өгөгдлийг

зохицуулдаг. SQLite өгөгдлийн сан, веб хуудас, эсвэл санах ой зэрэг газар та өгөгдлөө хадгалж болох ба content provider-ийн тусламжтай зөвшөөрөлтэй тохиолдолд өгөгдөл авах, өөрчлөх боломжтой. Жишээ нь: Андройд систем contactsдоторх хүмүүсийн мэдээллийг зохицуулдаг content provider байдаг. Үүний тусламжтай тодорхой нэг хүний мэдээллийг уншиж, өөрчилж болно.

Page 10: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Broadcast receiver Broadcast receiver нь системд цацагдсан мессежид хариу үйлдэл үзүүлэх component юм. Маш олон мессеж системээс цацагддаг ба үүнээс – дэлгэц унтарсныг зарлах, цэнэг дуусч байгааг зарлах, зураг дарагдсаныг зарлах мессежүүд. Мөн аппликейшн өөрөө broadcast мессеж илгээх боломжтой, жишээ нь ямар нэгэн файл татаж, хуулж дууссаныг илтгэж мессеж илгээх.

Broadcast receiver нь хэрэглэгчид харагдах хэсэггүй боловч төлөвийн мөрөнд тодорхой мэдээллүүдийг дүрсэлж болдог.

Broadcast receiver ихэвчлэн бусад component-үүдийг дуудах, тэдэн рүү нэвтрэх гарц болж ажиллах ба маш бага ажлыг гүйцэтгэх үүрэгтэй.

Page 11: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Андройд системийн нэг онцгой зүйл нь аль ч аппликейшн өөр нэгэн аппликейшны component-ийг дуудаж болдог явдал юм. Та ингэснээр зарим зүйлийг өөрөө хийлгүй тэрхүү үйлдлийг гүйцэтгэдэг component-ийг дуудахад хангалттай байдаг.

Ямар нэгэн component дуудаж ажиллуулсан тохиолдолд тухайн component-ийн харъяалагдах аппликейшны процесс ажиллаж эхлэн системээс idавдаг. Ингэснээр аливаа аппликейшн цор ганц эхлэх цэггүй байх ба main() функц байдаггүй.

Page 12: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Component-үүдийг идэвхжүүлэх Дээр дурсдсан 4 component-үүдийн 3 нь(activities,

services, broadcast receivers) intent гэх дундын асинхрон мессежээр үүсгэгдэнэ. Intent нь нэг component-ийг нөгөөхтэй нь run time орчинд холбож өгнө.

Intent объект үүсгэж мессеж үүсгэх тодорхой нэг component-ийг эсвэл нэгэн төрлийн component-ийг дуудна.

Page 13: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Manifest файл Андройд систем нь аливаа нэг component-ийг

эхүүлэхээсээ өмнө тухайн component-ийг байгаа эсэхийг мэддэг байх шаардлагатай. Энэ шаардлагын үүднээс AndroidManifest.xml файлыг уншина. Энэхүүфайлд мөн: Тухайн аппликейшнд шаардагдах зөвшөөрлүүд

Хамгийн бага API буюу ажиллах Андройдын үйлдлийн системийн хувилбар

Шаардлагатай hardware, software-үүдийг зарлах (камер, bluetooth, multitouch screen …)

Шаардлагатай API-ийн холбоосууд (Google Map-ийн API)

гэх мэт ...

Page 14: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Андройд үйлдлийн системтэй маш олон төрлийн төхөөрөмж байдаг тул та өөрийн бичсэн аппликейшныг шаардлага хангахгүй төхөөрөмж дээр суулгахаас зайлсхийх хэрэгтэй. Үүний тулд manifest файлд аппликейшны шаардлагуудыг мөн тодорхойлж өгнө. Үүнд: Дэлгэцийн хэмжээ болон нягтрал Оролтын төхөөрөмжүүд Төхөөрөмжийн онцгой шаардлагууд Платформын хувилбар

Google play дээр аппликейшнээ тавихад manifestфайлыг уншиж таталтын хязгаарладаг учир эдгээр шаардлагуудыг тодорхойлох нь чухал юм.

Page 15: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Аппликейшны нөөц буюу resource Андройд аппликейшн нь зөвхөн кодоос бүтэхгүй ба

дуу, зураг дүрслэхтэй холбоотой олон зүйлстэй холбогдож ажилладаг. Жишээ нь хөдөлгөөнт зураг, цэс, загвар, өнгө зэргийг resource-д хадгалах нь илүү. Ингэж эх кодоос салгаж өгсөнө тодорхой хэсэгт шинэчлэл хийхэд давуу талыг олгоно.

Таны програмдаа оруулж өгөх resource бүрт SDK хэрэгслүүд нь давтагдашгүй нэг id оноож өгөх ба энэхүү id-г хэрэглэгчийн харагдах хэсгийг угсрах XML файлд ашиглаж болно.

Page 16: Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд

Recource тусдаа байх маш том давуу тал нь тохирсон recource-ийг тохирсон тохиргоонд нь харуулах явдал юм. Жишээ нь UI үүсгэхэд ашигласан текстүүдийг өөр өөр хэл дээр бичэн хадгалсанаар тохиргоо өөрчлөгдөхөд ямар нэгэн асуудалгүй хандах боломжтой.