Warum wird diese Zeile in der XML-Layoutdatei benötigt?
xmlns:android="http://schemas.android.com/apk/res/android"
android
xml
android-activity
layout
xml-namespaces
Hitesh Dhamshaniya
quelle
quelle
Antworten:
In XML deklariert xmlns einen Namespace. In der Tat, wenn Sie tun:
Anstatt aufzurufen
android:id
, verwendet die XML-Datei http://schemas.android.com/apk/res/android:id , um eindeutig zu sein. Im Allgemeinen existiert diese Seite nicht (es ist eine URI, keine URL), aber manchmal ist es eine URL, die den verwendeten Namespace erklärt.Der Namespace hat fast die gleichen Verwendungszwecke wie der Paketname in einer Java-Anwendung.
Hier ist eine Erklärung.
In unseren Beispielen werden nur URLs verwendet.
quelle
android:layout_width
statt nurlayout_width
?Um zu verstehen, warum
xmlns:android=“http://schemas.android.com/apk/res/android”
dies der erste in der Layout-XML-Datei sein muss, werden wir die Komponenten anhand eines Beispiels verstehenSample
:: ::Uniform Resource Indicator (URI) :
Beispiel:
http://schemas.android.com/apk/res/android:id
ist die URI hierXML-Namespace :
xmlns:android
beschreibt den Android-Namespace.textview
Widget mit anderen Funktionen als Androidtextview
. Der Android-Namespace hilft bei der Unterscheidung zwischen unserem benutzerdefiniertentextview
Widget und dem Android-textview
Widgetquelle
xmlns bezieht sich auf den XML-Namespace
Bei der Verwendung von Präfixen in XML muss ein sogenannter Namespace für das Präfix definiert werden. Der Namespace wird durch das Attribut xmlns im Start-Tag eines Elements definiert. Die Namespace-Deklaration hat die folgende Syntax. xmlns: prefix = "URI".
Hinweis : Der Namespace-URI wird vom Parser nicht zum Nachschlagen von Informationen verwendet.
Der Zweck besteht darin, dem Namespace einen eindeutigen Namen zu geben. Häufig verwenden Unternehmen den Namespace jedoch als Zeiger auf eine Webseite mit Namespace-Informationen.
quelle
Dies ist nur die XML-Namensraumdeklaration. Wir verwenden diesen Namensraum, um anzugeben, dass die unten aufgeführten Attribute zu Android gehören. Sie beginnen also mit " android: "
Sie können tatsächlich Ihre eigenen benutzerdefinierten Attribute erstellen. Um die Namenskonflikte zu vermeiden, bei denen zwei Attribute gleich benannt sind, sich jedoch unterschiedlich verhalten, fügen wir das Präfix " android: " hinzu, um anzuzeigen, dass es sich um Android-Attribute handelt.
Daher muss diese Namensraumdeklaration im Eröffnungs-Tag der Stammansicht Ihrer XML-Datei enthalten sein.
quelle
xmlns: android Definiert den Android-Namespace. Dieses Attribut sollte immer auf "http://schemas.android.com/apk/res/android" gesetzt sein.
Siehe http://developer.android.com/guide/topics/manifest/manifest-element.html
quelle
Um es mit Laien zu sagen:
ohne xmlns: android = " http://schemas.android.com/apk/res/android " androidbezogene Tags werden im xml-Dokument unseres Layouts nicht erkannt.
quelle
In XML werden Elementnamen vom Entwickler definiert. Dies führt häufig zu einem Konflikt, wenn versucht wird, XML-Dokumente aus verschiedenen XML-Anwendungen zu mischen. Ein Benutzer oder eine XML-Anwendung weiß nicht, wie er mit diesen Unterschieden umgehen soll. Namenskonflikte in XML können mithilfe eines Namenspräfixes leicht vermieden werden. Bei Verwendung von Präfixen in XML muss ein Namespace für das Präfix definiert werden. Der Namespace kann durch ein xmlns-Attribut im Start-Tag eines Elements definiert werden. Die Namespace-Deklaration hat die folgende Syntax. xmlns: prefix = "URI".
quelle
Dies ist eine Form von xmlns: android = "@ + / id". Um es zu verweisen, verwenden wir zum Beispiel
Eine andere XML ist
Dies ist in Form von xmlns: app = "@ + / id" und seine Verwendung ist unten angegeben
quelle
Ich denke, das wird mit dem Namespace deutlich, da wir unsere eigenen Attribute erstellen können und wenn das benutzerdefinierte Attribut mit dem Android-Attribut identisch ist, wird der Konflikt des Namespace vermieden.
quelle
xmlns: android Dies ist das Start-Tag zum Definieren des Android-Namespace in Android. Dies ist eine Standardkonvention, die vom Android-Google-Entwickler definiert wird. Wenn Sie Standard oder Custome verwenden und gestalten, muss dieser Namespace verwendet werden.
Aus der
<manifes>
Elementdokumentation .quelle
xmlns : ist der XML-Namensraum und die URL: " http://schemas.android.com/apk/res/android " ist nichts anderes als
XSD ist [XML-Schemadefinition]: Wird verwendet, um Regeln für XML-Dateien zu definieren.
Beispiel:
Lassen Sie mich erklären, welche Art von Regeln? .
Solche Regeln werden in XML XSD definiert: " http://schemas.android.com/apk/res/android "
ein bisschen spät, aber ich hoffe das hilft dir.
quelle
Es handelt sich um eine XML-Namensraumdeklaration, um anzugeben, dass die Attribute innerhalb der Ansichtsgruppe, in der sie abgebremst wird, mit Android zusammenhängen.
quelle