Programación Android, Gson – Librería para parsear documentos JSON

En nuestras aplicaciones que conecten con servicios web será muy común realizar la comunicación a través de documentos JSON, y hace tiempo explicamos cómo parsear nosotros esos documentos a datos que pudiéramos utilizar en nuestra aplicación. Sin embargo esta tarea es bastante tediosa si tenemos que realizarla para cada una de nuestras conexiones, ya que podemos llegar a necesitar un sinfín de conexiones distintas, y cada una con su propio código para parsear los datos, y para evitar eso tenemos, entre otras, Gson (de código abierto y desarrollada por Google), una librería para parsear documentos JSON. Además, la potencia de este tipo de librerías es que no sólo nos permite pasar de un documento JSON a objetos Java, sino también a la inversa, convertir uno de nuestros objetos en un documento JSON.

En este tutorial vamos a aprender a utilizar Gson, para parsear en ambas direcciones (documento>java / java>documento) y de paso aprovecharemos para aprender a importar librerías que existen en el repositorio Maven a nuestro proyecto en Android Studio.

Qué es Maven?

En primer lugar vamos a entender qué es Maven, y por qué vamos a utilizarlo para obtener nuestra librería Gson. Según Wikipedia Maven es una herramienta de software para la gestión y construcción de proyectos Java creada por Jason van Zyl, de Sonatype, en 2002. Es similar en funcionalidad a Apache Ant (y en menor medida a PEAR de PHP y CPAN de Perl), pero tiene un modelo de configuración de construcción más simple, basado en un formato XML. Estuvo integrado inicialmente dentro del proyecto Jakarta pero ahora ya es un proyecto de nivel superior de la Apache Software Foundation.

Ahora que sabemos qué es Maven, el motivo por el que vamos a utilizar este repositorio en nuestra aplicación es porque Android Studio, a través del uso de Gradle, nos ofrece la posibilidad de descargar estas librerías directamente desde nuestro proyecto, sin necesidad de buscar archivos por internet para después importarlos al proyecto.

Y qué es Gradle?

Leer más…

Programación Android, AsyncTask – Conectar a Internet y leer documentos JSON

json

Esta semana vamos a escribir un ejemplo parecido al de la semana pasada, en el que conectábamos a una URL para recoger un documento XML y analizarlo, utilizando para eso un AsyncTask. En esta ocasión vamos a hacer lo mismo, pero con un documento JSON.
En primer lugar debemos conocer la estructura del documento previamente, para poder analizarlo después desde el código. La URL que vamos a utilizar en esta ocasión es la api de flickr, que nos permite ver las fotos publicadas en un documento JSON: http://api.flickr.com/services/feeds/photos_public.gne?format=json.

Como se puede ver en el documento, hay una etiqueta “items”, que es un array que contiene una serie de documentos JSON a su vez. Cada uno de estos documentos del array son los que contienen los datos de las fotos publicadas.
Leer más…