2011-05-02 11 views

Respuesta

18

de developer.android.com

xmlns:?.? androide

Define el espacio de nombre de Android. Este atributo siempre debe establecerse en "http://schemas.android.com/apk/res/android".

xmlns: android es para la identificación de que este xml se usa para Android, no para otra función.

Los espacios de nombre identifican código/bibliotecas de manera única. Si escribo una API que usa todos los mismos nombres y, por ejemplo, la API de Android, la única forma de distinguir entre mi API y la API de Android es usar el espacio de nombres de Android o el mío.

Puede consultar más http://en.wikipedia.org/wiki/XML_namespace

+0

quiero decir, esta es la * definición * de lo que hace el espacio de nombres, pero no toca el * por qué *. Ponlo así, si pongo el espacio de nombres en blanco, nada funciona. ¿Por qué? – bharal

1

Es cierto que el enlace no exists..But la cadena que estamos utilizando es para declarar el espacio de nombres ... En XML, espacios de nombres se utilizan para evitar conflictos de nombres . Puede consultar este enlace para obtener más información http://www.w3schools.com/XML/xml_namespaces.asp

15

Es posible que desee hacer algunas lecturas generales en XML. w3.org's XML documentation puede ser lo mejor.

En general, sin embargo, los espacios de nombres se utilizan para que no haya colisiones entre los nombres de los elementos.

Por ejemplo, si he creado un esquema XML que define el elemento <person> y mi amigo creado un esquema XML independiente que define un elemento completamente diferente, que también pasó a ser nombrado <person>, podríamos tener una colisión. Si traté de hacer referencia a ambos elementos en un archivo XML, no habría forma de saber cuál era cuál. Sin embargo, si usamos espacios de nombres, myNamespace: person es claramente diferente de myFriendsNamespace: person.

El estándar para definir un espacio de nombres es usar un URI, por eso lo ve en la definición de Android. No necesariamente significa que el esquema existe en esa ubicación, significa que el URI es el nombre único para ese espacio de nombres.

+0

quiero decir, esta es la definición de lo que hace el espacio de nombres, pero no toca el por qué. Ponlo así, si pongo el espacio de nombres en blanco, nada funciona. ¿Por qué? – bharal

1

Como va a referir a Android, defina claves en su XML. Por lo tanto, los recursos van a identificar la llave con el espacio de nombres es por eso que definimos espacio de nombres en cada archivo XML Android como: - "xmlns:android="http://schemas.android.com/apk/res/android".

ahora en XML se puede hacer referencia las claves usando la etiqueta androide como: -

<FrameLayout 
     android:id="@+id/id" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/color"> 

Usando el espacio de nombres de Android, puede encontrar las claves id, layout_width y layout_height.

Para obtener más información, consulte here.

Cuestiones relacionadas