Junior
Šta su resursi u Androidu i koje podatke možemo u njih skladištiti?
sobes.tech АИ
Одговор од АИ
Resursi u Androidu su spoljašnji podaci koje koristi aplikacija, ali nisu direktno uključeni u kod. Oni su odvojeni od logike aplikacije i čuvaju se u podkatalogima foldera res u korenskom direktorijumu projekta. Android pruža skup alata za pristup i upravljanje resursima.
Resursi se koriste za:
- Lokalizaciju aplikacije (podrška za različite jezike).
- Prilagođavanje različitim veličinama i rezolucijama ekrana.
- Odvajanje dizajna od logike.
- Olakšavanje ažuriranja interfejsa.
U resursima se mogu čuvati sledeći tipovi podataka:
- Drawable: Razni grafički elementi poput slika (PNG, JPEG, GIF), XML definicije oblika, prekidači i dr. Čuvaju se u podkatalogima
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 fajlovi koji opisuju strukturu korisničkog interfejsa aktivnosti, fragmenta ili pogleda. Čuvaju se u podkatalogima
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="Zdravo, svet!"/> </LinearLayout> - Mipmap: Optimizovane slike za ikone aplikacije različitih gustina. Preferira se za ikone nego
drawable. Čuvaju se u podkatalogimamipmap(npr.mipmap-hdpi,mipmap-xhdpi). - String: Vrednosti nizova koje se koriste u aplikaciji. Omogućavaju laku lokalizaciju. Čuvaju se u XML fajlovima u podkatalogima
values(npr.values/strings.xml).<resources> <string name="app_name">Moja aplikacija</string> <string name="welcome_message">Dobrodošli!</string> </resources> - Style: Definicije stilova za prikaze. Omogućavaju centralizovano upravljanje atributima izgleda. Čuvaju se u XML fajlovima u podkatalogima
values(npr.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: Definicije tema koje se primenjuju na celu aktivnost ili aplikaciju. Nasleđuju se od stilova. Čuvaju se u XML fajlovima u podkatalogima
values. - Array: Nizovi tekstualnih vrednosti, celih brojeva ili referenci na resurse. Čuvaju se u XML fajlovima u podkatalogima
values.<resources> <string-array name="planets_array"> <item>Merkur</item> <item>Venera</item> <item>Zemlja</item> <item>Mars</item> </string-array> </resources> - Color: Definicije boja u heksadecimalnom formatu ili reference na druge boje. Čuvaju se u XML fajlovima u podkatalogima
values(npr.values/colors.xml).<resources> <color name="colorPrimary">#008577</color> <color name="colorAccent">#03DAC5</color> </resources> - Dimension: Definicije dimenzija, poput margina, paddinga, veličina fontova itd., sa oznakom jedinica (dp, sp, pt, px, mm, in). Čuvaju se u XML fajlovima u podkatalogima
values(npr.values/dimens.xml).<resources> <dimen name="margin_small">8dp</dimen> <dimen name="font_size_medium">16sp</dimen> </resources> - Raw: Bilo koje sirove fajlove u neobrađenom obliku (audio, video, tekstualni fajlovi itd.). Pristup im se vrši putem ulaznog toka. Čuvaju se u
rawpodkatalogu. - XML: Bilo koje XML fajlove koji se mogu parsirati u aplikaciji (npr. konfiguracioni fajlovi). Čuvaju se u
xmlpodkatalogu.
Pristup resursima vrši se putem automatski generisane klase R. Na primer, za pristup string resursu app_name:
// Java
String appName = getResources().getString(R.string.app_name);
// Kotlin
val appName = resources.getString(R.string.app_name)
Korišćenje resursa omogućava kreiranje fleksibilnih i lako održivih Android aplikacija.