Sobes.tech
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);