Junior
Ի՞նչ է պարունակվում Android ռեսուրսներում և ինչ տվյալներ կարելի է այնտեղ պահել:
sobes.tech AI
Պատասխան AI-ից
Android ռեսուրսները պարունակում են տարբեր արտաքին տվյալներ ծրագրի համար, ինչպիսիք են պատկերները, տեքստային տողերը, ձայնային ֆայլերը, ոճերը, թեմաները, օգտագործողի ինտերֆեյսի դասավորությունները և այլն, որոնք անմիջապես չեն ինտեգրվում կոդին: Դրանք թույլ են տալիս առանձնացնել տվյալները ծրագրի տրամաբանությունից, հեշտացնել տեղայնացումը և կառավարել տարբեր սարքի կոնֆիգուրացիաներ (էկրանային չափս, ուղղություն և այլն):
Android ռեսուրսներում կարելի է պահել հետևյալ տիպի տվյալներ՝
- Տողեր: Տեքստային տողեր, որոնք օգտագործվում են ծրագրում: Պահվում են
strings.xmlֆայլերում: - Չափումներ: Մասշտաբներ, ինչպիսիք են dp, sp, px: Պահվում են
dimens.xmlֆայլերում: - Գույներ: Գույների սահմանումներ ARGB կամ RGB ձևաչափով: Պահվում են
colors.xmlֆայլերում: - Ոճեր և թեմաներ: Ատրիբուտների հավաքածու՝ արտաքին տեսքի համար UI տարրերի և ծրագրի ընդհանուր տեսքի համար: Պահվում են
styles.xmlևthemes.xmlֆայլերում: - Դասավորություններ: XML ֆայլեր UI տարրերի կառուցվածքը և տեղադրումը սահմանելու համար: Պահվում են
layout/թղթապանակում: - Նկարներ և պատկերակներ: PNG, JPEG, GIF, WebP ֆորմատների ֆայլեր, ինչպես նաև վեկտորային ռեսուրսներ: Պահվում են
drawable/ևmipmap/թղթապանակներում: - Ձայնային և տեսանյութային ֆայլեր: Ձայնային և տեսանյութային ռեսուրսներ: Պահվում են
raw/թղթապանակում: - XML ֆայլեր տարբեր տեսակների: Այլ XML ֆայլեր, որոնք օգտագործվում են կոնֆիգուրացիայի կամ տվյալների համար: Պահվում են
xml/թղթապանակում: - Ֆոնտեր: Ֆոնտերի ֆայլեր (օրինակ, .ttf, .otf): Պահվում են
font/թղթապանակում: - Աнимаցիաներ: Աнимаցիաների սահմանումներ (tween, frame, state list): Պահվում են
anim/ևanimator/թղթապանակներում:
Հասանելիությունը ռեսուրսներին իրականացվում է R դասի միջոցով, որը պարունակում է յուրաքանչյուր ռեսուրսի ստատիկ նույնականացուցիչներ:
// Օրինակ՝ տողային ռեսուրսին հասնելու համար
String appName = getResources().getString(R.string.app_name);
// Օրինակ՝ պատկերին հասնելու համար
Drawable icon = getResources().getDrawable(R.drawable.app_icon);
// Օրինակ՝ դասավորության բեռնում
setContentView(R.layout.activity_main);