Android Ressourcen Organizing & Zugreifen

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 
     
VerzeichnisRessourcentyp
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 -
  • arrays.xml Ressourcen Arrays und vom zugegriffenR.array Klasse.
  • integers.xml für Ressourcenzahlen um und von dem abgerufen R.integer Klasse.
  • bools.xml für Ressourcen boolean und vom abgerufenR.bool Klasse.
  • Colors.xml für Farbwerte und der Zugriff R.colorKlasse.
  • dimens.xml für Dimensionswerte und von der abgerufen R.dimen Klasse.
  • strings.xml für String-Werte, und von der abgerufenR.string Klasse.
  • styles.xml für Stile und vom abgerufen R.styleKlasse.
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.
Share on Google Plus

About ptjqatar

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 التعليقات:

Kommentar veröffentlichen