Consumir servicios Web con Android SDK

 Android SDK (Software Development Kit), es un conjunto de herramientas para el desarrollo de aplicaciones para el sistema operativo Android desarrollado por la empresa Google. Las partes del previo son conjunto, depurador de código, librerías de desarrollo desde la primera versión de Android 1.5 conocida como CupCake y la más reciente Lollipop, un simulador o emulador para ejecutar pruebas, paquetes que incluyen documentación, ejemplos de código y tutoriales para el desarrollador curioso y autodidacta.

Leer también: 5 sitios web que debes visitar cuando estés sumamente aburrido

 La plataforma integral y oficial de desarrollo para este sistema operativo móvil es  Android Studio, fue anunciada en el evento Google I/O 2013 y hace unos meses sale al público su primera versión estable, dejando en un segundo plano a Eclipse y su complemento ADT (Android Development Tools Plugin).

El desarrollo de aplicaciones para Android se realiza mediante el lenguaje de programación Java, por lo tanto, es necesario conocer y manejar técnicas de programación de hilos en segundo plano, conocer la ejecución de hilos mediante la clase AsyncTask, este ultimo requiere el uso y conocimientos en las  inner classes en Java.

 Un servicio web es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos. Se pueden utilizar los servicios web para intercambiar datos en redes de comunicaciones para ofrecer servicios de interoperabilidad, que se consigue mediante la adopción de estándares abiertos.

 Para consumir servicios Web de tipo RESTful, la transferencia de datos se realiza en formatos simples, los dos más populares son XML y JSON, el último es el mas recomendado debido a que suele ser menos pesado o verboso que XML, lo que permite que la descarga sea mas rápida y el consumo de la batería sea mínimo.

 ¿Cuál cliente utilizar para conectar una Android SDK y un servicio Web?

Android SDK incluye 2 clientes HTTP en su paquetería, Apache HTTP Client y Java’s HttpURLConnection. Además, existen librerías de código abierto como: OkHttp ,Volley y Retrofit.

Véase:

http://square.github.io/okhttp/

https://android.googlesource.com/platform/frameworks/volley/

http://square.github.io/retrofit/

Apache HTTP Client, consiste en dos clases principales DefaultHttpClient y AndroidHttpClient, esta librería es poderosa, robusta y flexible, gestiona los escenarios HTTP (Request,Response y Error) más comunes, pero desde el año 2011 el equipo oficial de Android ya no le da soporte a esta librería, su estatus es de congelada.

HttpURLConnection, forma parte del paquete java.net, además se trabaja con la clase URL y para el manejo de los escenarios HTTP (Request, Response y Error) se requiere el uso del paquete java.io. Esta clase es sumamente liviana y además, el equipo oficial de Android le da soporte a esta librería y la consideran el futuro en conexiones remotas en las aplicaciones. El desarrollo mediante esta última es compleja debido al detalle que se requiere conocer y manejar, pero al mismo tiempo da mayor libertad  para solucionar detalles o situaciones específicas, aunque aumenta notablemente el número de líneas de códigos que debe usar el programador.

 Vease: http://developer.android.com/reference/packages.html

Para mayor informacion referente a este tópico, verifique las guías de desarrollo oficiales de Android, la documentación  y ejemplos que puede descargar mediante Android Studio.

 Happy coding 🙂

 

DesdeLaPlaza.com/José M. España F.

Twitter: @YoSoyChiqui