2010-11-24 15 views
5

Si está desarrollando aplicaciones para Android, se encontrará con un nombramiento como ID en archivos XML de vista y diseños:Identificación de nombres en Aplicaciones Android

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/new_game" 
      android:icon="@drawable/ic_new_game" 
      android:title="@string/new_game" /> 
    <item android:id="@+id/quit" 
      android:icon="@drawable/ic_quit" 
      android:title="@string/quit" /> 
</menu> 

y estoy realmente preguntarse por qué tal denominación se aplica a las identificaciones. ¿Es por Linux? ¿Qué significa este nombramiento - @+id/... - tiene?

Cuando estoy mirando android:icon atributo que puedo interpretar que significa ic_new_game se encuentra en la carpeta estirable y @ medios "que se encuentra en" o Asumo eso.

Pero los atributos de identificación de nombres son un poco diferentes porque también tienen el signo +. ¿Puede alguien ayudarme a entender esta convención?

Gracias.

Respuesta

5

Creo que es solo una convención de nomenclatura definida por los desarrolladores de Android. El + solo se usa cuando quiere definir un nuevo Id para algo. De lo contrario, solo hace referencia es como @id/....

El @drawable/... y @string/... solo representan una referencia a algunos recursos. Donde las referencias dibujables se crean automáticamente para los archivos .png, .jpg, .gif y .xml que residen en uno de sus directorios drawable. El nombre de archivo de tu archivo será el identificador.

Las referencias de cadena se crean si hay un archivo XML que contiene etiquetas de cadena como esta, <string name="some_name">Some Name</string>. El identificador de cadenas será lo que defina como el argumento del nombre. En este ejemplo, sería @string/some_name.

Lo mismo aplica para sus diseños. Podrá acceder a ellos a través del @layout/....

Por lo que sé, no tiene nada que ver con Linux o al menos no sé nada en Linux de esa manera.

Una lectura interesante sobre esto es Accessing Resources en el sitio del desarrollador.

+0

Gracias por la respuesta. No vi el artículo antes. Se ve muy bien. – Tarik

Cuestiones relacionadas