Для чого потрібен цей рядок у файлі макета xml?
xmlns:android="http://schemas.android.com/apk/res/android"
Для чого потрібен цей рядок у файлі макета 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 для унікальності. Зазвичай ця сторінка не існує (це URI, а не URL), але іноді це URL, що пояснює використовуваний простір імен.
Простір імен в значній мірі використовує як ім'я пакета в додатку Java.
Ось пояснення.
Уніфікований ідентифікатор ресурсу (URI)
Уніфікований ідентифікатор ресурсу (URI) - це рядок символів, який ідентифікує Інтернет-ресурс.
Найпоширеніший URI - це Уніфікований локатор ресурсів (URL), який ідентифікує адресу домену в Інтернеті. Іншим, не таким поширеним типом URI є Універсальна назва ресурсу (URN).
У наших прикладах ми будемо використовувати лише URL-адреси.
android:layout_width
замість просто layout_width
?
Щоб зрозуміти, чому 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) :
Наприклад: http://schemas.android.com/apk/res/android:id
тут URI
xmlns:android
описує простір імен для android.textview
віджет з різними можливостями порівняно з андроїдом textview
, а також простір імен для Android допомагає розрізняти наш користувальницький textview
віджет та textview
віджет Android
xmlns відноситься до простору імен XML
Під час використання префіксів у XML повинен бути визначений так званий простір імен для префікса. Простір імен визначається атрибутом xmlns у початковому тезі елемента. Декларація простору імен має такий синтаксис. xmlns: prefix = "URI".
Примітка : URI простору імен не використовується аналізатором для пошуку інформації.
Мета - надати простору імен унікальне ім’я. Однак часто компанії використовують простір імен як вказівник на веб-сторінку, що містить інформацію про простір імен.
Це лише декларація простір імен XML. Цей простір імен ми використовуємо для того, щоб вказати, що перелічені нижче атрибути належать Android. Таким чином вони починаються з " android: "
Ви можете створити власні атрибути. Отже, щоб запобігти конфліктам імен, де 2 атрибути названі однаково, але поводяться по-різному, ми додамо префікс " android: ", щоб позначити, що це атрибути Android.
Таким чином, ця декларація пробілу імен повинна бути включена в тег відкриття кореневого виду вашого XML-файлу.
xmlns: android Визначає простір імен Android. Цей атрибут завжди має бути встановлено на "http://schemas.android.com/apk/res/android".
зверніться до http://developer.android.com/guide/topics/manifest/manifest-element.html
Ввести термін мирянина:
без xmlns: android = ” http://schemas.android.com/apk/res/android ” теги, пов’язані з android, не будуть розпізнані в XML-документі нашого макета.
У XML імена елементів визначаються розробником. Це часто призводить до конфлікту при спробі змішування XML-документів з різних XML-програм. Користувач або програма XML не знають, як вирішити ці відмінності. Конфліктів імен у XML легко уникнути, використовуючи префікс імені. Під час використання префіксів у XML необхідно визначити простір імен для префікса. Простір імен може бути визначений атрибутом xmlns у початковому тезі елемента. Декларація простору імен має такий синтаксис. xmlns: prefix = "URI".
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"
xmlns: android Це стартовий тег для визначення простору імен Android для Android. Це стандартний конвенцію, визначений розробником Android android google. коли ви використовуєте макет за замовчуванням або зберігання, потрібно використовувати це простір імен.
Визначає простір імен Android. Цей атрибут завжди має бути встановлено на " http://schemas.android.com/apk/res/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>
Дозвольте мені пояснити, які види правил? .
Такі види правил визначені в XML XSD: " http://schemas.android.com/apk/res/android "
трохи пізно, але я сподіваюся, що це вам допоможе.
Це декларація простору імен XML, щоб вказати, що атрибути, що знаходяться в групі перегляду, в якій вона уповільнена, пов'язані з android.