Monday, 28 November 2016

Андройд хөгжүүлэгчийн хөтөч - Resource болон аsset

Resource болон аsset
Resourse болон asset нь андройд аппликейшн заавал байх ёстой чухал хэсэг юм. Resource нь аппликейшнд хэрэглэгдэх зураг, дуу, дүрс бичлэг, бичвэр, тема, layout, стайл зэрэг гадны файлууд юм. Андройд аппликейшны бүтцийг харвал resource-д зориулагдсан res/, аsset-д зориулагдсан аsset/ гэсэн хавтаснуудыг агуулж байдаг. Asset-ыг тэр бүр хэрэглээд байдаггүй.
Прожектыг машины хэл рүү хөрвүүлэх (compile) үед андройд хөрвүүлэгч нь res/ хавтсан дахь бүх resource-уудыг дуудах боломжтой R классыг үүсгэдэг. Энэ классыг ашиглан эх код дотор resource-ыг дуудаж хэрэглэдэг. Харин аsset-ыг код дотор хэрэглэхийн тулд аsset файлыг bite stream-ээр унших шаардлагатай болдог.

 Resource-ыг үүсгэх
Андройд нь гурван төрлийн файлаас resource-ийг байгуулна.
1. XML файл
2. Bitmap файл
3. Raw файл
XML файл нь еөнхийдөө хоёр төрөл байдаг. Нэг нь шууд аппликейшнд хөрвүүлэгддэг, нөгөө нэгийг нь resource хөрвүүлэгч(aapt) resource-ийг үүсгэхийн тулд хэрэглэгддэг. Андройд нь resource файлын төрөл болгонд тохирсон resource хөрвүүлэгч(aapt) тэй байдаг.
Resource нь .арк файл(төхөөрөмжид суулгах  файл) дотор хөрвүүлэгдэнэ. Андройд нь эх код дотор resource-ийг дуудаж ашиглах боломжтойгоор R классыг автоматаар байгуулдаг. Энэ класс нь дотроо resource-ийн төрлүүдээс хамааран дэд классуудыг агуулж байдаг.
Resource-ийн төрлөөс хамаарч res/ хавтсан доторх дэд хавтасуудын аль тохирох хавтсанд хадгалах ёстой.
/res/anim/ - frame animation, tweened animation
/res/drawable/ - bitmap болон 9 patches (хэмжээг нт өөрчлөх боломжтой bitmap). Энэ төрлийн resourse-ийг хэрэглэхийн тулд дараах кодыг бичнэ.
                                 mcontext.Resource.getDrawable(R.drawable.imageId)
Энэ хавтсан дахь зурган файлыг санах ойг үр дүнтэй ашиглахын тулд хэмжээг нь багасгадаг. Хэмжээг нь багасгалаа ч гэсэн чанар хэвээрээ байх ба хэрвээ хэмжээг нь багасгахын хүсэхгүй байвал зурган файлаа /res/raw -хавтсан дотор хадгалаарай.
/res/layout/ - Дэлгэцний layout эсвэл дэлгэцний нэг хэсгийн layout-ыг тодорхойлсон xml файлууд
/res/values/ - Олон төрлийн xml файлуудыг агуулна. Энд байгаа файлуудад дурын нэр өгч болох ч стандартчилсан нэртэй файлууд бас байна. Жишээ нь:
  • array.xml - list -ийн утгууд
  • colors.xml - өнгүүд
  • dimens.xml - хэмжээнүүд
  • strings.xml - үг, бичвэр
  • styles.xml - стайл
/res/xml/ - аппликейшн ажиллах явцад Resourse.getXml() функцыг ашиглан уншиж болох дурын xml файлууд
/res/raw/ - төхөөрөмжид хэмжээг багасгагдахгүйгээр шууд хуулагдах raw файлууд.

Massive Open Online Course, MOOC буюу Онлайн нээлттэй хичээл


Одоо цагт интернэтэд холбогдох юм бол хүссэн хичээлээ олж үзэх боломж нээлттэй болжээ. Энэ боломжийг MOOC буюу онлайн нээлттэй хичээл танд олгох болно. Одоогийн байдлаар хамгийн алдартай MOOC бол 
нар юм. 
Сүүлийн үед америкаас гадна европт MOOCыг ихээр гаргах болсон байна. Мөн томоохон байгууллагууд https://www.udacity.com-аар дамжуулан өөрийн технологио заах болсон байна. Эдгээр бүх флатфоруудын нэгтгэсэн хайлтын систем болох https://www.class-central.com  ашиглавал хүссэн хичээлээ олоход арай илүү хялбар болох юм.

Харин програм хөгжүүлэгч нар дараах хоёр github хуудсаар зочлоод үзээрэй.  
https://github.com/prakhar1989/awesome-courses нь MOOC дотроос компьютерийн шинжлэх ухаантай холбоотой хамгийн эрэлттэй үнэгүй хичээлүүдийг  багтаан нэгтгэсэн бол

https://github.com/vhf/free-programming-books нь компьютерийн шинжлэх ухааны үнэгүй номнууд тавьсан байдаг байна.