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 -хавтсан дотор хадгалаарай.
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 файлууд.