2010-11-24 7 views
5

Wenn Sie Android-Anwendung entwickeln, werden Sie eine solche ID Namensgebung in XML-Dateien Sichtweisen und Layouts auftreten:Naming ID in Android-Anwendungen

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/new_game" 
      android:icon="@drawable/ic_new_game" 
      android:title="@string/new_game" /> 
    <item android:id="@+id/quit" 
      android:icon="@drawable/ic_quit" 
      android:title="@string/quit" /> 
</menu> 

und ich frage mich wirklich, warum eine solche Namensgebung ids angewendet wird. Es ist wegen Linux? Was bedeutet diese Benennung - @+id/... --has?

Wenn ich mir android:icon Attribut anschaue kann ich interpretieren, dass es bedeutet ic_new_game befindet sich unter ziehbaren Ordner und @ bedeutet "befindet sich bei" oder ich nehme einfach an.

Aber Benennung ID-Attribute sind ein bisschen anders, weil sie auch + Zeichen haben. Kann mir jemand helfen, diese Konvention zu verstehen?

Danke.

Antwort

5

Es ist nur eine Namenskonvention, die von den Android-Entwicklern definiert wird. Die + wird nur verwendet, wenn Sie eine neue ID für etwas definieren möchten. Ansonsten referenzieren Sie einfach wie @id/....

Die @drawable/... und @string/... stellen nur einen Verweis auf einige Ressourcen. Wo zeichnende Referenzen automatisch für .png, .jpg, .gif und .xml Dateien erstellt werden, die sich in einem Ihrer drawable Verzeichnisse befinden. Der Dateiname Ihrer Datei ist der Bezeichner.

Die String-Referenzen werden erstellt, wenn eine XML-Datei mit String-Tags wie dieser vorhanden ist <string name="some_name">Some Name</string>. Der Bezeichner für Zeichenfolgen ist das, was Sie als Namensargument definieren. In diesem Beispiel wäre es @string/some_name.

Gleiches gilt für Ihre Layouts. Sie können auf sie über @layout/... zugreifen.

Soweit ich weiß, hat das nichts mit Linux zu tun, zumindest kenne ich so etwas in Linux nicht.

Ein interessanter Hinweis darüber ist Accessing Resources auf der Entwicklerseite.

+0

Danke für die Antwort. Ich habe den Artikel vorher nicht gesehen. Sieht großartig aus. – Tarik