Que tal devs, ahora les vengo a compartir un proyecto para hacer networking desde Android usando la librería Retrofit y GSON. Empezaremos explicando qué son, para que sirve cada una de estas librerías y porque deberías empezar a utilizarlas en tus proyectos!

¿QUÉ SON?
Retrofit: Un cliente HTTP seguro para Android y Java. Esta librería nos permite consumir servicios web RESTful de una forma sencilla, pueden ver ejemplos de uso en la documentación oficial: http://square.github.io/retrofit/
GSON: Libreria Java de serialización/deserialización para convertir Objetos a JSON y viceversa. El repositorio oficial en github: https://github.com/google/gson

¿CUÁNDO LA USO?
Un caso de uso muy común es conectarse a una API para conocer el clima de nuestra ciudad, por ende nuestra aplicación deberá enviar una petición a una dirección similar a la siguiente: http://serviciodelclima.net?ciudad=Monterrey&app_key=123456. Una vez que nuestra petición sea procesada, el servicio nos contestará algo como lo siguiente:

 

{
  "ciudad": "Monterrey",
  "grados": 35,
  "unidades": "centigrados"
}

 

Ya que tenemos nuestra respuesta en formato JSON, solo nos quedaría deserializar los datos, y es aquí donde entra GSON para ayudarnos a convertir Objetos JSON o Arreglos JSON a POJO’s (Objetos comunes en Java), además de que nos permite establecer que atributos queremos procesar y/o especificar las formas de des/serialización entre otras funciones.

VENTAJAS
Retrofit hace la función de wrapper para el cliente OkHttp, esta última es en realidad el cliente por defecto que usa Retrofit para realizar las peticiones. Si quisiéramos podríamos utilizar solo OkHttp para realizar nuestras peticiones, pero ello implica que tengamos que crear una instancia de AsyncTask o crear nuestro propio hilo de ejecución. Tampoco necesitamos implementar GSON, podemos deserializar JSON con las clases nativas JSON Object y JSON Array de Java, pero GSON nos ayuda en el manejo de las respuestas ahorrándonos escribir código y tiempo.

PRÁCTICA
Ahora si manos a la obra! Esta práctica actualmente tiene 3 ejemplos:
  • PETICIÓN GET CON ENVÍO DE PARÁMETROS
  • PETICIÓN POST CON ENVÍO DE PARÁMETROS
  • PETICIÓN GET QUE RETORNA UN JSON ARRAY
pero continuaré actualizando con más ejemplos tanto de GSON como para los métodos de Retrofit.
Una vez que bajes el código podrás ver la descripción de como definir la instancia de retrofit y gson para realizar las peticiones paso a paso. Además también esta el código PHP que genera las respuestas en formato JSON.

 

Repositorio del proyecto: https://github.com/eichgi/Retrofit
Si tienes alguna duda o aclaración por favor escribe en la caja de comentarios!

Leave a Reply