Desarrolladores


Utilizando el ActionBar en Android 2.2 y 2.3

Google añadió a Android el ActionBar en la versión 4.0 y todos los que seáis usuarios de este a partir de dicha versión, seguramente ya estéis acostumbrados a que todas las aplicaciones vengan con ella. Es la barra de navegación que tenemos en la parte superior de las aplicaciones, que nos permite volver atrás, realizar acciones, etc. Hasta hace bien poco, si queríamos desarrollar una aplicación unificada que se viese de la misma manera en todas las versiones de Android, no quedaba más remedio que usar librerías de terceros, como por ejemplo ActionBar Sherlock, para poder usar el ActionBar en [Seguir leyendo…]

3 tips para trabajar con tablas del storage de Azure

Trabajar con tablas del storage de Azure es muy sencillo, siempre que tengas claro qué es lo que quieres priorizar (lectura, escritura, …) y que entiendas que sólo podrás filtrar de verdad por las propiedades clave (PartitionKey y RowKey). Sin embargo hay tres detalles que te pueden ayudar a trabajar con las tablas de una manera más sencilla, y a no romperte la cabeza intentando descubrir por qué se produce tal excepción. 1. La entidad “fantasma” Cuando ejecutas una query sobre una tabla que se acaba de crear pero que en ningún momento ha contenido una entidad, se produce una [Seguir leyendo…]

Cómo cargar fotos en Android de manera eficiente

En el artículo anterior os enseñábamos cómo cargar fotos en Android desde vuestro dispositivo, sin embargo, no comentamos otros problemas derivados de la carga de bitmaps en esta plataforma. Cada aplicación en el sistema tiene reservados aproximadamente 16 MB de memoria, la cual ya estamos usando para otras cosas como reservar variables y objetos, por lo que si empezamos a cargar bitmaps es probable que la acabemos pronto y entonces el sistema cerrará nuestra aplicación. Afortunadamente, podemos hacer algo para evitarlo: el «truco» consiste en utilizar inJustDecodeBonds, una propiedad de la clase BitmapFactory.Options que nos va a permitir reducir el tamaño del bitmap antes [Seguir leyendo…]

Versiones alpha y beta de una app en Android desde la consola de desarrolladores

Del 15 al 17 de mayo de este año, Google se dedicó a ofrecer novedades a los desarrolladores desde el Moscone Center de San Francisco en su conferencia anual I/O. Muchas de ellas nos han sido de utilidad a GPMESS, pero una de las que más hemos aprovechado ha sido la posibilidad de lanzar versiones alpha y beta de la aplicación antes de salir públicamente a Google Play. Gracias a esta herramienta hemos testeado con grupos más pequeños de gente muchos de los problemas que han ido surgiendo a lo largo del desarrollo de la primera versión. En la consola de [Seguir leyendo…]

Analytics para Android (III): las fuentes de tráfico

Vamos a ir acabando esta serie de Analytics para Android con algo muy simple pero muy útil. Además, es algo que también han cambiado en esta última semana, por lo que tiene su poquitín de intríngulis: son las fuentes de tráfico. ¿Cómo llega un usuario a la store para descargarse nuestra aplicación? ¿Cuántos de los que llegan a ver la app en la store se la acaban instalando? Esto es algo que ha cambiado últimamente para las apps, y previsiblemente seguirá evolucionando porque hay algunas cosas que dejan un poco que desear. El último cambio es que tienes que vincular [Seguir leyendo…]

Cómo cargar fotos en una aplicación Android desde cámara, galería y otras aplicaciones

Cuando en GPMESS decidimos que los yipis iban a tener foto, se me presentó el reto de cargarlas desde distintos medios del teléfono. A priori, podemos querer cargar fotos en una aplicación Android desde la galería, sin embargo, para dar una experiencia más completa al usuario, podemos querer que también se puedan hacer directamente desde la cámara o compartirse desde otra aplicación. Éste es el primero de una serie de varios artículos dónde trataremos el tema de las fotos, que si bien es sencillo, presenta en Internet una información muy desperdigada que puede llevarnos incluso a programar varios métodos para hacer lo que podríamos hacer con [Seguir leyendo…]

Analytics para Android II: Personalización

Siguiendo con el post de la semana pasada, en el que hablamos de la sesión y de cómo mantenerla, hoy vamos a ver cómo podemos personalizar un poco la recolección de datos para poder valorar y medir cosas específicas que necesitemos saber, y que no están dentro de las dimensiones y métricas predefinidas de Analytics para Android. En concreto me centraré en las dimensiones, ya que la mayoría de datos se pueden obtener mediante eventos y vistas de pantalla. ¿Para qué podemos querer una dimensión personalizada? Por ejemplo, si como dijimos, nuestra sesión no es una sesión al uso, podemos [Seguir leyendo…]

Analytics para Android I: La sesión

Una de las cosas más importantes que tiene que hacer toda app es medir. Medir qué hacen los usuarios, medir cómo reacciona la aplicación y tener registros de todos los errores y problemas para poder resolverlos. Para todo esto, una de las herramientas más sencillas que se tiene es Analytics, la misma herramienta que ya se usaba para la web, con las pequeñas adaptaciones que tiene su librería Analytics para Android. Los pasos de instalación para poner la librería a funcionar y usar el EasyTracker para mandar las pantallas y eventos son muy simples, pero hay algunos detalles con los [Seguir leyendo…]

ViewHolders en Android

Hoy vamos a hablar de los ViewHolders, una herramienta muy útil que descubrí al pelearme con los ListView desarrollando GPMESS. Este artículo presupone que tenéis un conocimiento sobre los ListView y cómo añadir un adaptador (Adapter). En cualquier caso, haciendo una pequeña introducción, los ListView son componentes nativos de Android que nos permiten crear listas de contenidos que se rellenan mediante un Adapter. Generalmente, si nuestro ListView es solo texto, podemos usar un Adapter predeterminado de Android como el ArrayAdapter, pero en casos más complejos, como GPMESS, en el que queremos en cada elemento de la lista rellenar varios campos, tenemos que crear un Adapter personalizado. El [Seguir leyendo…]

Como optimizar el uso de roles en Azure

He pensado que era un buen momento para hablar sobre cómo optimizar el uso que hacemos de nuestros roles en Azure, de tal modo que exprimamos al máximo cada máquina. Esto es siempre bueno tenerlo en mente, pero ahora que Microsoft nos ha cambiado a los suscriptores de MSDN y a los que disfrutamos de Bizspark la forma en que se limitan los beneficios de Azure que tenemos disponibles, puede ser un gran momento para revisarlo. En nuestro caso, y sin entrar muy en detalle en cuanto a la arquitectura, tenemos un proceso que gestiona las llamadas al servicio, y [Seguir leyendo…]