Antes de empezar a hablar sobre el consumo de servicios HTTP desde tu aplicación Android, debemos hacernos la siguiente pregunta:

¿Para qué necesitamos conexiones de red en nuestras aplicaciones móviles?

Normalmente los datos son almacenados en una base de datos, y esos datos son consumidos por aplicaciones de escritorio y aplicaciones web, hoy con el crecimiento del uso de aplicaciones móviles, necesitamos que estos puedan acceder a dichos datos, y para ello nos valemos de los servicios web.

Nos permite interacción y comunicación con los usuarios. El protocolo más utilizado para esta comunicación es HTTP, el mismo que utilizan las páginas web.

Aprende a consumir servicios HTTP desde tu aplicación Android. Clic para tuitear

Consumir servicios http con la clase HttpUrlConnection

Para hacer uso de la clase HttpUrlConnection debemos seguir dos reglas:

  1. Especificar los permisos correspondientes en la aplicación, INTERNET y ACCESS_NETWORK_STATE.
  2. Realizar la conexión en un hilo secundario y no en el hilo principal, conoce sobre el manejo de hilos.

Los datos leídos de la conexión vienen en datos binarios vía un InputStream, es necesario convertirlos al formato deseado. Por ejemplo para convertirlos a String:

Librerías para consumir servicios http con Android

Existen librerías desarrolladas para consumir servicios HTTP (creadas por Google o por terceros), para facilitarnos la labor de conexión a un servicio HTPP.

Entre sus principales objetivos y ventajas podemos indicar:

  • Manejan automáticamente la conexión en un hilo secundario, es decir nosotros ya no nos preocupamos por programar el subproceso.
  • Convierten la data binaria al formato deseado (String, XML o JSON).

Entre los más conocidos tenemos a Volley y AsyncHttp.

Librería Volley para consumir servicios HTTP desde Android.

Es un proyecto mantenido por el Android Open Source Project, teniendo las siguientes características mas resaltantes:

  • Programación automática de request.
  • Conexiones concurrentes.
  • Caching.
  • Soporte para cancelación de request.

Ejemplo de uso de Volley:

Visita el sitio web del Proyecto Volley.

Librería AsyncHttp para consumir servicios HTTP desde Android

Está librería es un proyecto independiente de código abierto. Implementa las operaciones HTTP y los tipos de respuestas mas comunmente utilizados.

Características:

  • Soporte para parámetros en el request.
  • Subida de arhivos.
  • Soporte para cookies.

En sus últimas versiones han presentado errores con algunos servidores en peticiones del tipo HTTPS.

Ejemplo de uso de AsyncHttp:

Visita el Proyecto AsyncHttp.

Palabras finales.

Seguro estarás preguntandote si lo que vimos en este artículo son los únicos métodos para poder realizar conexiones a servicio http, pero existen otras librerias para hacer está tarea desde Android. Otra librería muy utilizada es Retrofit, pero para ello nos dedicaremos en un futuro artículo con mayor detalle.

No olvides seguirnos en nuestra redes sociales, compartir el artículo y suscríbirte a nuestro boletín para recibir las futuras actualizaciones.

Acerca del Autor

Grover Vásquez

Profesional de TI con más de 10 años de experiencia, en el campo de las Tecnologías de la Información, Programación y Seguridad de la Información. Instructor Online y presencial de cursos de programación de aplicaciones.

Ver Artículos