Es gibt viele mehr Einzelteile, die Sie verwenden, um eine gute Android-Anwendung zu bauen. Neben der für die Anwendung Kodierung, Sie kümmern sich verschiedene andere Ressourcen wie statische Objekte, die Ihr Code verwendet, wie Bitmaps, Farben Layoutdefinitionen, Benutzerschnitt Saiten, animation Anweisungen und vieles mehr. Diese Ressourcen werden immer separat in verschiedenen Unterverzeichnissen unter aufrechterhalten res /Verzeichnis des Projekts.
Dieses Tutorial wird Ihnen erklären, wie Sie Ihre Anwendungsressourcen zu organisieren, geben Sie alternative Ressourcen und greifen Sie in Ihren Anwendungen.
Organisieren von Ressourcen in Eclipse
Sie sollten jede Art von Ressourcen in einem bestimmten Unterverzeichnis Ihres Projekts platzieren res / Verzeichnis. Zum Beispiel, hier ist die Dateihierarchie für ein einfaches Projekt:
MyProject/ src/ MyActivity.java res/ drawable/ icon.png layout/ activity_main.xml info.xml values/ strings.xml
Die res / Verzeichnis enthält alle Ressourcen, die in verschiedenen Unterverzeichnisse. Hier haben wir eine Bildressource, zwei Layout-Ressourcen und einen String-Ressourcendatei. Folgende Tabelle gibt einen ausführlich über die im Inneren Projekt res / Verzeichnis unterstützt Ressourcen-Verzeichnisse.
Organisieren Ressource im Android Studio
MyProject/ src/ main/ java/ MyActivity.java res/ drawable/ icon.png layout/ activity_main.xml info.xml values/ strings.xml
Verzeichnis | Ressourcentyp |
---|---|
anim / | XML-Dateien, die Eigentum Animationen zu definieren. Sie werden in res / anim / Ordner gespeichert und von dem abgerufen R.anim Klasse. |
Farbe / | XML-Dateien, die einen Zustand Liste der Farben zu definieren.Sie werden in res / Farbe / gespeichert und von dem abgerufenR.color Klasse. |
drawable / | Bilddateien wie .png, .jpg, .gif oder XML-Dateien, die in Bitmaps erstellt werden, state-Listen, Formen, Animationen ziehbar. Sie werden in res / drawable Gespeicherte / und von dem abgerufenR.drawable Klasse. |
Layout / | XML-Dateien, die eine Benutzeroberfläche Layout zu definieren.Sie werden in res / layout / gespeichert und von der abgerufenR.layout Klasse. |
Menü / | XML-Dateien, Anwendungsmenüs, wie ein Optionsmenü, das Kontextmenü oder Untermenü zu definieren. Sie werden in res / Menü gespeichert / und von dem abgerufen R.menu Klasse. |
raw / | Beliebige Dateien in ihrer rohen Form zu speichern. Sie müssen rufen Resources.openRawResource () mit der Ressourcen-ID, das ist R.raw.filename solche Raw-Dateien zu öffnen. |
Werte / | XML-Dateien, die einfache Werte, wie Strings, Ganzzahlen und Farben enthalten. Zum Beispiel, hier sind einige Dateinamenkonventionen für Ressourcen, die Sie in diesem Verzeichnis zu erstellen -
|
xml / | Beliebige XML-Dateien, die zur Laufzeit durch den Aufruf gelesen werden kann Resources.getXML (). Sie können verschiedene Konfigurationsdateien hier die zur Laufzeit verwendet werden soll zu speichern. |
Alternative Ressourcen
Ihre Bewerbung sollte alternative Ressourcen bereitzustellen, um bestimmte Gerätekonfigurationen zu unterstützen. Zum Beispiel, sollten Sie alternative ziehfähigen Ressourcen (ieimages) für unterschiedliche Bildschirmauflösung und alternativen String-Ressourcen für verschiedene Sprachen enthalten. Zur Laufzeit erkennt Android die aktuelle Gerätekonfiguration und die entsprechenden Ressourcen für Ihre Anwendung.
Um konfigurationsspezifischen Alternativen für eine Reihe von Ressourcen geben, befolgen Sie die folgenden Schritte -
- Erstellen Sie ein neues Verzeichnis, in res / in der Form mit dem Namen<resources_name> - <config_qualifier>. Hier resources_namewird eine der in der obigen Tabelle genannten Ressourcen wie Layout drawable usw. Die werden Qualifier wird eine individuelle Konfiguration für die diese Ressourcen verwendet werden sollen. Sie können offizielle Dokumentation für eine vollständige Liste der Qualifikation für verschiedene Arten von Ressourcen zu überprüfen.
- Speichern Sie die jeweiligen alternativen Ressourcen in dieses neue Verzeichnis. Die Ressourcendateien müssen exakt die gleichen wie die Standard-Ressource-Dateien benannt werden, wie im Beispiel unten gezeigt, aber diese Dateien werden Inhalte spezifisch für die Alternative. Zum Beispiel wird, obwohl Bilddateiname gleich sein, aber für hochauflösenden Bildschirm, wird seine Entschließung hoch sein.
Unten ist ein Beispiel, die Bilder für eine Standardbildschirm und alternative Bilder gibt für hochauflösenden Bildschirm.
MyProject/ src/ main/ java/ MyActivity.java res/ drawable/ icon.png background.png drawable-hdpi/ icon.png background.png layout/ activity_main.xml info.xml values/ strings.xml
Unten ist ein weiteres Beispiel, das Layout für eine Standardsprache und alternative Layouts für arabische Sprache angibt.
MyProject/ src/ main/ java/ MyActivity.java res/ drawable/ icon.png background.png drawable-hdpi/ icon.png background.png layout/ activity_main.xml info.xml layout-ar/ main.xml values/ strings.xml
Zugriff auf Ressourcen
Während Ihres Anwendungsentwicklung müssen Sie definierten Ressourcen entweder im Code oder in Ihrem Layout XML-Dateien zugreifen. Folgenden Abschnitt wird erläutert, wie Sie Ihre Ressourcen in den beiden Szenarien zugreifen -
Zugriff auf Ressourcen in-Code
Wenn Ihr Android-Anwendung kompiliert wird, eine R bekommt Klasse generiert, die Ressourcen-IDs für alle in Ihrer Ressourcen enthält res /Verzeichnis. Sie können R-Klasse können Sie die Ressource mit Unterverzeichnis und Ressourcennamen oder direkt Ressource-ID zugreifen.
Beispiel
Für den Zugriff auf res / drawable / myimage.png und stellen eine Imageview Sie verwenden Sie folgenden Code:
ImageView imageView = (ImageView) findViewById(R.id.myimageview); imageView.setImageResource(R.drawable.myimage);
Hier erste Zeile des Codes nutzen R.id.myimageview um Imageview mit id definiert bekommen myimageview in einem Layout-Datei. Zweite Codezeile nutzt R.drawable.myimage um ein Bild mit Namen zu erhalten myimageverfügbar unter der in ziehfähige Unterverzeichnis / res.
Beispiel
Betrachten nächste Beispiel, wo res / Werte / strings.xml hat folgende Definition:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello, World!</string> </resources>
Jetzt können Sie den Text auf einer Textview-Objekt mit der ID msg mit einem Ressourcen-ID wie folgt festgelegt:
TextView msgTextView = (TextView) findViewById(R.id.msg); msgTextView.setText(R.string.hello);
Beispiel
Betrachten Sie ein Layout res / layout / activity_main.xml mit folgender Definition:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a Button" /> </LinearLayout>
Diese Anwendungscode wird dieses Layout für eine Aktivität zu laden, in der OnCreate () -Methode wie folgt -
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); }
Zugriff auf Ressourcen in XML
Betrachten Sie die folgende Ressource XML res / Werte / strings.xml Datei, die eine Farbressource und eine Zeichenfolge-Ressource enthält -
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="opaque_red">#f00</color> <string name="hello">Hello!</string> </resources>
Jetzt können Sie diese Ressourcen in der folgenden Layout-Datei verwenden, um die Textfarbe und Textzeichenfolge wie folgt festgelegt:
<?xml version="1.0" encoding="utf-8"?> <EditText xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="@color/opaque_red" android:text="@string/hello" />
Nun, wenn Sie durch vorherige Kapitel wieder, wo ich haben erklärt, gehenHallo Welt! Beispiel, und ich bin sicher, Sie werden Verständnis haben für alle Konzepte in diesem Kapitel erläutert. So empfehle ich zum vorherigen Kapitel für das Arbeitsbeispiel zu überprüfen und zu überprüfen, wie ich verschiedene Ressourcen zu sehr grundlegenden Ebene verwendet.
0 التعليقات:
Kommentar veröffentlichen