Desarrolladores


Toma de decisiones en el desarrollo de funcionalidades

Esta semana vamos a salirnos un poco del plano detallado del desarrollo de GPMESS y nos vamos a ir a uno algo más abstracto: el de la toma de decisiones a la hora de elegir qué y cómo va a ser lo siguiente que se va a implementar tanto en la aplicación, como en el backend. Y es que en una startup es muy necesario saber qué pasos se van a dar, ya que al caminar durante mucho tiempo en una especie de cuerda floja, cualquier fallo puede aparejar un gran problema. En el libro Designing for emotion de Aarron [Seguir leyendo…]

Cómo meter un ExpandableListView / ListView dentro de un ScrollView en Android

Una pregunta frecuente que cualquier programador puede hacerse cuando se encuentra con la situación de tener que meter un ListView o ExpandableListView en un ScrollView es por qué esto no es más sencillo de hacer. La respuesta es: porque no debe hacerse. Partiendo de esto, es posible que te encuentres en una situación en la que no te queda más remedio que hacer esto, y aunque los puristas recomiendan usar un LinearLayout y añadir las celdas dinámicamente, yo os voy a contar una manera más sencilla de hacerlo. Lo primero que tenemos que hacer es crear una clase que extienda [Seguir leyendo…]

Implementando geolocalización en Android (III): Geolocalización sincronizada

En anteriores posts hemos visto cómo utilizar la geolocalización en Android en nuestra aplicación, y después vimos cómo usarla de manera centralizada aunque no sincronizada. Si necesitáis que toda la aplicación tenga siempre la misma ubicación en el mismo momento, tenemos que sacar al LocationClient del ciclo de vida de los Activity (entre comillas) y crear nuestro propio LocationManager que se encargue de avisar a la aplicación de los cambios de localización. La clase que crearemos se llamará LocationManager y será de tipo Singleton (una sola instancia para toda la aplicación). Para llamar a la clase usaremos el metodo getInstance(Context context) que [Seguir leyendo…]

Implementando geolocalización en Android (II): Geolocalización no sincronizada

En el artículo anterior veíamos cómo era posible implementar geolocalización en un solo Activity o Fragment en nuestra aplicación Android. Sin embargo, si queremos que toda la aplicación, y por tanto todos los Activitys, o al menos varios de ellos implementen geolocalización, no tiene mucho sentido ir repitiendo el código en todos ellos. Teniendo en cuenta estas consideraciones, y con el objetivo de optimizar al máximo el uso de batería, si necesitáis utilizar geolocalización en varias zonas de vuestra aplicación y no os importa que esta no esté completamente sincronizada, este es el camino a seguir. En primer lugar, basándonos en el código de [Seguir leyendo…]

Recursos para el diseño de una aplicación Android

Hace algo más de un año ya hablé sobre Holo y cómo era una de las bases del diseño de una aplicación Android. Todo este tiempo después, se ha convertido en un estándar del sistema operativo del androide verde (por el uso y no sólo en la teoría) y rara es la app que no cumple con él. Rara y fea, probablemente. También se ha convertido en un arma de doble filo, y es que muchos desarrolladores han decidido seguir las recomendaciones a rajatabla (es decir, usar el tema por defecto y no modificar nada) y nos encontramos aplicaciones sin [Seguir leyendo…]

GPMESS visita la DroidconMAD 2013

Esta semana Paula y yo hemos tenido el placer de asistir a la Droidcon Spain, la conferencia de desarrolladores Android en España en su segunda edición, dónde además dimos una charla sobre cómo implementar la geolocalización en Android. Venimos con experiencias muy positivas, desde el detalle del regalo del KitKat, un guiño a la nueva versión de Android 4.4, que nos hicieron a la entrada, pasando por el ambiente de buen rollo y la cantidad de gente del mundillo que se ha movido por el evento en estos dos días. En la zona expo se pudieron ver algunas cosas muy [Seguir leyendo…]

Implementando geolocalización en Android con LocationClient (I)

Como sabéis en GPMESS la geolocalización es muy importante, tanto que la tenemos profundamente integrada en nuestra aplicación. Existen muchos patrones que se pueden aplicar para añadir geolocalización en Android en función de las necesidades de la aplicación, e intentaré, en esta serie de 3 artículos, tratar sobre ellos. En concreto, hoy vamos a hablar sobre el caso más simple: Necesidad de geolocalización en un solo Activity. En el Google I/O se presentó, dentro de Google Play Services, el nuevo LocationClient, y es el que vamos a usar, ya que está tremendamente optimizado en comparación con el antiguo LocationManager, permitiéndonos [Seguir leyendo…]

Clases en Android

A menudo cuando uno comienza a trabajar en Android solamente necesita utilizar 3 o 4 tipos de clases distintas. Normalmente extendemos Activity, Fragment, View o AsyncTask, sin embargo llega un momento en el cual es necesario que empecemos a crear nuestras propias clases en Android, o bien para implementar interfaces como los ClickListener o algunos Callbacks, o bien para independizar código y modularizar nuestra aplicación y, en definitiva, mantener unas buenas prácticas. Con respecto al uso de clases, hagamos un repaso de los tipos de clases que podemos utilizar y en qué momento debemos hacerlo. Clases abstractas: Una clase abstracta es [Seguir leyendo…]

Cómo crear una aplicación con pestañas y navegación con desplazamiento con ViewPager

Hoy vamos a hablar de cómo crear una estructura muy básica en Android como esqueleto de una aplicación, que es ni más ni menos que una aplicación compuesta por 3 pestañas, entre las cuales podemos movernos deslizando el dedo de un lado al otro de la pantalla. Soy consciente de que en algunos editores de Android es posible generar este código automáticamente al crear un nuevo proyecto, sin embargo al ser una cosa tan básica para el funcionamiento y que muchas veces se copia y pega sin entender su funcionamiento, he pensado en explicarla algo más detenidamente. Para realizar esta [Seguir leyendo…]

De Datetime de .Net a Date de Android

Al ver esta semana el post de @Chalalo en geeks sobre cómo acceder desde Android a servicios SOAP (*.asmx) de .Net, me he acordado que tenía pendiente escribir una pequeña nota sobre algo que me dio un pequeño dolor de cabeza en su momento: cómo deserializar las fechas que nos devuelve un servicio .Net y convertirlas en un objeto Date en Android. Los tipos básicos (enteros, strings, …) se deserializan sin problemas, pero las fechas dan problemas porque cuando se serializan desde .Net en JSon, se hace como “Date(longDeTicks)”. Esto es perfecto para JavaScript, porque se interpreta esa llamada y [Seguir leyendo…]