Saltar a contenido

Recursos de una aplicación

En Android, una aplicación está compuesta por más que simplemente código; requiere recursos independientes del código fuente, como imágenes, archivos de audio y otros elementos relacionados con la presentación de la aplicación. Por ejemplo, puedes definir animaciones, menús, estilos, colores y el diseño de las interfaces de usuario de la actividad con archivos XML.

Por cada recurso que incluyes en tu proyecto de Android, las herramientas de compilación del SDK definen un ID con número entero único que puedes usar para hacer referencia al recurso desde el código de tu aplicación o desde otros recursos definidos en XML.

Ejemplo

Por ejemplo, si tu aplicación contiene un archivo de imagen denominado logo.png (guardado en el directorio res/drawable/), las herramientas del SDK generan un ID de recurso llamado R.drawable.logo. Este ID está asignado a un número entero específico de la aplicación que puedes usar para hacer referencia a la imagen e insertarla en tu interfaz de usuario.

Uno de los aspectos más importantes de proporcionar recursos independientes de tu código fuente es la capacidad de ofrecer recursos alternativos para diferentes configuraciones de dispositivos.

Ejemplo

Por ejemplo, al definir cadenas de IU en XML, puedes traducir las cadenas a otros idiomas y guardarlas en archivos independientes. Luego, el sistema Android aplica las cadenas de idioma correspondientes a tu IU en función de un calificador de idioma que anexes al nombre del directorio de recursos (como res/values-fr/ para los valores de la cadena de francés) y a la configuración de idioma del usuario.

Android admite muchos calificadores diferentes para tus recursos alternativos. El calificador es una cadena corta que incluyes en el nombre de tus directorios de recursos para definir la configuración del dispositivo en la que se deben usar esos recursos.

Ejemplo

Por ejemplo, debes crear diferentes diseños para tus actividades según la orientación y el tamaño de la pantalla del dispositivo. Cuando la orientación de la pantalla del dispositivo sea vertical (a lo alto), quizá quieras usar un diseño en el que los botones estén alineados de forma vertical; en cambio, cuando sea horizontal (a lo ancho), los botones podrían alinearse horizontalmente. Para cambiar el diseño según la orientación, puedes definir dos diseños diferentes y aplicar el calificador adecuado al nombre de directorio de cada diseño. Después, el sistema aplicará automáticamente el diseño correspondiente según la orientación actual del dispositivo.

<!-- res/layout/activity_main.xml (vertical) -->
<LinearLayout orientation="vertical"> ... </LinearLayout>

<!-- res/layout-land/activity_main.xml (horizontal) -->
<LinearLayout orientation="horizontal"> ... </LinearLayout>

Actividades

  • AC 105 (RA1 / CE1a / IC1 / 1p) Investiga cómo funciona el sistema de qualifiers para adaptar recursos según idioma o pantalla. Da un ejemplo con capturas o esquema.

  • AC 106 (RA1 / CE1a CE1b / IC1 / 1p) Enumera 3 tipos de recursos que se pueden guardar en la carpeta res/ y pon un ejemplo de cada uno.