Androidでxmlベースのレイアウトを記述する場合、文字列 "xmlns:Android =" http://schemas.Android.com/apk/res/Android "を使用します。
私が読んだ本から、これは名前空間であると書かれていますが、なぜこれを使用するのですか?リンクも存在しません。これの用途は何ですか?
Developer.Android.comから
xmlns:Android
Android名前空間を定義します。この属性は常に "http://schemas.Android.com/apk/res/Android"に設定する必要があります。
xmlns:Androidは、このxmlが他の機能ではなくAndroidで使用されていることを識別するためのものです。
名前空間は、コード/ライブラリを一意に識別します。 Android apiなどのすべての同じ名前を使用するAPIを作成する場合、私のAPIとAndroid apiを区別する唯一の方法は、 Android名前空間、または私のものです。
さらに参照することができます http://en.wikipedia.org/wiki/XML_namespace
XMLについて一般的な読み物をすることもできます。 w3.orgのXMLドキュメント が最善です。
ただし、一般的には名前空間を使用して、要素名の衝突を回避します。
たとえば、要素<person>
を定義するXMLスキーマを作成し、友人が偶然<person>
という名前のまったく異なる要素を定義する別のXMLスキーマを作成した場合、衝突が発生する可能性があります。 XMLファイルで両方の要素を参照しようとした場合、どちらがどれであるかを判別する方法はありません。ただし、名前空間を使用する場合、myNamespace:personはmyFriendsNamespace:personとは明らかに異なります。
名前空間を定義するための標準は、URIを使用することです。そのため、Android定義で確認できます。これは、必ずしもその場所にスキーマが存在することを意味するのではなく、URIその名前空間の一意の名前です。
参照するので、Android XMLでキーを定義します。したがって、リソースは名前空間でキーを識別します。これが、すべてのAndroid XMLで名前空間を定義する理由です。次のようなファイル:-"xmlns:Android="http://schemas.Android.com/apk/res/Android".
xMLでは、Androidタグを使用して次のようにキーを参照できます:-
<FrameLayout
Android:id="@+id/id"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="@color/color">
Android名前空間を使用すると、キーを見つけることができますid、layout_width およびlayout_height。
詳細については、 ここ を参照してください。
リンクが存在しないことは事実です。しかし、使用している文字列は名前空間を宣言するためのものです... XMLでは、名前空間は名前の競合を回避するために使用されます。詳細については、このリンクを参照してください http://www.w3schools.com/XML/xml_namespaces.asp