Compartir vía


Recursos de Android

En este artículo se presenta el concepto de recursos de Android en Xamarin.Android y se documenta cómo usarlos. Se explica cómo usar recursos en la aplicación Android para admitir la localización de aplicaciones y varios dispositivos, incluidos distintos tamaños y densidades de pantalla.

Información general

Una aplicación Android rara vez es solo código fuente. A menudo hay muchos otros archivos que componen una aplicación: vídeo, imágenes, fuentes y archivos de audio solo para nombrar algunos. En conjunto, estos archivos de código no fuente se conocen como recursos y se compilan (junto con el código fuente) durante el proceso de compilación y empaquetados como APK para la distribución e instalación en dispositivos:

Packaging diagram

Los recursos ofrecen varias ventajas para una aplicación Android:

  • Separación de código: separa el código fuente de imágenes, cadenas, menús, animaciones, colores, etc. Como tales recursos pueden ayudar considerablemente al localizar.

  • Destino de varios dispositivos: proporciona compatibilidad más sencilla con diferentes configuraciones de dispositivo sin cambios en el código.

  • Comprobación en tiempo de compilación: los recursos son estáticos y se compilan en la aplicación. Esto permite comprobar el uso de los recursos en tiempo de compilación, cuando sea fácil detectar y corregir los errores, en lugar de en tiempo de ejecución cuando sea más difícil localizar y costoso corregir.

Cuando se inicia un nuevo proyecto de Xamarin.Android, se crea un directorio especial denominado Resources, junto con algunos subdirectorios:

Resources folder and contents

En la imagen anterior, los recursos de la aplicación se organizan según su tipo en estos subdirectorios: las imágenes irán en el directorio dibujable; las vistas van en el subdirectorio de diseño, etc.

Hay dos maneras de acceder a estos recursos en una aplicación de Xamarin.Android: mediante programación en el código y mediante declaración en XML mediante una sintaxis XML especial.

Estos recursos se denominan Recursos predeterminados y los usan todos los dispositivos a menos que se especifique una coincidencia más específica. Además, cada tipo de recurso puede tener opcionalmente recursos alternativos que Android pueda usar para dirigirse a dispositivos específicos. Por ejemplo, los recursos se pueden proporcionar para dirigirse a la configuración regional del usuario, el tamaño de la pantalla o si el dispositivo gira 90 grados de vertical a horizontal, etc. En cada uno de estos casos, Android cargará los recursos para su uso por parte de la aplicación sin ningún esfuerzo de codificación adicional por parte del desarrollador.

Los recursos alternativos se especifican agregando una cadena corta, denominada calificador, al final del directorio que contiene un tipo determinado de recursos.

Por ejemplo, resources/drawable-de especificará las imágenes de los dispositivos que están establecidos en una configuración regional alemana, mientras que resources/drawable-fr contendrá imágenes para dispositivos establecidos en una configuración regional francesa. Se puede ver un ejemplo de cómo proporcionar recursos alternativos en la imagen siguiente donde se ejecuta la misma aplicación con solo la configuración regional del dispositivo que cambia:

Example screens for different locales

En este artículo se examinará exhaustivamente el uso de recursos y se tratarán los temas siguientes:

  • Conceptos básicos de recursos de Android: usar recursos predeterminados mediante programación y mediante declaración, agregando tipos de recursos como imágenes y fuentes a una aplicación.

  • Configuraciones específicas del dispositivo: admite las diferentes resoluciones y densidades de pantalla en una aplicación.

  • Localización: se puede usar el uso de recursos para admitir las distintas regiones que se puede usar una aplicación.