Thursday, 24 April 2014

Андройд хөгжүүлэгчийн хөтөч - 3р бүлэг - Хэрэглэгчийн интерфейс

Хэрэглэгчийн интерфейс
  1. Хэрэглэчийн интерфейсийн тухай
  2. Layout - г зарлах
  3. Цэс байгуулах
  4. Диалог байгуулах
  5. UI event-г зохицуулах
  6. Хэрэглэгчид мэдэгдэх
  7. Стайл болон тема хэрэглэх
  8. Өөрийн темаг бий болгох
  9. AdapterViewег ашигласан өгөгдөл холболт
  10. Энгийн layout object
  11. Андройд view-г зурах арга
Хэрэглэгчийн интерфейсийн тухай - UI-н тухай
Аппликейшн дахь хэрэглэгчийн интерфейс гэдэг нь хэрэглэгчид харагдаж байгаа, хэрэглэгчтэй харьцаж байгаа бүх зүйлийг хэлнэ. Хэрэглэгчинй интерфейс нь View болон ViewGroup-ээс object-уудаас үүснэ. Олон төрлийн View болон ViewGroup байх ба эдгээр нь бүгд View болон классын залгамжлагчид юм.
Дэлгэцэнд харагдаж, хэрэглэгчид хариу үйлдэл үзүүлж байдаг товчлуур, бичвэрийн филд зэргээр хангадаг Widget класс нь View-ээс уламжилсан байдаг. Харин дэлгэцний зохион байгуулалтыг тохируулах Layout класс нь ViewGroup-ээс уламжилсан байдаг.
View дотор layout параметрүүд болон компонэнтууд хадгалагдах ба тэдгээр нь тодорхой тэгш өнцөгт талбайг эзлэн байдаг. View нь хэрэглэгчтэй харилцах хэсэг ба тухайн харилцаатай холбоотой event-г хүлээн авагч юм.
View-н шатчилсан бүтэц - View hierarchy
UI нь доорх зураг шиг View болон ViewGroup-үүдийн шатчилсан бүтцээр зохион байгуулагдана.
 
 
Энэхүү шатчилсан бүтцийг дэлгэцэнд харуулж, активититай холбохын тулд автивити дотор setContentView() функцыг дуудаж, шатчилсан бүтцийн оройн цэг (root node) - ийн холбоосыг (reference)-г параметраар дамжуулна. Оройн цэг маань түүний доторх child-уудад өөрсдийгөө дэлгэцэнд дүрслэхийг тушаана. Андройд нь энэ шатчилсан бүтэд дэх View-уудыг оройгоос нь эхлээд дэс дарааллаар судлаж, тэдний хувилбарыг үүсгэж(instance), parent дээр нь нэмж өгнө.
Зохион байгуулалт - Layout
Шатчилсан бүтцийг үүсгэх болон UI-ийг зохион байгуулах хамгийн энгийн арга бол XML зохион файлыг ашиглах юм. Энэхүү xml файлын элементүүд нь View болон ViewGroup-ууд юм. Эдгээрийн шатчилсан бүтцийг салаа модтой зүйрлэвэл View нь модны хамгийн үзүүрийн цэг, ViewGroup нь модны мөчир болно.
Xml файлын элемент бүр тус тусын жава класстай тохирно. Жишээ нь <TextView> элемент нь TextView классыг үүсгэнэ. Андройд систем нь рисус файлыг уншуулах үед, эдгээр элементүүдийн class-уудыг runtime object болгон байгуулна.
% addView(View) функцийг ашиглан View болон ViewGroup-ийг динамикаар байгуулах боломжтой.
Андройд нь View-үүдийн байршил бүтцийг зохион байгуулахын тулд олон төрлийн зохион байгуулалтыг агуулж байдаг.
Виджет - Widget
Виджет нь хэрэглэгчтэй харилцах интерфейсийг агуулж байдаг. Андройд нь checkbox, button, text field зэрэг үндсэн виджетүүдээс гадна data picker, clock, zoom control зэрэг нарийн виджетүүд байгаа. Хэрвээ хүсвэл хөгжүүлэгч өөрт тохирох виджетийг шинээр байгуулах юм уу, хуучин виджедээс уламжлан байгуулж болно.
UI event
UI-д байгуулсан view болон виджетүүдийг хэрэглэгчийн үйлдэлд хариу өгдөг болгох дараах 2 арга байна.
  1. Event listener-г тодорхойлж, view-д бүртгэх. Энэ нь event-д хариу өгөх хамгийн энгийн арга юм. On<Something>Listener хэлбэрийн нэртэй дотроо On<Something> нэртэй функцуудыг агуулсан интерфейсийг тодорхойлж, дараа нь view дотроо бүртгэх хэрэгтэй. Жишээ нь: View-г моус дарах event-д хариу хариу өгөхөөр тохируулахын тул OnClickListener-г байгуулж, OnClick функцыг тодорхойлсны дараа setOnClickListener() функцийг ашиглан view-д бүртгэнэ.
  2. View-д байгаа функцыг дахин тодрхойлох (overriding). Энэ өөрийн гэсэн view-г байгуулж, түүнийгээ event-д хариу үйлдэл үзүүлдэг болгохын тулд хэрэглэх арга юм. Жишээ нь: хуруугаар хүрэхэд хариу өгөхийн тулд onTouchEvent(), товчлуур дарагдах үзд хариу үйлдэл өгөхийн тулд onKeyDown() функцуудыг тодорхойлж болно.
Цэс
Цэс бол андройд UI-н бас нэгэн чухал хэсэг юм. Цэс нь view-тэй адил шатчилсан бүтэцтэй байна. Цэсний бүтцийг зохион байгуулах шаардлагагүй бөгөөд активити дотор onCreateOptionsMenu(), onCreateContextMenu() зэрэг функцуудыг тодорхойлж, цэсэнд оруулмаар байгаа зүйлсээ тунхаглахад л болно. Андройд нь автоматаар цэсний бүтцийг байгуулж, цэсийг дүрслэх болно. Хэрэглэгч цэс доторх зүйлийг сонгоход андройд нь OnOptionsItemSelected() болон onContextItemSelected() функцыг дуудаж өгдөг. Тиймээс цэсэнд event listener-г бүртгэх шаардлагагүй юм. Мөн xml файл дотор цэсний зүйлүүдийг тунхаглаж болно.
Нэмэлт сэдвүүд
Адабтор - Adapter
View-д урьдаас тодорхойлоогүй(not hard-coded) гадны өгөгдлийг харуулах гэж байгаа үед адабтерыг ашиглана. Adabter нь гадны өгөгдлүүдийг агуулж, AdabterView нь эдгээр өгөдлийг ViewGroup болон View-дээр дэлгэж өгнө.
Adapter нь өгөгдлийн эх үүсвэр болон энэ өгөгдлийг дүрслэх AdabterView хоорондын дамжуулах хэрэгсэл болж өгнө. Жишээ нь өгөгдлийн базаас өгөгдлийг авчрах CursorAdapter болон array-с өгөгдлийг авчрах ArrayAdapter зэргийг дурдаж болно.
Стайл болон Тема
Style болон Theme
Хэрвээ андройдын стандарт загвар таалагдахгүй бол өөрийн гэсэн стайл болон темаг үүсгэж болно.
  • Стайл нь layout-н нэгж элемэнтийг тохируулж болох загвар хэлнэ. Жишээ нь: Дурын бичвэрийн хэмжээ, өнгийг тодорхойлоод layout-н тодорхой нэг элементийн загварыг тодорхойлж болно.
  • Тема нь аппликейшны нэгж активитид тохируулж болох загвар юм. Жишээ нь: панелын арын өнгө, цэсний бичвэрийн өнгө болон хэмжээ гэх мэт.
 Андройд нь өгөгдмөл тема болон стайлтай ба хөгжүүлэгч өөрийн гэсэн тема стайлыг тунхаглах боломжтой юм.
...

No comments:

Post a Comment