Sobes.tech
Junior

Kas ir resursi Android un kādus datus tajos var glabāt?

sobes.tech AI

Atbilde no AI

Resursi Android ir ir ārējie dati, kas tiek izmantoti lietotnē, bet nav tieši iekļauti kodā. Tie ir atdalīti no lietotnes loģikas un glabājas projekta saknes katalogā res apakškatalogos. Android nodrošina rīku komplektu piekļuvei resursiem un to pārvaldībai.

Resursi tiek izmantoti:

  • lietotnes lokalizācijai (atbalsts dažādām valodām)
  • pielāgošanai dažādiem ekrāna izmēriem un izšķirtspējām
  • dizaina atdalīšanai no loģikas
  • saskarnes atjauninājumu vienkāršošanai

Resursos var glabāt šādus datu tipus:

  • Drawable: dažādi grafiskie elementi, piemēram, attēli (PNG, JPEG, GIF), XML definīcijas formām, slēdži un tamlīdzīgi. Glabājas drawable apakškatalogos:
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <solid android:color="#FF0000"/>
        <corners android:radius="10dp"/>
    </shape>
    
  • Layout: XML faili, kas apraksta lietotāja saskarnes struktūru Activity, Fragment vai View. Glabājas layout apakškatalogos:
    <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="Sveiki, pasaule!"/>
    </LinearLayout>
    
  • Mipmap: optimizētas attēlu versijas lietotnes ikonām dažādās blīvuma pakāpēs. Biežāk izmantot ikonām nekā drawable. Glabājas mipmap apakškatalogos, piemēram, mipmap-hdpi, mipmap-xhdpi:
  • String: teksta vērtības, kas tiek izmantotas lietotnē. Ļauj viegli lokalizēt tekstu. Glabājas XML failos values apakškatalogos, piemēram, values/strings.xml:
    <resources>
        <string name="app_name">Mana lietotne</string>
        <string name="welcome_message">Laipni lūdzam!</string>
    </resources>
    
  • Style: stilu definīcijas, kas ļauj centralizēti pārvaldīt izskata atribūtus. Glabājas XML failos values apakškatalogos, piemēram, 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: tēmu definīcijas, kas tiek piemērotas visai Activity vai lietotnei. Manto no stiliem. Glabājas XML failos values apakškatalogos:
  • Array: virkņu vērtību, veselu skaitļu vai resursu saiteņu masīvi. Glabājas XML failos values apakškatalogos:
    <resources>
        <string-array name="planets_array">
            <item>Merkurijs</item>
            <item>Venera</item>
            <item>Zeme</item>
            <item>Mars</item>
        </string-array>
    </resources>
    
  • Color: krāsu definīcijas heksadecimālo vērtību vai citu krāsu saiteņu formātā. Glabājas XML failos values apakškatalogos, piemēram, values/colors.xml:
    <resources>
        <color name="colorPrimary">#008577</color>
        <color name="colorAccent">#03DAC5</color>
    </resources>
    
  • Dimension: izmēru definīcijas, piemēram, malas, paddingi, fontu izmēri un tamlīdzīgi, ar mērvienību (dp, sp, pt, px, mm, in). Glabājas XML failos values apakškatalogos, piemēram, values/dimens.xml:
    <resources>
        <dimen name="margin_small">8dp</dimen>
        <dimen name="font_size_medium">16sp</dimen>
    </resources>
    
  • Raw: jebkuri faili neapstrādātā formātā (balss, video, teksta faili un tamlīdzīgi). Pieejami caur ievades plūsmu. Glabājas raw apakškatalogos.
  • XML: jebkuri XML faili, kurus var parsēt lietotnē (piemēram, konfigurācijas faili). Glabājas xml apakškatalogos.

Pieeja resursiem tiek veikta caur automātiski ģenerētu klasi R. Piemēram, piekļuve teksta resursam app_name:

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

Resursu izmantošana ļauj izveidot elastīgas un viegli uzturamas Android lietotnes.