Cómo conectar Android con Django

En este tutorial veremos cómo hacer una aplicación para Android muy simple que tenga una conexión con Django, además que tenga las operaciones básicas de CRUD.

Para tener una idea de cómo funciona te hago un pequeño resumen. Primero la aplicación Android realiza una tarea supongamos el de listar productos, para esto hacemos una petición HTTP la cual Django lo procesa y hace la consulta a la base de datos para retornar los datos que la aplicación está pidiendo. Muy bien profundicemos.

Tenga en cuenta que todo este código que se está mostrando en este tutorial es para facilitarte y orientarte con la conexión de Android con Django. No debe tomar esto como una práctica de desarrollo estándar o segura. En el entorno de producción, lo ideal es que evites cualquier código que pueda inyectar vulnerabilidades, que tampoco no es tema de este tutorial.

Haciendo una API REST con Django Rest Framework

Para poder conectar Android con Django vamos a construir una API REST de una manera fácil escribiendo pocos lineas de códigos. Para ello vamos usar Django Rest Framework que nos simplifica mucho la tarea.

Configurando el entorno de desarrollo

Para este tutorial estoy usando Python 3.6.6, como usaremos Django 2.X en este tutorial, le aconsejo que instale la última versión de Python 3.4, 3.5 o 3.6 si no la tiene en su máquina de desarrollo.

Creando API REST

Dirígete a un directorio y crear una carpeta donde crearemos el proyecto y sigue los siguientes pasos.

1: Lo primero que vamos hacer es crear un entorno virtual llamado env para ello ejecutamos el siguiente comando en la consola de comandos.

2: Activar el entorno virtual, esto depende del SO que estemos usando

3: Instalamos Django en este entorno virtual que acabamos crear y activar, también instalamos Django Rest Framewrok.

4:  Continuamos creando un proyecto Django

5: Luego creamos una aplicación Django

6: Con el proyecto y aplicación creado, ahora necesita sincronizar con su base de datos por primera vez y crear un usuario root.  La base de datos puede ser PostgreSQL, MySQL, etc. Esto puedes configurar en settings.py en el apartado de  DATABASES, por ahora no te preocupes por esto, ya que Django por defecto usa SQLite.

7: Ejecutando nuestro proyecto, es hora de saber la verdad.

Si abres el navegador y accedes a http://127.0.0.1:8000/ verás una bienvenida de Django similar a la siguiente imagen:

Para poder acceder al panel administrador que Django tiene solo tienes que agrega /admin/ a la principal, que quedaría así:  http://127.0.0.1:8000/admin/ obviamente tienes que iniciar sesión con los credenciales del usuario que creaste anteriormente.

8: Creación de modelo. Ahora si ya empezamos a escribir código.

Abra el archivo producto/models.py y agrega el siguiente código, con esto estamos creando un modelo llamado Producto

9: Ahora crearemos los serializadores que nos ayudará a transformar y manejar nuestras instancias de series en formato JSON, crea un archivo Python en producto/productoSerializer.py y escribe lo siguiente

10: Django REST Framework incorpora una abstracción para trabajar con ViewSets, que nos permite concentrarnos en modelar el estado y las interacciones de la API, y dejar que la construcción de URLS se gestione automáticamente, en base a unas convenciones comunes. Crea un archivo Python en producto/productoViewset.py

11: Crea un archivo Python para manejar las urls en producto/urls.py, es aquí donde se definen todos los endpoints para la aplicación, cada aplicación django debe tener un archivo urls.py que gestiona los endpoints que le corresponden.

También tenemos que indicar en el proyecto principal que se va usar como urls el archivo que acabamos crear, abra el archivos Inventario/urls.py

12: Si tienes el servidor corriendo presiona CTR + C para para y hacer las migraciones del modelo que creamos  y escribe lo siguiente en el terminal.

  • makemigrations: responsable de crear nuevas migraciones basadas en los cambios que haya realizado en sus modelos.
  • migrate: responsable de aplicar y desaplicar migraciones.

Ahora ejecuta el servidor para hacer las pruebas de la API REST para ello ejecuta

GET – Recuperando información

Una ves que tengas el servidor ejecutando accede al a siguiente ruta que definimos en el archivo urls.py http://127.0.0.1:8000/api/producto/ y veras este resultado:

Como verás devuelve un JsonArray vació ya que todavía no hay datos, para ello llenamos el formulario y hacemos click en POST en seguida veremos que ahora ya devuelve una respuesta.

Para hacer el la prueba de nuestro API REST es recomendable usar Postman una herramienta recomendable para estos casos por ejemplo hacer una petición POST, DELETE y UPDATE ya que con el navegador no podremos hacer este tipo de peticiones.

POST – Enviando información

Este tipo de petición le verificaremos en postman, la información enviaremos en el cuerpo con los parámetros tal cual el modelo que hicimos en Django.

PUT – Actualizando datos

Este tipo de petición sirve para actualizar la información almacenada, para esto necesitamos pasar un parámetro en la url que es el id del producto, con esto Django identifica y actualiza.

DELETE – Eliminando datos

Como su nombre mismo con este tipo de petición eliminaremos la información guardado para ello tenemos que pasar un parámetro que es id del producto en la url.

Ya tenemos nuestra Api Rest funcionando con las operaciones básicas de un CRUD, Ahora sigue Android desde donde se va consumir para lograr la conexión con Django.

Creando un proyecto Android

Esto lo hacemos en un próximo tutorial.

 

Frank Lopez Coras

Hola, soy Frank, apasionado por el desarrollo de software. En este blog escribo tutoriales y artículos relacionados con la programación, desarrollo de aplicaciones y webs.