Sobes.tech
Junior

Mis on ressursid Androidis ja milliseid andmeid saab nendes salvestada?

sobes.tech AI

Vastus AI-lt

Androidi ressursid on välised andmed, mida rakenduses kasutatakse, kuid mis ei ole otseselt koodis kaasatud. Need on eraldatud rakenduse loogikast ja salvestatud projekti juurkataloogi res alamkataloogides. Android pakub tööriistakomplekti ressurssidele juurdepääsuks ja nende haldamiseks.

Resursse kasutatakse:

  • rakenduse lokaliseerimiseks (erinevate keelte toetamiseks)
  • erinevate suuruste ja resolutsioonidega ekraanidele kohandamiseks
  • disaini eraldamiseks loogikast
  • kasutajaliidese uuenduste lihtsustamiseks

Resurssides saab salvestada järgmisi andmetüüpe:

  • Drawable: erinevad graafilised elemendid, näiteks pildid (PNG, JPEG, GIF), XML-formaadid, lülitid jms. Salvestatakse drawable alamkataloogides:
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <solid android:color="#FF0000"/>
        <corners android:radius="10dp"/>
    </shape>
    
  • Layout: XML-failid, mis kirjeldavad kasutajaliidese struktuuri Activity, Fragment või View jaoks. Salvestatakse layout alamkataloogides:
    <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="Tere, maailm!"/>
    </LinearLayout>
    
  • Mipmap: optimeeritud pildid rakenduse ikoonide jaoks erinevates tihedustes. Kasutatakse ikoonide jaoks, mitte drawable. Salvestatakse mipmap alamkataloogides, näiteks mipmap-hdpi, mipmap-xhdpi:
  • String: tekstiväärtused, mida kasutatakse rakenduses. Annab lihtsa teksti lokaliseerimise võimaluse. Salvestatakse XML-failides values alamkataloogides, näiteks values/strings.xml:
    <resources>
        <string name="app_name">Minu rakendus</string>
        <string name="welcome_message">Tere tulemast!</string>
    </resources>
    
  • Style: stiilide määratlused, mis võimaldavad keskset stiilide haldamist. Salvestatakse XML-failides values alamkataloogides, näiteks 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: teemade määratlused, mis rakenduvad kogu Activity või rakendusele. Pärivad stiilidest. Salvestatakse XML-failides values alamkataloogides:
  • Array: stringide, täisarvude või ressurssidele viitavate linkide massiivid. Salvestatakse XML-failides values alamkataloogides:
    <resources>
        <string-array name="planets_array">
            <item>Merkur</item>
            <item>Veenus</item>
            <item>Maad</item>
            <item>Mars</item>
        </string-array>
    </resources>
    
  • Color: värvide määratlused heksadesimaalsete väärtuste või teiste värvide viidetena. Salvestatakse XML-failides values alamkataloogides, näiteks values/colors.xml:
    <resources>
        <color name="colorPrimary">#008577</color>
        <color name="colorAccent">#03DAC5</color>
    </resources>
    
  • Dimension: suuruste määratlused, näiteks ääred, paddingud, fondi suurused jms, mõõtühikute (dp, sp, pt, px, mm, in) märkega. Salvestatakse XML-failides values alamkataloogides, näiteks values/dimens.xml:
    <resources>
        <dimen name="margin_small">8dp</dimen>
        <dimen name="font_size_medium">16sp</dimen>
    </resources>
    
  • Raw: mis tahes failid töötlemata kujul (heli, video, tekstifailid jms). Saadaval sisendvoo kaudu. Salvestatakse raw alamkataloogides.
  • XML: mis tahes XML-failid, mida saab rakenduses töödelda (näiteks konfiguratsioonifailid). Salvestatakse xml alamkataloogides.

Resurssidele pääseb ligi automaatselt genereeritud R klassi kaudu. Näiteks tekstiressursile app_name:

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

Resursside kasutamine võimaldab luua paindlikke ja hõlpsasti hooldatavaid Android rakendusi.