Почему эта строка xmlns: android="http://schemas.android.com/apk/res/android" должен быть первым в макете xml файл?



зачем эта строка нужна в xml-файле макета?



xmlns:android="http://schemas.android.com/apk/res/android" 
2154   11  

11 ответов:

в XML xmlns объявляет пространство имен. На самом деле, когда вы делаете:

<LinearLayout android:id>
</LinearLayout>

вместо android:id, xml будет использовать http://schemas.android.com/apk/res/android:id быть уникальным. Как правило, эта страница не существует (это URI, а не URL-адрес), но иногда это URL-адрес, который объясняет используемое пространство имен.

пространство имен имеет почти то же самое использование, что и имя пакета в приложении Java.

здесь - это объяснение.

единый идентификатор ресурса (URI)

универсальный идентификатор ресурса (URI) - это строка символов, которая определяет интернет-ресурс.

наиболее распространенным URI является единый локатор ресурсов (URL), который определяет адрес домена в Интернете. Другой, не столь распространенный тип URI-это универсальное имя ресурса (URN).

в наших примерах мы будем использовать URL-адреса.

xmlns относится к пространство имен XML

при использовании префиксов в XML необходимо определить так называемое пространство имен для префикса. Пространство имен определяется атрибутом xmlns в начальном теге элемента. Объявление пространства имен имеет следующий синтаксис. xmlns: prefix= "URI".

Примечание: URI пространства имен не используется синтаксическим анализатором для поиска информации.

цель состоит в том, чтобы дать пространству имен уникальное имя. Однако, часто компании используют пространство имен как указатель на веб-страницу, содержащую информацию о пространстве имен.

чтобы понять, почему 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>

Единый индикатор ресурсов (URI):

  • в вычислениях унифицированный идентификатор ресурса (URI) представляет собой строку символы, используемые для идентификации имени ресурса.
  • такая идентификация позволяет взаимодействие с представительствами ресурс по сети, как правило, во Всемирной паутине, используя определенные протоколы.

пример:http://schemas.android.com/apk/res/android:id это URI здесь


пространство имен XML:

  • пространства имен XML используются для предоставления уникально именованных элементов и атрибуты в XML-документе. xmlns:android описывает android пространство имен.
  • его используют так, потому что это выбор дизайна Гугл обрабатывать ошибки во время компиляции.
  • также предположим, что мы пишем наши собственные textview виджета с разными особенности по сравнению с Android textview, пространство имен android помогает различие между нашей таможней textview виджет и android textview виджет

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

см http://developer.android.com/guide/topics/manifest/manifest-element.html

Это просто объявление пространства имен XML. Мы используем это пространство имен для того, чтобы указать, что атрибуты, перечисленные ниже, принадлежат Android. Таким образом, они начинаются с " android:"

вы можете создать свои собственные атрибуты. Поэтому, чтобы предотвратить конфликты имен, где 2 атрибута называются одинаково, но ведут себя по-разному, мы добавляем префикс" android: " чтобы обозначить, что это атрибуты Android.

таким образом, это имя Объявление пространства должно быть включено в открывающий тег корневого представления вашего XML-файла.

xmlns: android это начальный тег для определения пространства имен android в Android. Это стандартная конвенция, определяемая разработчиком Android google. когда вы используете и макет по умолчанию или клиентов, то должны использовать это пространство имен.

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

читать надо : http://developer.android.com/guide/topics/manifest/manifest-element.html

в XML-документах имена элементов не определено разработчиком. Это часто приводит к конфликту при попытке смешать XML-документы из разных XML-приложений. Пользователь или XML-приложение не будет знать, как обрабатывать эти различия. Конфликты имен в XML можно легко избежать, используя префикс имени. При использовании префиксов в XML необходимо определить пространство имен для префикса.Пространство имен может быть определено атрибутом xmlns в начальном теге элемента.Объявление пространства имен имеет следующее синтаксис. xmlns: prefix= "URI".

  • Xmlns означает пространство имен xml.
  • Он создан, чтобы избежать конфликтов имен в xml-х.
  • чтобы избежать конфликтов имен любым другим способом, нам нужно предоставить каждому элементу префикс.
  • чтобы избежать повторного использования префикса в каждом XML-теге, мы используем xmlns в корне xml. Поэтому у нас есть тег xmlns:android="http://schemas.android.com/apk/res/android"
  • теперь android здесь просто означает, что мы назначаем пространство имен"http://schemas.android.com/apk/res/android " к нему.
  • это пространство имен является не URL, а URI, также известный как URN(универсальное имя ресурса), который редко используется вместо URI.
  • из-за этого android будет отвечать за идентификацию связанных с android элементов в xml-документе, который будет android:xxxxxxx и т. д. Без этого пространства имен android: xxxxxxx не будет признанный.

говоря языком непрофессионала:

без xmlns: android="http://schemas.android.com/apk/res/android " связанные с android теги не будут распознаны в xml-документе нашего макета.

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, он избегает конфликта пространства имен.

это объявление пространства имен XML, чтобы указать, что атрибуты, которые находятся в группе представлений, в которой он замедляется, связаны с android.

Comments

    Ничего не найдено.