Pourquoi cette ligne xmlns: android = “http://schemas.android.com/apk/res/android” doit être la première dans le fichier XML de mise en page?

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) :

  • En informatique, un identificateur de ressource uniforme (URI) est une chaîne de caractères utilisée pour identifier un nom de ressource.
  • Cette identification permet une interaction avec les représentations de la ressource sur un réseau, généralement le World Wide Web, en utilisant des protocoles spécifiques.

Ex: http://schemas.android.com/apk/res/android:id est l’URI ici


Espace de noms XML :

  • Les espaces de noms XML sont utilisés pour fournir des éléments et des atsortingbuts nommés de manière unique dans un document XML. xmlns:android décrit l’espace de noms Android.
  • C’est utilisé comme ceci parce que c’est un choix de conception par Google pour gérer les erreurs au moment de la compilation.
  • Supposons également que nous 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”.

  • Xmlns signifie espace de noms xml.
  • Il est créé pour éviter les conflits de noms dans les fichiers XML.
  • Afin d’éviter de nommer les conflits d’une autre manière, nous devons fournir un préfixe à chaque élément.
  • Pour éviter l’utilisation répétitive du préfixe dans chaque balise XML, nous utilisons xmlns à la racine du fichier XML. Nous avons donc la balise xmlns: android = ” http://schemas.android.com/apk/res/android
  • Maintenant, Android signifie simplement que nous lui assignons l’espace de noms « http://schemas.android.com/apk/res/android ».
  • Cet espace de noms n’est pas une URL mais un URI également appelé URN (Universal Resource Name) qui est rarement utilisé à la place de l’URI.
  • En raison de cet android sera responsable d’identifier les éléments liés à Android dans le document XML qui serait Android: xxxxxxx etc. Sans cet espace de noms Android: xxxxxxx ne sera pas reconnu.

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.