Junior
Ce sunt resursele în Android și ce date pot fi stocate în ele?
sobes.tech AI
Răspuns de la AI
Resursele în Android sunt date externe utilizate de aplicație, dar nu incluse direct în cod. Ele sunt separate de logica aplicației și stocate în subdirectoare ale folderului res din directorul rădăcină al proiectului. Android oferă un set de instrumente pentru accesul și gestionarea resurselor.
Resursele sunt folosite pentru:
- Localizarea aplicației (suport pentru diferite limbi).
- Adaptarea la diferite dimensiuni și rezoluții ale ecranului.
- Separarea designului de logică.
- Simplificarea actualizărilor interfeței.
Tipurile de date care pot fi stocate în resurse includ:
- Drawable: Diverse elemente grafice precum imagini (PNG, JPEG, GIF), definiții XML ale formelor, comutatoare etc. Sunt stocate în subdirectoare
drawable.<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#FF0000"/> <corners android:radius="10dp"/> </shape> - Layout: Fișiere XML care descriu structura interfeței utilizatorului pentru Activity, Fragment sau View. Sunt stocate în subdirectoare
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="Salut, lume!"/> </LinearLayout> - Mipmap: Imagini optimizate pentru pictogramele aplicației pentru diferite densități. Este preferabil să fie folosite pentru pictograme în loc de
drawable. Sunt stocate în subdirectoaremipmap(de exemplu,mipmap-hdpi,mipmap-xhdpi). - String: Valori de text utilizate în aplicație. Permite localizarea ușoară a textului. Sunt stocate în fișiere XML în subdirectoare
values(de exemplu,values/strings.xml).<resources> <string name="app_name">Aplicația mea</string> <string name="welcome_message">Bine ai venit!</string> </resources> - Style: Definiții de stiluri pentru Views. Permite gestionarea centralizată a atributelor de aspect. Sunt stocate în fișiere XML în subdirectoare
values(de exemplu,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: Definiții de teme aplicate întregii activități sau aplicației. Sunt moștenite din stiluri. Sunt stocate în fișiere XML în subdirectoare
values. - Array: Arrays de valori de text, numere întregi sau referințe la resurse. Sunt stocate în fișiere XML în subdirectoare
values.<resources> <string-array name="planets_array"> <item>Mercur</item> <item>Venus</item> <item>Pământ</item> <item>Marte</item> </string-array> </resources> - Color: Definiții de culori în format hexazecimal sau referințe la alte culori. Sunt stocate în fișiere XML în subdirectoare
values(de exemplu,values/colors.xml).<resources> <color name="colorPrimary">#008577</color> <color name="colorAccent">#03DAC5</color> </resources> - Dimension: Definiții de dimensiuni, cum ar fi margini, padding, dimensiuni de font etc., cu specificarea unităților (dp, sp, pt, px, mm, in). Sunt stocate în fișiere XML în subdirectoare
values(de exemplu,values/dimens.xml).<resources> <dimen name="margin_small">8dp</dimen> <dimen name="font_size_medium">16sp</dimen> </resources> - Raw: Fișiere arbitrare în formă brută (audio, video, fișiere text etc.). Accesul se face prin flux de intrare. Sunt stocate în subdirectoare
raw. - XML: Fișiere XML arbitrare care pot fi parsate în aplicație (de exemplu, fișiere de configurare). Sunt stocate în subdirectoare
xml.
Accesul la resurse se face prin clasa generată automat R. De exemplu, pentru accesarea resursei de tip string app_name:
// Java
String appName = getResources().getString(R.string.app_name);
// Kotlin
val appName = resources.getString(R.string.app_name)
Utilizarea resurselor permite crearea de aplicații Android flexibile și ușor de întreținut.