W Androidzie zasobem może być plik:
lub wartość np. identyfikator dowolnej kontrolki.
Wszystkie grafiki umieszczane są w podkatalogach:
Jeśli w projekcie jest zaznaczona opcja menu Project->Build Automatically, to po każdej zmianie w plikach zasobów jest autogenerowana klasa z identyfikatorami tychże zasobów - R. Umieszczona jest ona w podkatalogu gen/com.example.appname. Dzięki tej klasie możemy odwoływać się w kodzie programu do poszczególnych zasobów. Bez względu na ilość plików zasobów istnieje tylko jeden plik R.java. Ma on przykładowo następującą postać:
package com.example.appname;
public final class R {
public static final class attr {
}
public static final class dimen {
public static final int activity_horizontal_margin=0x7f040000;
public static final int activity_vertical_margin=0x7f040001;
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
}
public static final class id {
public static final int action_settings=0x7f080004;
public static final int btnWitaj=0x7f080002;
public static final int btnZegnaj=0x7f080003;
public static final int edtImie=0x7f080000;
public static final int textView1=0x7f080001;
}
public static final class layout {
public static final int activity_main=0x7f030000;
}
public static final class menu {
public static final int main=0x7f070000;
}
public static final class string {
public static final int action_settings=0x7f050001;
public static final int app_name=0x7f050000;
public static final int podaj_swoje_imie=0x7f050002;
public static final int powiedz_witaj=0x7f050003;
public static final int powiedz_zegnaj=0x7f050004;
}
public static final class style {
public static final int AppBaseTheme=0x7f060000;
public static final int AppTheme=0x7f060001;
}
}
Do zasobów w pliku layoutu odwołujemy się za pomocą składni @[+]resource_type/resource_name, np: @string/app_name lub @+id/btnWitaj. Natomiast odwołanie do nich z kodu aplikacji wygląda następująco: R.resource_type.resource_name, np: R.string.app_name oraz R.id.btnWitaj.