Sobes.tech
Junior

Ի՞նչ են Android-ի ռեսուրսները և ինչ տվյալներ կարելի է դրանց մեջ պահել:

sobes.tech AI

Պատասխան AI-ից

Android- ում ռեսուրսները արտաքին տվյալներ են, որոնք օգտագործվում են հավելվածով, բայց չեն ներառված ուղիղ կոդում: Նրանք բաժանված են հավելվածի տրամաբանությունից և պահվում են res պանակի ենթապանակներում՝ նախագծի հիմնական պանակում: Android-ը տրամադրում է գործիքների հավաքածու՝ ռեսուրսներին հասանելիություն և կառավարում:

Ռեսուրսները օգտագործվում են՝

  • հավելվածի տեղայնացման համար (տարբեր լեզուների աջակցություն)
  • տարբեր չափերի և լուծաչափերի էկրանների համար հարմարեցնելու համար
  • դիզայնը տրամաբանությունից բաժանելու համար
  • ինտերֆեյսի թարմացումները հեշտացնելու համար

Ռեսուրսներում կարելի է պահել՝

  • Drawable: տարբեր գրաֆիկական տարրեր, ինչպես պատկերներ (PNG, JPEG, GIF), XML ձևավորումներ, անցումներ և այլն: պահվում են drawable ենթապանակներում:
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <solid android:color="#FF0000"/>
        <corners android:radius="10dp"/>
    </shape>
    
  • Layout: XML ֆայլեր, որոնք նկարագրում են Activity, Fragment կամ View-ի կառուցվածքը: պահվում են layout ենթապանակներում:
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Բարև, աշխարհ!"/>
    </LinearLayout>
    
  • Mipmap: օպտիմիզացված պատկերներ հավելվածի նշանների համար տարբեր խտությունների համար: Ավելի նախընտրելի է օգտագործել նշանների համար, քան drawable: պահվում են mipmap ենթապանակներում՝ օրինակ mipmap-hdpi, mipmap-xhdpi:
  • String: տողային արժեքներ, որոնք օգտագործվում են հավելվածում: Հեշտ է տեղայնացնել տեքստը: պահվում են XML ֆայլերում՝ values ենթապանակներում, օրինակ՝ values/strings.xml:
    <resources>
        <string name="app_name">Իմ հավելվածը</string>
        <string name="welcome_message">Բարի գալուստ!</string>
    </resources>
    
  • Style: ոճերի սահմանումներ, որոնք կենտրոնական կառավարում են տեսքի հատկությունները: պահվում են XML ֆայլերում՝ values ենթապանակներում, օրինակ՝ values/styles.xml:
    <resources>
        <style name="MyTextViewTextAppearance" parent="android:TextAppearance.Medium">
            <item name="android:textColor">#000000</item>
            <item name="android:textStyle">bold</item>
        </style>
    </resources>
    
  • Theme: թեմաների սահմանումներ, որոնք կիրառվում են ամբողջ Activity կամ հավելվածի վրա: ժառանգում են ոճերից: պահվում են XML ֆայլերում՝ values ենթապանակներում:
  • Array: տողային արժեքների, ամբողջ թվերի կամ ռեսուրսների հղումների զանգվածներ: պահվում են XML ֆայլերում՝ values ենթապանակներում:
    <resources>
        <string-array name="planets_array">
            <item>Մերկուրի</item>
            <item>Վեներա</item>
            <item>Երկիր</item>
            <item>Մարս</item>
        </string-array>
    </resources>
    
  • Color: գույների սահմանումներ հիսթոգրական արժեքների կամ այլ գույների հղումների ձևաչափով: պահվում են XML ֆայլերում՝ values ենթապանակներում, օրինակ՝ values/colors.xml:
    <resources>
        <color name="colorPrimary">#008577</color>
        <color name="colorAccent">#03DAC5</color>
    </resources>
    
  • Dimension: չափերի սահմանումներ, ինչպիսիք են մարժանները, padding-ները, տառաչափերի չափերը և այլն, նշելով միավորները (dp, sp, pt, px, mm, in): պահվում են XML ֆայլերում՝ values ենթապանակներում, օրինակ՝ values/dimens.xml:
    <resources>
        <dimen name="margin_small">8dp</dimen>
        <dimen name="font_size_medium">16sp</dimen>
    </resources>
    
  • Raw: ցանկացած ֆայլ՝ անշեղ տեսքով (ձայն, տեսանյութ, տեքստային ֆայլեր և այլն): Դоступը նրանց via input stream: պահվում են raw ենթապանակներում:
  • XML: ցանկացած XML ֆայլեր, որոնք կարող են վերլուծվել հավելվածում (օրինակ՝ կոնֆիգուրացիոն ֆայլեր): պահվում են xml ենթապանակներում:

Դоступը ռեսուրսներին իրականացվում է ավտոմատորեն ստեղծված R դասի միջոցով: Օրինակ՝ app_name տողային ռեսուրսին հասնելու համար:

// Java
String appName = getResources().getString(R.string.app_name);
// Kotlin
val appName = resources.getString(R.string.app_name)

Ռեսուրսների օգտագործումը թույլ է տալիս ստեղծել ճկուն և հեշտ պահպանվող Android հավելվածներ։