Android-Ressourcen

In diesem Artikel wird das Konzept der Android-Ressourcen in Xamarin.Android vorgestellt und die Verwendung dieser Ressourcen dokumentiert. Es wird beschrieben, wie Sie Ressourcen in Ihrer Android-Anwendung verwenden, um die Anwendungslokalisierung zu unterstützen, und mehrere Geräte, einschließlich unterschiedlicher Bildschirmgrößen und -dichten.

Übersicht

Eine Android-Anwendung ist selten nur Quellcode. Es gibt oft viele andere Dateien, aus denen eine Anwendung besteht: Videos, Bilder, Schriftarten und Audiodateien, um nur einige zu nennen. Zusammen werden diese Nicht-Quellcodedateien als Ressourcen bezeichnet und während des Buildprozesses kompiliert (zusammen mit dem Quellcode) und als APK für die Verteilung und Installation auf Geräten gepackt:

Paketerstellungsdiagramm

Ressourcen bieten mehrere Vorteile für eine Android-Anwendung:

  • Codetrennung – Trennt Quellcode von Bildern, Zeichenfolgen, Menüs, Animationen, Farben usw. Daher können Ressourcen bei der Lokalisierung erheblich helfen.

  • Ziel für mehrere Geräte : Bietet eine einfachere Unterstützung für verschiedene Gerätekonfigurationen ohne Codeänderungen.

  • Überprüfung zur Kompilierzeit : Ressourcen sind statisch und werden in die Anwendung kompiliert. Auf diese Weise kann die Verwendung der Ressourcen zur Kompilierzeit überprüft werden, wenn die Fehler leicht abgefangen und korrigiert werden können, im Gegensatz zur Laufzeit, wenn es schwieriger zu finden und kostspieliger zu korrigieren ist.

Wenn ein neues Xamarin.Android-Projekt gestartet wird, wird ein spezielles Verzeichnis namens Resources zusammen mit einigen Unterverzeichnissen erstellt:

Ressourcenordner und -inhalte

In der obigen Abbildung sind die Anwendungsressourcen nach ihrem Typ in diesen Unterverzeichnissen organisiert: Bilder werden in das verzeichnis drawable verschoben; -Ansichten werden im Layout-Unterverzeichnis usw. angezeigt.

Es gibt zwei Möglichkeiten, auf diese Ressourcen in einer Xamarin.Android-Anwendung zuzugreifen: programmgesteuert im Code und deklarativ in XML mithilfe einer speziellen XML-Syntax.

Diese Ressourcen werden als Standardressourcen bezeichnet und von allen Geräten verwendet, es sei denn, es wird eine spezifischere Übereinstimmung angegeben. Darüber hinaus kann jeder Ressourcentyp optional über alternative Ressourcen verfügen, die Android für bestimmte Geräte verwenden kann. Beispielsweise können Ressourcen bereitgestellt werden, um das Gebietsschema des Benutzers, die Bildschirmgröße oder das Gerät um 90 Grad vom Hochformat in das Querformat zu drehen usw. In jedem dieser Fälle lädt Android die Ressourcen zur Verwendung durch die Anwendung ohne zusätzlichen Programmieraufwand durch den Entwickler.

Alternative Ressourcen werden durch Hinzufügen einer kurzen Zeichenfolge, die als Qualifizierer bezeichnet wird, am Ende des Verzeichnisses angegeben, das einen bestimmten Ressourcentyp enthält.

Beispielsweise gibt resources/drawable-de die Bilder für Geräte an, die auf ein deutsches Gebietsschema festgelegt sind, während resources/drawable-fr Bilder für Geräte enthält, die auf ein französisches Gebietsschema festgelegt sind. Ein Beispiel für die Bereitstellung alternativer Ressourcen finden Sie in der folgenden Abbildung, in der dieselbe Anwendung ausgeführt wird, wobei sich nur das Gebietsschema des Geräts ändert:

Beispielbildschirme für verschiedene Gebietsschemas

Dieser Artikel enthält einen umfassenden Überblick über die Verwendung von Ressourcen und behandelt die folgenden Themen:

  • Android-Ressourcengrundlagen : Programmgesteuertes und deklaratives Verwenden von Standardressourcen zum Hinzufügen von Ressourcentypen wie Bilder und Schriftarten zu einer Anwendung.

  • Gerätespezifische Konfigurationen : Unterstützung der unterschiedlichen Bildschirmauflösungen und -dichten in einer Anwendung.

  • Lokalisierung : Die Verwendung von Ressourcen zur Unterstützung der verschiedenen Regionen, in der eine Anwendung verwendet werden kann.