Junior
Co jsou to zdroje v Androidu a jaká data do nich lze ukládat?
sobes.tech AI
Odpověď od AI
Zdroje v Androidu jsou externí data, která aplikace používá, ale nejsou přímo začleněna do kódu. Jsou oddělena od logiky aplikace a uložena ve vedlejších adresářích složky res v kořenovém adresáři projektu. Android poskytuje sadu nástrojů pro přístup a správu zdrojů.
Zdroje se používají pro:
- Lokalizaci aplikace (podpora různých jazyků).
- Přizpůsobení různým velikostem a rozlišením obrazovek.
- Oddělení designu od logiky.
- Zjednodušení aktualizací rozhraní.
Do zdrojů lze uložit následující typy dat:
- Drawable: Různé grafické prvky, například obrázky (PNG, JPEG, GIF), XML definice tvarů, přepínače atd. Uloženy ve vedlejších adresářích
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 soubory popisující strukturu uživatelského rozhraní aktivity, fragmentu nebo pohledu. Uloženy ve vedlejších adresářích
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, světe!"/> </LinearLayout> - Mipmap: Optimalizované obrázky pro ikony aplikace různých hustot. Upřednostňuje se použití pro ikony než
drawable. Uloženy ve vedlejších adresáříchmipmap(napříkladmipmap-hdpi,mipmap-xhdpi). - String: Textové hodnoty používané v aplikaci. Umožňují snadnou lokalizaci. Uloženy v XML souborech ve vedlejších adresářích
values(napříkladvalues/strings.xml).<resources> <string name="app_name">Moje aplikace</string> <string name="welcome_message">Vítejte!</string> </resources> - Style: Definice stylů pro pohledy. Umožňují centralizované řízení atributů vzhledu. Uloženy v XML souborech ve vedlejších adresářích
values(napří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: Definice témat, která se používají pro celou aktivitu nebo aplikaci. Dědí od stylů. Uloženy v XML souborech ve vedlejších adresářích
values. - Array: Pole řetězcových hodnot, celých čísel nebo odkazů na zdroje. Uloženy v XML souborech ve vedlejších adresářích
values.<resources> <string-array name="planets_array"> <item Merkur</item> <item>Venuše</item> <item>Země</item> <item>Mars</item> </string-array> </resources> - Color: Definice barev ve formátu šestnáctinných hodnot nebo odkazy na jiné barvy. Uloženy v XML souborech ve vedlejších adresářích
values(napříkladvalues/colors.xml).<resources> <color name="colorPrimary">#008577</color> <color name="colorAccent">#03DAC5</color> </resources> - Dimension: Definice velikostí, jako jsou okraje, výplně, velikosti písma atd., s uvedením jednotek (dp, sp, pt, px, mm, in). Uloženy v XML souborech ve vedlejších adresářích
values(napříkladvalues/dimens.xml).<resources> <dimen name="margin_small">8dp</dimen> <dimen name="font_size_medium">16sp</dimen> </resources> - Raw: Libovolné soubory v surovém formátu (audio, video, textové soubory atd.). Přístup přes vstupní proud. Uloženy ve vedlejších adresářích
raw. - XML: Libovolné XML soubory, které lze v aplikaci analyzovat (například konfigurační soubory). Uloženy ve vedlejších adresářích
xml.
Přístup ke zdrojům se provádí přes automaticky generovanou třídu R. Například pro přístup ke stringové zdrojové hodnotě app_name:
// Java
String appName = getResources().getString(R.string.app_name);
// Kotlin
val appName = resources.getString(R.string.app_name)
Použití zdrojů umožňuje vytvářet flexibilní a snadno udržovatelné Android aplikace.