Hace unas días la empresa 47 Degrees liberó bajo licencia Apache 2, 3 librerías para facilitar a los desarrolladores de Android el acceso a API’s REST. Las librerías están disponibles en su GitHub , una de ellas de propósito general llamada RESTrung proporciona una interfaz clara y sencilla para interactuar desde aplicaciones Android con recursos REST. Las otras dos librerías clientes para acceder a información meteorológica (World Weather Online y Wunderground) que a su vez usan RESTrung. Estas dos últimas librerías meteorológicas surgieron como alternativa al acceso del servicio interno que Google decidío cerrar recientemente y dejo tantas aplicaciones que dependías del servicio sin alternativa. Pasamos a describirlas una a una:
RESTrung
Como hemos dicho una librería de propósito general para trabajar con recursos REST. Trabaja de una manera muy sencilla. La interfaz principal envia peticiones y recibe respuestas serializadas a través de la clase RESTClient a la cual se puede acceder desde la factoría RestClientFactory. Lo más interesante es que las llamadas son asíncronas y se encargará de devolverte los datos a tu delegado con los objetos de respuesta serializados y listos para trabajar con ellos. Sólo debes de crearte los objetos Request (peticiones) y Response (respuestas) y no tendrás que pasear archivos JSON nunca más :-pOs dejamos un ejemplo a continuación de un GET al servidor donde podéis ver como hace la llamada asíncrona y devuelve los datos en el método onResult. Podéis verlo en este Gist, tenéis más información en la web de RESTrung.
Android WorldWeatherOnline Client
El servicio de Google Weather cerró hace algunas semanas y los desarrolladores que lo usábamos tuvimos que buscar otros servicios. Uno muy interesante es World Weather Online que ofrece de forma gratuita 3 días de previsión meteorológica y nos puede servir para ofrecer información dentro de nuestras aplicaciones. Podéis descargar android-worldweatheronline-client desde GitHub o usarlo con Maven como aparece en la documentación.Esta librería usa como base RESTrung y puede ser una buena forma de ver como se implementa un cliente sencillo usando la potencia de la primera librería. Puedes obtener mucha información de una manera muy sencilla. Simplemente haces una llamada al cliente de la librería y te devolverá un objecto WorldWeatherOnlineResponse donde puedes acceder directamente a toda la previsión. Puedes ver este Gist para comprobar lo sencillo que es.
Android Wunderground Client
Esta librería es muy similar a la anterior pero tiene mucha más información como astronomía, huracanes, alertas, cámaras web y muchos más servicios. A diferencia de la anterior el servicio REST de Wundeground ofrece en su versión gratuita puedes una restricción de llamadas permitiendo pagar por volumen más altos de llamadas.La librería también usa RESTrung como base, al igual que la anterior, y el modelo de trabajo es casi idéntico a el cliente WorldWeatherOnline, pero como hemos dicho con mucha más información. Aquí tienes un ejemplo en Gist de como usarlo.
Para cualquier duda sobre estas librerías y otras iniciativas open source de 47 Degrees os podéis poner en contacto con ellos en @47deg_es!