Gli interi sono memorizzati in un file generato denominato R.java
nella cartella gen
del progetto. Un campione da un recente lavoro in corso di mine è:
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int cot_logo=0x7f020000;
public static final int cot_logo_small=0x7f020001;
public static final int ic_launcher=0x7f020002;
public static final int icon=0x7f020003;
}
public static final class id {
public static final int password=0x7f060001;
public static final int username=0x7f060000;
}
public static final class layout {
public static final int login_dlg=0x7f030000;
public static final int main=0x7f030001;
}
public static final class string {
public static final int app_name=0x7f050000;
}
public static final class xml {
public static final int config=0x7f040000;
}
}
Come potete vedere, c'è un motivo per il modo in cui vengono generati. Ad ogni categoria di risorse viene assegnata una propria area con cui lavorare.
Un'altra cosa da notare è che vengono generati nell'ordine in cui vengono rilevati in XML/cartelle/ecc. Ad esempio, se si spostano alcune viste nell'XML, è necessario pulire il progetto per rigenerare il file completo R.java
. In caso contrario, i mapping interi non saranno corretti e ti ritroverai (molto probabilmente) uno ClassCastException
, o almeno un comportamento imprevisto.