Latest web development tutorials

Recursos Android gestión (Recursos)

Hay muchas cosas que se usan para construir una excelente aplicación para Android. Además de la codificación de la aplicación, es necesario centrarse en una variedad de recursos, tal como se utiliza una variedad de contenido estático, tales como mapas de bits, colores, diseño, definición cadenas de la interfaz de usuario, la animación y así sucesivamente. Estos recursos se colocan generalmente en res / subdirectorio independiente del proyecto.

Esta sección del tutorial aprenderá a organizar los recursos de la aplicación, especifique los recursos alternativos, y acceder a ellos en su aplicación.


recursos de la organización en Eclipse

Tendrá que ser colocado en cada uno de los recursos bajo el subdirectorio específico de su proyecto res / directorio. Por ejemplo, este es un proyecto simple a nivel de archivos:

MyProject/
    src/  
        MyActivity.java  
    res/
        drawable/  
            icon.png  
        layout/  
            activity_main.xml
            info.xml
        values/  
            strings.xml 

res / contiene todos los recursos en varios subdirectorios. Aquí hay un recurso de imagen, dos recursos de diseño y un archivo de recurso de cadena. La siguiente tabla ofrece una detallada en la res de proyectos / recursos de asistencia de directorio.

directorio Tipo de recurso
anim / archivo XML que define la propiedad de animación. Se guardan en res / animal / carpeta, por tipo de acceso R.anim
el color / archivo XML que define la lista de estado de color. Se guardan en res / color / carpeta, por tipo de acceso R.color
dibujable / Los archivos de imagen, como PNG, JPG, GIF o un archivo XML, se compila como un mapa de bits, lista del estado, formas, imágenes animadas. Se guardan en res / estirable / carpeta, por tipo de acceso R.drawable
diseño / Interfaz de usuario personalizada estructura del archivo XML. Se guardan en res / layout / carpeta, por tipo de acceso R.layout
menú / archivos XML del menú de aplicaciones personalizadas, como el menú de opciones, menús contextuales, submenús. Se guardan en res / menú / carpeta, por tipo de acceso R.menu
prima / Cualquier archivo se guardan en su forma original. Necesitamos R.raw.filename Identificación recurso con nombre, para abrir el archivo en bruto llamando Resource.openRawResource ()
valores / archivos XML contienen valores simples (tales como cadenas, enteros, color, etc.). Aquí están algunos recursos en virtud de las convenciones de nombres de carpetas. arrays.xml en nombre de una serie de recursos, a través de tipo R.array de acceso; integers.xml representa un número entero de los recursos se accede a través R.integer clase; bools.xml recursos en nombre de los valores booleanos, el tipo de acceso de R.bool; colors.xml recursos en nombre del color, se accede a través de clases R.color; dimens.xml representantes dimensión de valores, a través de tipo R.dimen de acceso; strings.xml representa un recurso de cadena, a través de tipo R.string de acceso; representantes styles.xml recurso de estilo, por tipo de acceso R.style
xml / Llamando Resources.getXML () para leer archivos XML arbitrarios en tiempo de ejecución. Varios archivos de configuración se pueden guardar en tiempo de ejecución aquí

Recursos alternativos

Su aplicación debe proporcionar recursos para apoyar una configuración alternativa para un dispositivo específico. Por ejemplo, es necesario proporcionar una visión alternativa de recursos para diferentes resoluciones de pantalla, ofreciendo una cadena de recursos alternativos para diferentes idiomas. En tiempo de ejecución, Android detecta la configuración actual del dispositivo, y cargar los recursos adecuados para una aplicación.

Para identificar un conjunto de recursos alternativos para la configuración específica, siguiendo los pasos de:

  • Crear un nuevo directorio res / a <resource_name> _ <config_qualifier> se nombran. Aquí resources_name los recursos mencionados en la tabla, tales como el diseño y fotografías. calificador determinará qué recursos utilizar la configuración personalizada. Se puede ver la documentación oficial para obtener una lista completa de los diferentes tipos de recursos calificador.
  • El ahorro de recursos alternativos en respuesta a este directorio. Estos archivos de recursos deben mostrar el nombre del archivo de recursos predeterminado es consistente con los siguientes ejemplos, sin embargo, estos documentos se determinará el contenido de la sustitución. Por ejemplo: Si bien el archivo de la imagen el nombre del mismo, pero la resolución de la pantalla de la resolución de la imagen será mayor.

He aquí un ejemplo, para especificar la imagen predeterminada de la pantalla y de alta resolución de imagen de sustitución.

MyProject/
   src/
    main/
    java/
       MyActivity.java  
       res/
          drawable/  
            icon.png
            background.png
        drawable-hdpi/  
            icon.png
            background.png  
        layout/  
            activity_main.xml
            info.xml
        values/  
            strings.xml

He aquí otro ejemplo, para especificar el lenguaje de diseño predeterminado y diseños alternativos lengua árabe.

MyProject/
   src/
    main/
    java/
       MyActivity.java  
      res/
         drawable/  
            icon.png
            background.png
        drawable-hdpi/  
            icon.png
            background.png  
        layout/  
            activity_main.xml
            info.xml
        layout-ar/
            main.xml
        values/  
            strings.xml

El acceso a los recursos

En el desarrollo de aplicaciones, es necesario el acceso a los recursos definidos, ya sea a través de código o mediante archivos XML. Las siguientes secciones describen cómo acceder a estos recursos por separado en dos escenarios.

En el código para acceder a los recursos

Cuando la aplicación Android se compila para generar una clase I, que contiene el ID y todos los recursos del directorio / res. Puede utilizar la clase R, + por el nombre de recurso subclase o utilizar directamente el identificador de recursos para acceder a los recursos.

Ejemplos

res de acceso / estirable / myimage.png, y establecerlo en la ImageView, se usaría el siguiente código:

ImageView imageView = (ImageView) findViewById(R.id.myimageview);
imageView.setImageResource(R.drawable.myimage);

La primera línea de código en aquí para obtener R.id.myimageview myimageview definido de ImageView en el archivo de diseño. La segunda línea con R.drawable.myimage para obtener la imagen en res / estirable en un subdirectorio llamado myimage.

Ejemplos

Consideremos un ejemplo en el que res / valores / strings.xml define como sigue:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string  name="hello">Hello, World!</string>
</resources>

Ahora se puede utilizar el ID de la msg objeto de Vista de Texto ID de recurso para establecer el texto, de la siguiente manera:

TextView msgTextView = (TextView) findViewById(R.id.msg);
msgTextView.setText(R.string.hello);

Ejemplos

Considere la siguiente definición de la res de diseño / layout / activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" 
   android:layout_height="fill_parent" 
   android:orientation="vertical" >

   <TextView android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Hello, I am a TextView" />

   <Button android:id="@+id/button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Hello, I am a Button" />

</LinearLayout>

El código de aplicación se carga la disposición actividad, método onCreate () como sigue:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="opaque_red">#f00</color>
   <string name="hello">Hello!</string>
</resources>

El acceso en XML

Considere el siguiente código XML archivo de recursos res / valores / strings.xml, que contiene un recurso de color y un recurso de cadena -

<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:textColor="@color/opaque_red"
    android:text="@string/hello" />

Ahora, puede utilizar estos recursos en el siguiente archivo de diseño para establecer el color del texto y el contenido del texto:

<code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;EditText xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:textColor="@color/opaque_red"
    android:text="@string/hello" /&gt;
</code>

Ahora, si regresa a la sección anterior para explicar el "Hello World!" Instancia, puedo confirmar que en esta sección todos tienen una mejor comprensión del concepto. Por lo tanto, recomiendo fuertemente que volver a mirar en los ejemplos anteriores, y utilizo una visión diferente del uso básico de recursos.