Sobes.tech
Junior

Kas yra ištekliai Android ir kokius duomenis galima juose saugoti?

sobes.tech AI

Atsakymas iš AI

„Android“ ištekliai yra išoriniai duomenys, kurie naudojami programėlėje, tačiau nėra tiesiogiai įtraukti į kodą. Jie atskirti nuo programėlės logikos ir saugomi projekto pagrindinio katalogo poaplapiuose res. Android siūlo įrankių rinkinį, leidžiantį pasiekti išteklius ir juos valdyti.

Ištekliai naudojami:

  • programėlės lokalizacijai (skirtingų kalbų palaikymui)
  • pritaikymui skirtingiems ekranų dydžiams ir raiškai
  • dizaino atskyrimui nuo logikos
  • sąsajos atnaujinimų supaprastinimui

Ištekliai gali saugoti šiuos duomenų tipus:

  • Drawable: įvairūs grafiniai elementai, tokie kaip vaizdai (PNG, JPEG, GIF), XML formos aprašymai, jungikliai ir kt. Saugojami drawable poaplapiuose:
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <solid android:color="#FF0000"/>
        <corners android:radius="10dp"/>
    </shape>
    
  • Layout: XML failai, aprašantys naudotojo sąsajos struktūrą Activity, Fragment ar View. Saugojami layout poaplapiuose:
    <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="Labas, pasauli!"/>
    </LinearLayout>
    
  • Mipmap: optimizuotos vaizdų versijos programėlės piktogramoms skirtinguose tankiuose. Dažniau naudoti piktogramoms nei drawable. Saugojami mipmap poaplapiuose, pvz., mipmap-hdpi, mipmap-xhdpi:
  • String: eilutės reikšmės, naudojamos programėlėje. Lengvai lokalizuojamos. Saugojamos XML failuose values poaplapiuose, pvz., values/strings.xml:
    <resources>
        <string name="app_name">Mano programėlė</string>
        <string name="welcome_message">Sveiki atvykę!</string>
    </resources>
    
  • Style: stiliaus aprašymai, leidžiantys centralizuotai valdyti išvaizdos atributus. Saugojami XML failuose values poaplapiuose, pvz., 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: temų aprašymai, taikomi visai Activity ar programėlei. Paveldi iš stilių. Saugojami XML failuose values poaplapiuose.
  • Array: eilutės reikšmių, sveikųjų skaičių ar nuorodų į išteklius masyvai. Saugojami XML failuose values poaplapiuose:
    <resources>
        <string-array name="planets_array">
            <item>Merkurijus</item>
            <item>Venera</item>
            <item>Žemė</item>
            <item>Maras</item>
        </string-array>
    </resources>
    
  • Color: spalvų apibrėžimai heksadeciminių reikšmių arba nuorodų į kitas spalvas formatu. Saugojami XML failuose values poaplapiuose, pvz., values/colors.xml:
    <resources>
        <color name="colorPrimary">#008577</color>
        <color name="colorAccent">#03DAC5</color>
    </resources>
    
  • Dimension: dydžių apibrėžimai, tokie kaip paraiškos, paddingai, šrifto dydžiai ir kt., su matavimo vienetais (dp, sp, pt, px, mm, in). Saugojami XML failuose values poaplapiuose, pvz., values/dimens.xml:
    <resources>
        <dimen name="margin_small">8dp</dimen>
        <dimen name="font_size_medium">16sp</dimen>
    </resources>
    
  • Raw: bet kokie failai neapdorotu formatu (garsas, vaizdo įrašas, tekstiniai failai ir kt.). Pasiekiami per įvesties srautą. Saugojami raw poaplapiuose.
  • XML: bet kokie XML failai, kuriuos galima apdoroti programėlėje (pvz., konfigūracijos failai). Saugojami xml poaplapiuose.

Prieiga prie išteklių vykdoma per automatiškai sugeneruotą R klasę. Pavyzdžiui, prieigos prie eilutės išteklių app_name:

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

Naudojant išteklius, galima kurti lankstesnes ir lengvai prižiūrimas Android programėles.