Sobes.tech
Junior

Mi az Android erőforrás és milyen adatok tárolhatók benne?

sobes.tech MI

Válasz az MI-től

Az Android erőforrások külső adatok, amelyeket az alkalmazás használ, de nem közvetlenül a kódban vannak beépítve. Ezek el vannak különítve az alkalmazás logikájától, és a projekt gyökérkönyvtárában található res almappákban tárolódnak. Az Android eszközöket biztosít az erőforrások eléréséhez és kezeléséhez.

Az erőforrásokat a következő célokra használják:

  • Az alkalmazás lokalizációja (különböző nyelvek támogatása).
  • A különböző képernyőméretekhez és felbontásokhoz való alkalmazkodás.
  • A dizájn és a logika szétválasztása.
  • Az interfész frissítéseinek egyszerűsítése.

Az erőforrásokban tárolható adatok típusai:

  • Drawable: Különböző grafikus elemek, például képek (PNG, JPEG, GIF), XML alakú formák, kapcsolók stb. A drawable almappákban tárolódnak.
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <solid android:color="#FF0000"/>
        <corners android:radius="10dp"/>
    </shape>
    
  • Layout: XML fájlok, amelyek leírják az Activity, Fragment vagy View felhasználói felületének szerkezetét. A layout almappákban tárolódnak.
    <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="Helló, világ!"/>
    </LinearLayout>
    
  • Mipmap: Optimalizált képek az alkalmazás ikonja számára különböző sűrűségeken. Előnyösebb az ikonokhoz, mint a drawable. A mipmap almappákban tárolódnak (például mipmap-hdpi, mipmap-xhdpi).
  • String: Szöveges értékek, amelyeket az alkalmazásban használnak. Könnyen lokalizálhatóak. XML fájlokban a values almappákban tárolódnak (például values/strings.xml).
    <resources>
        <string name="app_name">Az én alkalmazásom</string>
        <string name="welcome_message">Üdvözlünk!</string>
    </resources>
    
  • Style: Stílusdefiníciók a nézetekhez. Lehetővé teszik a megjelenés attribútumainak központosított kezelését. XML fájlokban a values almappákban tárolódnak (például 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: A teljes Activity vagy alkalmazás témáinak definíciói. Stílusokból öröklődnek. XML fájlokban a values almappákban tárolódnak.
  • Array: Szövegértékek, egész számok vagy erőforrásokra mutató hivatkozások tömbjei. XML fájlokban a values almappákban tárolódnak.
    <resources>
        <string-array name="planets_array">
            <item>Merkúr</item>
            <item>Venusz</item>
            <item>Föld</item>
            <item>Mars</item>
        </string-array>
    </resources>
    
  • Color: Színek hexadecimális formátumban vagy más színekre mutató hivatkozások. XML fájlokban a values almappákban tárolódnak (például values/colors.xml).
    <resources>
        <color name="colorPrimary">#008577</color>
        <color name="colorAccent">#03DAC5</color>
    </resources>
    
  • Dimension: Méretdefiníciók, mint margók, paddingok, betűméretek stb., egységmegjelöléssel (dp, sp, pt, px, mm, in). XML fájlokban a values almappákban tárolódnak (például values/dimens.xml).
    <resources>
        <dimen name="margin_small">8dp</dimen>
        <dimen name="font_size_medium">16sp</dimen>
    </resources>
    
  • Raw: Bármilyen nyers fájl (hang, videó, szövegfájl stb.). Beolvasási áramlaton keresztül érhető el. A raw almappában tárolódnak.
  • XML: Bármilyen XML fájl, amelyet az alkalmazás feldolgozhat (pl. konfigurációs fájlok). A xml almappában tárolódnak.

Az erőforrásokhoz való hozzáférés az automatikusan generált R osztályon keresztül történik. Például a app_name szöveg erőforráshoz való hozzáférés:

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

Az erőforrások használatával rugalmas és könnyen karbantartható Android alkalmazásokat lehet létrehozni.