Presiona ENTER para ver los resultados o ESC para cancelar.

Ana Mocholí en Desarrollo de apps

Los Recursos en el desarrollo de apps para Android

Si le hablamos de los recursos en Android a un cliente, al dueño del proyecto de app en el que estamos trabajando, seguramente le sonará a chino. Pero son una parte del desarrollo de apps para Android muy importante y definirlos correctamente son clave para poder llevar a cabo un buen diseño de apps. Por eso el diseñador de apps debería saber de qué estamos hablando cuando nos referimos a estos recursos… Si no, continúa leyendo, empezaremos por lo básico.

Desarrollo-de-apps-para-Android-Recursos

¿Qué son los recursos?

Básicamente, los recursos en Android son archivos o datos externos que soportan el comportamiento de nuestra app. Esos archivos pueden ser imágenes, strings, colores, estilos, etc. Una de sus principales ventajas es que facilita que los diseñadores de apps trabajen en paralelo con los desarrolladores de apps.

Aunque esto no garantiza que hayan menos errores, si existe compenetración se reducirán el tiempo de desarrollo.

Añadir un recurso a una aplicación es muy fácil, solamente hay que añadir un fichero dentro de la carpeta necesaria de nuestro proyecto. Para cada uno de los recursos que añadamos el sistema creará de manera automática, un id de recurso dentro de la clase R.

Estos recursos los encontraremos en la carpeta  MyProyect/res. Allí están los subdirectorios que agrupan los diferentes tipos de recursos de los que hablaremos a continuación.

Si aún no te ha quedado claro para qué sirven estos recursos, pasamos a darte algunos ejemplos más específicos.

  • Los recursos pueden servir para tener una app en diversos idiomas. Podemos tener valores para strings que cambien el idioma de la app dependiendo del idioma configurado en el dispositivo móvil en concreto.
  • También pueden servir para configurar la app cuando el dispositivo cambia de posición vertical (llamado portrait) a posición horizontal (llamado landscape), y viceversa, para adaptar la app y hacerla más usable.
  • Otros: ajustarse a los distintos tamaños y densidad de pantallas (smartphone, phablet, tablets, etc.), el tipo de navegación del dispositivo, etc.

Tipos de recursos para desarrollo de apps para Android

Para darte la información más oficial posible, a pesar de que hay cientos de blogs que realizan sus tablas, nosotros la sacamos de Android Developers, toda la información sobre los tipos de recursos que puedes utilizar en el desarrollo de apps para Android. Te proponemos la siguiente clasificación:

1. Animation Resources

Para definir animaciones predeterminadas.

  • Se guardan en la carpeta res/drawable/ con el identificador R.drawable. Admite ficheros en bitmap (.png, .jpg o .gif). Ficheros PNG en formato Nine-patch (.9.png). Ficheros XML con descriptores gráficos.
  • O bien en res/animator/ con el id R.anim. Permite Ficheros XML que permiten modificar las propiedades de un objeto a lo largo del tiempo.

 

2. Color State List Resource 

Determinar el color de un componente dependiendo del estado en que se encuentre.

Alojadas en la carpeta res/color/, y se accede desde R.color.

 

3. Drawable Resources

Para definir gráficos con bitmaps o XML. Se guardan en la carpeta res/drawable/ con el identificador R.drawable.

 

4. Layout Resource

Definir las interfaces de una aplicación. Alberga archivos XML. Almacenadas en res/layout/ con el id R.layout.

 

5. Menu Resource

Para definir los contenidos de los menús de la aplicación. Almacenadas en res/menú/, acceso a través de R.menu.

 

6. String Resources

Alberga archivos XML con los datos sobre strings, arrays de string (e incluido el formato de cadena y el estilo). Se pueden agruparen: strings.xml, colors.xml, dimens.xml, styles.xml o arrays.xml. Guardados en res/values, incluye R.string, R.array, y R.plurals. 

 

7. Style Resource

Definen una serie de atributos que pueden ser aplicados a una vista o a una actividad. Definir el estilo y diseño. Guardados en res/values/ y accesibles desde R.style.

 

8. Otros tipos:

Donde definiremos valores como booleanos, enteros, dimensiones, colores y otros arreglos.
Guardado en res/values/ pero cada uno accede desde subclases R únicas (como R.bool, R.integer, R.dimen, etc.).

¿Y los recursos alternativos?

Pues sí, para los recursos en desarrollo de apps para Android, también se pueden hacer variaciones. Llamamos recurso alternativo a la variación de un recurso, que se ajusta a una característica de configuración en el dispositivo móvil preciso donde se ejecuta la app.

¿Cómo es posible que podamos utilizar los recursos alternativos? Gracias al gran Google que ha confeccionado una tabla de calificaciones, que estandariza las configuraciones posibles que se puedan presentar en los dispositivos Android. Es un mecanismo gramatical que desde la versión de android 4.3 ( API 21 ) permite especificar el propósito de un recurso, es decir, modificar su función principal::

<nombre_recurso>-<calificador>

Un buen ejemplo de uso es al especificar distintas variaciones para distintos tipos de pantallas, con el recurso mipmap/. Cada versión contendrá un calificador para cada variación de pantalla. La app podrá escoger así la variación que más se ajusta al terminal.

Como nos explican en HermosaProgramación, “ipmap-hdpi contendrá la variación del recurso ic_launcher.png para aquellos dispositivos con densidades de pantalla altas (~240dpi). Esta condición es especificada por el calificador hdpi”, en el siguiente ejemplo.

desarrollo de apps android - recursos

Fuente: HermosaProgramación

La imagen, hay que recordar que, debe estar perfectamente creada para ajustarse a las densidades y tamaños específicos. Las imágenes deben ser creadas a medida de los calificadores correspondientes. A continuación te proponemos algunos calificadores:

POR TAMAÑO

Calificador o sufijo: small
Para pantallas pequeñas como QVGA (320x426dps)

Calificador o sufijo: normal
Para pantallas normales, como las pantallas del HTC Magic o equivalente (320x470dps)

Calificador o sufijo: large
Recursos para pantallas grandes. El ejemplo más claro es el de las tablets. (480x640dps)

POR DENSIDAD

Calificador o sufijo: ldpi
Recursos de baja densidad (de 100 a 120 dpi)

Calificador o sufijo: mdpi
De densidad media (de 120 y 160 dpi)

Calificador o sufijo: hdpi
De densidad alta (de entre 160 y 260 dpi)

Calificador o sufijo: nodpi
Para recursos independientes de densidad. La plataforma no escalará recursos con este calificador.

RELACIÓN DE ASPECTO

Calificador o sufijo: long
Para pantallas de cualquier tamaño y densidad, dónde la relación de aspecto tanto en ancho como en alto sea mucho mayor que la configuración base de la pantalla.

Calificador o sufijo: notlong
Para pantallas dónde la relación de aspecto es similar a la configuración base de la pantalla.

VERSIÓN DE PLATAFORMA

Calificador o sufijo: v<api-level>
Permite identificar los recursos que solamente se utilizarán para una versión específica del API o superior.

VERTICAL

Calificador o sufijo: port
Indica que esos recursos se utilizarán para la pantalla de modo portrait (o vertical).

HORIZONTAL

Calificador o sufijo: land
Indica que esos recursos se utilizarán para la pantalla de modo landscape (u horizontal).

 

Hasta aquí el artículo sobre cómo utilizar los recursos en el desarrollo Android. Si os ha servido éste artículo no dudéis en compartirlo en redes sociales o dejar un comentario aquí debajo con lo que queráis añadir.

rp_desarrolladores_apps_webs-1024x253.png

Comentarios

Los comentarios están desactivados para esta publicación