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: өлчөмдөрдүн аныктамалары, мисалы, жээктер, paddings, шрифттердин өлчөмдөрү жана башка, өлчөө бирдиктери менен (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: ар кандай файлдар, иштетилбеген формада (дабыш, видео, текст файлдер жана башка). Аларга кирүү ыкмасы — киргизүү агымы аркылуу. 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 колдонмолорун түзүүгө мүмкүндүк берет.