XMLレイアウトファイルでこの行が必要なのはなぜですか?
xmlns:Android="http://schemas.Android.com/apk/res/Android"
XMLでは、xmlnsは名前空間を宣言します。実際、次の場合:
<LinearLayout Android:id>
</LinearLayout>
Android:id
を呼び出す代わりに、xmlは http://schemas.Android.com/apk/res/Android:id を使用して一意にします。通常、このページは存在しません(URLではなくURIです)が、使用される名前空間を説明するURLである場合があります。
名前空間の用途は、Javaアプリケーションのパッケージ名とほぼ同じです。
ここ は説明です。
Uniform Resource Identifier(URI)
URI(Uniform Resource Identifier)は、インターネットリソースを識別する文字列です。
最も一般的なURIは、インターネットドメインアドレスを識別するUniform Resource Locator(URL)です。別の、あまり一般的ではないタイプのURIは、Universal Resource Name(URN)です。
この例では、URLのみを使用します。
xmlns:Android=“http://schemas.Android.com/apk/res/Android”
がレイアウトxmlファイルの最初でなければならない理由を理解するために、例を使用してコンポーネントを理解します。
Sample
::
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:id="@+id/container" >
</FrameLayout>
Uniform Resource Indicator(URI) :
Ex:http://schemas.Android.com/apk/res/Android:id
はここのURIです
XML名前空間 :
xmlns:Android
はAndroid名前空間を記述します。textview
とは異なる機能を備えた独自のtextview
ウィジェットを作成し、Android名前空間はカスタムtextview
ウィジェットとAndroid textview
ウィジェットを区別するのに役立つとしますxmlnsは XML名前空間 を参照します
XMLでプレフィックスを使用する場合、プレフィックスのいわゆる名前空間を定義する必要があります。名前空間は、要素の開始タグのxmlns属性によって定義されます。名前空間宣言の構文は次のとおりです。 xmlns:prefix = "URI"。
注:ネームスペースURIは、情報を検索するためにパーサーによって使用されません。
目的は、名前空間に一意の名前を付けることです。ただし、多くの場合、企業はネームスペースをネームスペース情報を含むWebページへのポインタとして使用します。
xmlns:AndroidAndroid名前空間を定義します。この属性は常に「http://schemas.Android.com/apk/res/Android」に設定する必要があります。
refer http://developer.Android.com/guide/topics/manifest/manifest-element.html
これは単なるXML名前空間宣言です。下記の属性がAndroidに属することを指定するために、この名前空間を使用します。したがって、「Android:」で始まります
実際に独自のカスタム属性を作成できます。したがって、2つの属性に同じ名前が付けられ、動作が異なるという名前の競合を防ぐために、プレフィックス「Android:」を追加して、これらがAndroid属性であることを示します。
したがって、この名前空間宣言は、XMLファイルのルートビューの開始タグに含める必要があります。
XMLでは、要素名は開発者が定義します。これにより、異なるXMLアプリケーションからのXMLドキュメントを混在させようとすると、しばしば競合が発生します。ユーザーまたはXMLアプリケーションは、これらの違いを処理する方法を知りません。名前プレフィックスを使用すると、XMLでの名前の競合を簡単に回避できます。 XMLでプレフィックスを使用する場合、プレフィックスの名前空間を定義する必要があります。名前空間は、要素の開始タグのxmlns属性によって定義できます。名前空間宣言の構文は次のとおりです。 xmlns:prefix = "URI"。
素人の言葉を入れるには:
xmlns:Android =” http://schemas.Android.com/apk/res/Android ”なしAndroid関連タグは、レイアウトのxmlドキュメントで認識されません。
xmlns:Androidこれは、AndroidでAndroid名前空間を定義するための開始タグです。これは、Android google開発者によって定義された標準の規則です。デフォルトまたはカスタムレイアウトを使用している場合は、このネームスペースを使用する必要があります。
Android名前空間を定義します。この属性は常に「 http://schemas.Android.com/apk/res/Android 」に設定する必要があります。
xmlns:Android="http://schemas.Android.com/apk/res/Android"
これはxmlns:Android = "@ +/id"の形式です。今それを参照するために、例えば
Android:layout_width="wrap_content"
Android:text="Hello World!"
別のxmlnsは
xmlns:app="http://schemas.Android.com/apk/res-auto"
これはxmlns:app = "@ +/id"の形式であり、その使用法は以下のとおりです。
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
独自の属性を作成でき、ユーザーが指定した属性がAndroid属性と同じである場合、名前空間の競合を回避できるため、名前空間で明らかになると思います。
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:xml名前空間およびURL: " http://schemas.Android.com/apk/res/Android "は
XSD[XMLスキーマ定義]:XMLファイルのルールを定義するために使用されます。
例:
<LinearLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<EditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginBottom="4dp"
Android:hint="User Name"
/>
</LinearLayout>
What Kind of Rules?を説明しましょう。
このような種類のルールはXML XSDで定義されています: " http://schemas.Android.com/apk/res/Android "
少し遅れましたが、これがあなたのお役に立てば幸いです。
これは、減速されるビューグループ内の属性がAndroid関連であることを指定するためのXML名前空間宣言です。