R.java – Die R Klasse

Nein Mercedes bringt keine neue Klasse heraus :) Android schon. In jedem Projekt gibt es eine Datei namens R.java. Wenn man in die Datei hineinschaut findet man in etwa folgendes vor:

package net.seeseekey.hello_world;

public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}

Was wir dort sehen ist ein Index aller im Projekt definierten Ressourcen. Diese Datei wird dabei automatisch vom Android Plugin (wenn man Eclipse benutzt) erzeugt. Wird Eclipse nicht benutzt so wird diese Datei jeweils zur Build Time mit Hilfe von Ant neu erzeugt. Man sollte die R.java Datei auch deshalb niemals per Hand bearbeiten.

Mit Hilfe der R Klasse greift man auf die Ressourcen zu welche man angelegt hat, egal ob es sich nun z.B. um String oder Layout Ressourcen handelt.