Qu’est-ce que l’espace de noms Android ‘app’?

Voici un exemple d’espace de noms d’ app que j’ai vu dans un fichier res/menu/main.xml

    

À quoi sert l’espace de noms de l’ app ? Est-ce un espace de noms XML Android “standard”? Les mêmes options de valeur sont-elles disponibles pour le même atsortingbut placées dans deux espaces de noms différents (par exemple, app:showAsAction et android:showAsAction ).

De la documentation : android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"] android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]

C’est-à-dire que la ligne dans l’exemple ci-dessus signifierait autre chose si l’atsortingbut était plutôt:

 android:showAsAction="never" 

Il semble presque que ce pourrait être une sorte de mécanisme de “sous-classement”, mais je n’arrive pas à trouver de véritable documentation sur l’espace de noms des app partir de sources Google / Android.

L’espace de noms de l’ app n’est pas spécifique à une bibliothèque, mais il est utilisé pour tous les atsortingbuts définis dans votre application, que ce soit par votre code ou par les bibliothèques que vous importez, créant un espace de noms global unique pour les atsortingbuts personnalisés. système.

Dans ce cas, la bibliothèque appcompat-v7 utilise des atsortingbuts personnalisés reflétant ceux d’ android: espaces de noms pour prendre en charge les versions antérieures d’android (par exemple: android:showAsAction n’a été ajouté qu’à API11, mais app:showAsAction ). fonctionne sur tous les niveaux d’API de votre application) – évidemment en utilisant android:showAsAction ne fonctionnerait pas sur les niveaux d’API où cet atsortingbut n’est pas défini.