Junior
Čo sú to zdroje v Androide a aké údaje je možné v nich ukladať?
sobes.tech AI
Odpoveď od AI
Zdroje v Androidu sú vonkajšie údaje, ktoré aplikácia používa, ale nie sú priamo zahrnuté v kóde. Sú oddelené od logiky aplikácie a ukladajú sa v podadresároch priečinka res v koreňovom adresári projektu. Android poskytuje súbor nástrojov na prístup k zdrojom a ich správu.
Zdroje sa používajú na:
- Lokalizáciu aplikácie (podpora rôznych jazykov).
- Prispôsobenie rôznym veľkostiam a rozlíšeniam obrazoviek.
- Oddelenie dizajnu od logiky.
- Zjednodušenie aktualizácie rozhrania.
V zdrojoch môžete uložiť nasledujúce typy dát:
- Drawable: Rôzne grafické prvky, ako obrázky (PNG, JPEG, GIF), XML definície tvarov, prepínače a pod. Ukladajú sa v podadresároch
drawable.<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#FF0000"/> <corners android:radius="10dp"/> </shape> - Layout: XML súbory, ktoré opisujú štruktúru používateľského rozhrania Activity, Fragment alebo View. Ukladajú sa v podadresároch
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="Ahoj, svet!"/> </LinearLayout> - Mipmap: Optimalizované obrázky pre ikony aplikácie rôznych hustôt. Preferovanejšie na použitie pre ikony než
drawable. Ukladajú sa v podadresárochmipmap(napríkladmipmap-hdpi,mipmap-xhdpi). - String: Textové hodnoty používané v aplikácii. Umožňujú jednoduchú lokalizáciu textu. Ukladajú sa v XML súboroch v podadresároch
values(napríkladvalues/strings.xml).<resources> <string name="app_name">Moja aplikácia</string> <string name="welcome_message">Vitajte!</string> </resources> - Style: Definície štýlov pre View. Umožňujú centralizované riadenie atribútov vzhľadu. Ukladajú sa v XML súboroch v podadresároch
values(napríkladvalues/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: Definície tém, ktoré sa používajú pre celú Activity alebo aplikáciu. Dedičia od štýlov. Ukladajú sa v XML súboroch v podadresároch
values. - Array: Pole textových hodnôt, celých čísel alebo odkazov na zdroje. Ukladajú sa v XML súboroch v podadresároch
values.<resources> <string-array name="planets_array"> <item>Merkúr</item> <item>Venuša</item> <item>Zem</item> <item>Mars</item> </string-array> </resources> - Color: Definície farieb vo formáte hexadecimálnych hodnôt alebo odkazov na iné farby. Ukladajú sa v XML súboroch v podadresároch
values(napríkladvalues/colors.xml).<resources> <color name="colorPrimary">#008577</color> <color name="colorAccent">#03DAC5</color> </resources> - Dimension: Definície veľkostí, ako sú okraje, paddingy, veľkosti písma a pod., s uvedením jednotiek (dp, sp, pt, px, mm, in). Ukladajú sa v XML súboroch v podadresároch
values(napríkladvalues/dimens.xml).<resources> <dimen name="margin_small">8dp</dimen> <dimen name="font_size_medium">16sp</dimen> </resources> - Raw: Libovolné súbory v surovom formáte (audio, video, textové súbory a pod.). Prístup k nim je cez vstupný prúd. Ukladajú sa v podadresároch
raw. - XML: Libovolné XML súbory, ktoré môžu byť spracované v aplikácii (napríklad konfiguračné súbory). Ukladajú sa v podadresároch
xml.
Prístup k zdrojom sa vykonáva cez automaticky generovanú triedu R. Napríklad, pre prístup k reťazcovému zdroju app_name:
// Java
String appName = getResources().getString(R.string.app_name);
// Kotlin
val appName = resources.getString(R.string.app_name)
Používanie zdrojov umožňuje vytvárať flexibilné a ľahko udržiavateľné Android aplikácie.