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 de pantalla y densidades.

Información general

Una aplicación Android rara vez es solo código fuente. A menudo, hay muchos otros archivos que son parte de una aplicación: vídeo, imágenes, fuentes y archivos de audio, por nombrar algunos. Colectivamente, 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 se empaquetan como un APK para la distribución e instalación en dispositivos:

Diagrama de empaquetado

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, los recursos pueden ayudar considerablemente al realizar la localización.

  • Destino de varios dispositivos: proporciona una compatibilidad más sencilla con diferentes configuraciones de dispositivo sin cambios de 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 será fácil detectar y corregir los errores, en lugar de en tiempo de ejecución cuando sea más difícil de encontrar y costoso corregir.

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

Carpeta y contenido de recursos

En la imagen anterior, los recursos de aplicación se organizan según su tipo en estos subdirectorios: las imágenes irán en el directorio drawable; 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 código y mediante declaración en XML mediante una sintaxis XML especial.

Estos recursos se denominan recursos predeterminados y todos los dispositivos los usan a menos que se especifique una coincidencia más específica. Además, cada tipo de recurso puede tener opcionalmente recursos alternativos que Android puede usar para dirigirse a dispositivos específicos. Por ejemplo, se pueden proporcionar recursos 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án imágenes para dispositivos establecidos en una configuración regional en francés. Puede ver un ejemplo de cómo proporcionar recursos alternativos en la imagen siguiente, donde se ejecuta la misma aplicación con solo cambiar la configuración regional del dispositivo:

Pantallas de ejemplo para diferentes configuraciones regionales

En este artículo se hará un análisis completo del uso de recursos y se tratarán los temas siguientes:

  • Aspectos básicos de los recursos de Android: use los 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: compatibilidad con las diferentes resoluciones de pantalla y densities en una aplicación.

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