Recursos imprescindibles para desarrolladores Android (I)
En El Androide Libre nos encanta hablar de programación, como hemos podido ver en secciones como Aprende Android en 20 conceptos.
También nos gusta hablar sobre diferentes recursos que todo programador puede usar. Y si a esto sumamos la llegada de Material Design y Android 5.0 Lollipop, nos lleva a una gran cantidad de información y recursos nuevos.
Por ello, hoy estrenamos una sección donde iremos recopilando algunos de los recursos y la información más relevantes de la actualidad para todo programador Android.
Recursos sobre Material Design
Material Design está de moda, así que empezaremos abordando un poco este tema, pues desde la llegada del rediseño del ecosistema Google no paran de salir recursos relacionados con este nuevo diseño material.
AppCompat v21: Material Design Pre-Lollipop
Con la liberación de la SDK de Android 5.0 llega una nueva actualización de la librería de soporte y compatibilidad AppCompat, librería clave para muchos programadores cuando queremos poder utilizar elementos de versiones recientes en versiones antiguas de Android.
No sólo podremos utilizar los temas de estilos de Material Design, sino nuevos objetos como el widget Toolbar, entre una gran cantidad de cosas. De hecho, es la librería que Google utiliza para sus propias aplicaciones, como Google Play. Además, la propia compañía nos explica cómo utilizar dicha librería, en caso de que aún no sepamos cómo utilizarla.
MaterialDesignLibrary
Sin embargo, no todas las novedades están incluidas en esta librería de soporte de Google, por lo que es muy común encontrarnos librerías de terceros como MaterialDesignLibrary, una librería en GitHub que nos permite disponer de algunos componentes de Material Design en nuestra aplicación sin necesidad de obligar a tener Lollipop en el dispositivo.
Concretamente nos ofrecerá tanto botones, switches, indicadores de progreso y otros widgets, todos ellos en varios formatos de los que podemos encontrar en la guía de diseño de Material.
Guía para implementar Material Design en Android
Google es y será posiblemente una de las mejores fuentes para recoger los recursos sobre su ecosistema, y ese es el caso que podemos ver en otro artículo que publicaron en su blog de desarrolladores de Android, donde nos explican cómo debemos implementar Material Design en una aplicación Android.
En él podremos ver tanto ejemplos gráficos como el código asociado que permite eso, de tal forma que nos resulte realmente fácil de reutilizar para nuestra aplicación.
Checklist sobre Material Design en Android
Ya hemos visto anteriormente las mejores apps con Material Design, lo que nos ha llevado a plantearnos: ¿qué es lo que realmente debe cumplir una app para ser Material Design?
Y es que Material Design no son simplemente colores llamativos y planos y un botón flotante redondo para una acción positiva: es una nueva forma de entender la interacción de usuario, donde el usuario tendrá la sensación más material de cada elemento. Y para ello, Google ha publicado lo que consideran una lista de las cosas que deberíamos cumplir para que nuestra aplicación sea Material Design 100%. Se trata, por tanto, de un recurso imprescindible.
Icono Hamburguer al estilo Material en CSS
Si no es suficiente con el desarrollo nativo, y también necesitamos adaptarnos en web, podemos usar este tipo de recursos donde tendremos el famoso icono Hamburguer (3 rayas horizontales) al más puro estilo Material, pero con código CSS.
Errores y Problemas
Es cierto que ahora que Material Design es muy nuevo, todos los programadores están muy entusiasmados con utilizar estas nuevas posibilidades. Pero, ¡no podemos olvidar lo básico! Y lo básico es que sigamos programando de tal forma que evitemos caer en los típicos errores que muchos programadores cometen, así como intentar evitar cualquier tipo de problema que la API de Android nos pueda causar.
Errores a evitar
En primer lugar, tenemos que intentar evitar los típicos errores que todo principiante comete, como el famoso y odiado error ANR (Application not responding). Pero es que cuando te paras a ver diferentes apps de Google Play, te das cuenta de que no son sólo los principiantes los que cometen esta clase de errores y que hay muchos más programadores de los que creemos que realmente no conocen bien la API con la que trabajan, o que tienen por ejemplo un código tan complejo que no es comprensible sin llenarlo de comentarios (¡error!).
Así que si quieres programar una buena app, antes de picar código hay que estudiar bien la API y seguir consejos generales de programación para que nuestro código sea de calidad, y así lo reflejemos en el resultado final.
8 errores comunes que cometen los programadores principiantes en Android
Fragmentos y Actividades: ¿un problema de comunicación?
Cuando queremos hacer nuestras pantallas reaprovechables para una versión tablet, sabemos que tenemos que utilizar Fragmentos en lugar de Actividades, dejando que las actividades simplemente se encarguen de cargar los fragmentos.
Sin embargo, en muchas ocasiones nos encontramos que no toda la interacción de fragmentos funciona como debería, y esto es debido a la independencia en los ciclos de vida de fragmentos y actividades. Para ello, podemos utilizar la implementación BusEvent llamada Otto, simple de utilizar y bien documentada.
Otras herramientas
AIDE Web
Esta aplicación para Android es un editor web que nos permite desarrollar webs en HTML, CSS y JavaScript directamente desde nuestro dispositivo Android. Además, tendremos disponibles lecciones de código paso a paso, para que podamos aprender. La aplicación es gratuita, pero ofrece compras integradas en la app.
Decompilador JEB
Esta herramienta nos permitirá decompilar aplicaciones Android y bytecode Dalvik ofuscado. De esta forma podremos ver cómo otras apps han hecho algo que realmente nos ha llamado la atención. Además, nos permitirá refactorizar y anotar nuestro análisis, todo ello gracias a una API. Sin duda, una útil herramienta para la ingeniería inversa.
Stream en vivo gracias a YouTube
Este proyecto llamado YouTube WatchMe for Android nos permite integrar fácilmente un streaming de YouTube en nuestra aplicación Android. Se trata de un proyecto de código abierto que utiliza la API de datos de YouTube en su versión v3, así como Google Play Services y otras APIs adicionales.
Y hasta aquí por hoy, pero la lista continuará…