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: Activity, Fragment немесе View құрылымын сипаттайтын XML файлдар. 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: View үшін стиль анықтамалары. Визуалды атрибуттарды орталықтандыруға мүмкіндік береді. 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: кез келген файлдар, өңделмеген түрде (дыбыс, бейне, мәтіндік файлдар және т.б.). Оларға кіріс ағыны арқылы қол жеткізіледі. 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 қолданбаларын жасауға мүмкіндік береді.