Heim >Java >javaLernprogramm >Wie kann ich über den Namen statt über die ID auf Android-Ressourcen zugreifen?

Wie kann ich über den Namen statt über die ID auf Android-Ressourcen zugreifen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-27 12:54:16757Durchsuche

How Can I Access Android Resources by Name Instead of ID?

Zugriff auf Ressourcen nach Namen in Android

Bei der Entwicklung von Android-Anwendungen ist es häufig erforderlich, auf Ressourcen wie Zeichenfolgen, Zeichenelemente und Layouts zuzugreifen. Obwohl es üblich ist, die ganzzahlige ID der Ressource zu verwenden, kann es Situationen geben, in denen der Zugriff auf die Ressource über ihren Namen bevorzugt wird.

Methode zum Abrufen der Ressourcen-ID über den Namen

Das Android Das Framework stellt eine Methode zum Abrufen der ID einer Ressource bereit Name:

int resourceId = this.getResources()
    .getIdentifier("nameOfResource", "type", this.getPackageName())

Wobei:

  • dies stellt ein Aktivitäts- oder Kontextobjekt dar.
  • nameOfResource ist der Name der Ressource, wie in der jeweiligen Ressourcendatei definiert (z. B. , strings.xml für Strings).
  • type ist der Ressourcentyp, z. B. drawable für Bilder oder string für text.
  • getPackageName() ruft den Paketnamen Ihrer Anwendung ab.

Beispielverwendung

Zugriff auf eine Zeichenfolgenressource mit dem Namen „app_name " in der strings.xml-Datei:

int stringId = this.getResources()
    .getIdentifier("app_name", "string", this.getPackageName());
String appName = this.getString(stringId);

Ähnlich, um auf eine zeichnbare Ressource mit dem Namen zuzugreifen „image.png“ im Zeichenordner:

int drawableId = this.getResources()
    .getIdentifier("image", "drawable", this.getPackageName());
Drawable drawable = this.getDrawable(drawableId);

Überlegungen zur Leistung

Es ist wichtig zu beachten, dass der Zugriff auf Ressourcen nach Namen mithilfe von getIdentifier() vergleichsweise langsam ist zur direkten Verwendung der Integer-ID. Daher wird empfohlen, diese Methode nur bei Bedarf zu verwenden, beispielsweise wenn ein dynamisches Laden von Ressourcen erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie kann ich über den Namen statt über die ID auf Android-Ressourcen zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn