Почему мы указываем пространство имен в XML-файле Android? - PullRequest
30 голосов
/ 02 мая 2011

Когда мы пишем макет на основе XML в Android, мы используем строку "xmlns: android =" http://schemas.android.com/apk/res/android".

Из книг, которые я прочитал, говорится, что это пространство имен, но почему мы используем это?Ссылка даже не существует.Так какая польза от этого?

Ответы [ 4 ]

22 голосов
/ 02 мая 2011

От developer.android.com

XMLNS: андроид

Определяет пространство имен Android. Этот атрибут всегда должен быть установлен на "http://schemas.android.com/apk/res/android".

xmlns: android предназначен для идентификации того, что этот xml используется для android, а не для других функций.

Пространства имен однозначно идентифицируют код / ​​библиотеки. Если я пишу API-интерфейс, использующий все те же имена, например Android-API, то единственный способ различить мой API-интерфейс и API-интерфейс Android - использовать пространство имен Android или мое.

Вы можете также сослаться http://en.wikipedia.org/wiki/XML_namespace

17 голосов
/ 02 мая 2011

Возможно, вы захотите немного почитать XML. XML-документация w3.org может быть вашим лучшим.

В общем, пространства имен используются так, чтобы у вас не было коллизий между именами элементов., если бы я создал схему XML, которая определяла элемент <person>, а мой друг создал отдельную схему XML, которая определила совершенно другой элемент, который также был назван <person>, мы могли бы столкнуться.Если бы я попытался сослаться на оба элемента в файле XML, невозможно было бы определить, какой из них был каким.Однако если мы используем пространства имен, myNamespace: person явно отличается от myFriendsNamespace: person.

Стандарт для определения пространства имен - это использование URI, поэтому вы видите это в определении Android.Это не обязательно означает, что схема существует в этом месте, это означает, что URI является уникальным именем для этого пространства имен.

1 голос
/ 27 февраля 2017

Поскольку вы собираетесь ссылаться на 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 .

Для получения дополнительной информации, пожалуйста, обращайтесь здесь .

1 голос
/ 02 мая 2011

Это правда, что ссылка не существует. Но используемая нами строка предназначена для объявления пространства имен ... В XML пространства имен используются, чтобы избежать конфликтов имен.Вы можете обратиться к этой ссылке для уточнения http://www.w3schools.com/XML/xml_namespaces.asp

...