Pourquoi cette ligne est-elle nécessaire dans le fichier de présentation xml?
xmlns:android="http://schemas.android.com/apk/res/android"
En XML, xmlns déclare un espace de noms. En fait, quand vous faites:
Au lieu d’appeler android:id
, le xml utilisera http://schemas.android.com/apk/res/android:id pour être unique. En général, cette page n’existe pas (c’est un URI, pas une URL), mais parfois, c’est une URL qui explique l’espace de noms utilisé.
L’espace de noms a pratiquement les mêmes utilisations que le nom du package dans une application Java.
Voici une explication.
Identificateur de ressource uniforme (URI)
Un identificateur de ressource uniforme (URI) est une chaîne de caractères qui identifie une ressource Internet.
L’URI le plus courant est l’URL (Uniform Resource Locator) qui identifie une adresse de domaine Internet. Un autre type d’URI, moins commun, est le nom universel de ressource (URN).
Dans nos exemples, nous utiliserons uniquement les URL.
xmlns fait référence à l’ espace de noms XML
Lors de l’utilisation de préfixes en XML, un soi-disant espace de noms pour le préfixe doit être défini. L’espace de noms est défini par l’atsortingbut xmlns dans la balise de début d’un élément. La déclaration d’espace de noms a la syntaxe suivante. xmlns: prefix = “URI”.
Remarque : L’URI d’espace de noms n’est pas utilisé par l’parsingur pour rechercher des informations.
Le but est de donner à l’espace de noms un nom unique. Toutefois, les entresockets utilisent souvent l’espace de noms comme pointeur vers une page Web contenant des informations sur les espaces de noms.
Pour comprendre pourquoi xmlns:android=“http://schemas.android.com/apk/res/android”
doit être le premier dans le fichier XML de présentation Nous allons comprendre les composants en utilisant un exemple
Sample
::
Indicateur de ressource uniforme (URI) :
Ex: http://schemas.android.com/apk/res/android:id
est l’URI ici
Espace de noms XML :
xmlns:android
décrit l’espace de noms Android. textview
notre propre widget textview
avec différentes fonctionnalités par rapport à la vue textview
android, l’espace de noms Android aide à faire la distinction entre notre widget textview
personnalisé et le widget textview
android xmlns: android Définit l’espace de noms Android. Cet atsortingbut doit toujours être défini sur “http://schemas.android.com/apk/res/android”.
voir http://developer.android.com/guide/topics/manifest/manifest-element.html
Ceci est juste la déclaration XML Name Space. Nous utilisons cet espace de noms afin de spécifier que les atsortingbuts listés ci-dessous, appartiennent à Android. Ainsi ils commencent par ” android: ”
Vous pouvez réellement créer vos propres atsortingbuts personnalisés. Donc, pour éviter les conflits de noms où 2 atsortingbuts sont nommés de la même manière, mais se comporter différemment, nous ajoutons le préfixe ” android: ” pour indiquer qu’il s’agit d’atsortingbuts Android.
Ainsi, cette déclaration d’espace de nom doit être incluse dans la balise d’ouverture de la vue racine de votre fichier XML.
xmlns: android Ceci est la balise de début pour définir l’espace de noms Android dans Android. Ceci est la convention standerd définie par le développeur Google Android. Lorsque vous utilisez et mettez en forme default ou custome, vous devez utiliser cet espace de noms.
Définit l’espace de noms Android. Cet atsortingbut doit toujours être défini sur ” http://schemas.android.com/apk/res/android “.
doit lire: http://developer.android.com/guide/topics/manifest/manifest-element.html
En XML, les noms d’élément sont définis par le développeur. Cela entraîne souvent un conflit lors de la tentative de mélange de documents XML provenant de différentes applications XML. Un utilisateur ou une application XML ne saura pas comment gérer ces différences. Les conflits de noms en XML peuvent facilement être évités en utilisant un préfixe de nom. Lors de l’utilisation de préfixes en XML, un espace de noms pour le préfixe doit être défini. L’espace de noms peut être défini par un atsortingbut xmlns dans la balise de début d’un élément. La déclaration d’espace de noms a la syntaxe suivante. xmlns: prefix = “URI”.
Pour mettre dans le terme de profane:
sans xmlns: android = ” http://schemas.android.com/apk/res/android ” les balises liées à Android ne seront pas reconnues dans le document XML de notre mise en page.
xmlns:android="http://schemas.android.com/apk/res/android"
Ceci est une forme de xmlns: android = “@ + / id”. Maintenant, pour le recréer, nous utilisons par exemple
android:layout_width="wrap_content" android:text="Hello World!"
Un autre xmlns est
xmlns:app="http://schemas.android.com/apk/res-auto"
qui est sous la forme de xmlns: app = “@ + / id” et son utilisation est donnée ci-dessous
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent"
Je pense que cela rend clair avec l’espace de noms, car nous pouvons créer nos propres atsortingbuts et si l’atsortingbut spécifié par l’utilisateur est le même que celui d’Android, il évite le conflit de l’espace de noms.
Il s’agit d’une déclaration d’espace de nom XML afin de spécifier que les atsortingbuts qui se trouvent dans le groupe de vues dans lequel ils ont été ralentis sont liés à Android.