Guardar imagenes desde Android en base de datos externa

Guardar imagenes desde Android en base de datos externa

Guardar imagenes desde Android en base de datos externa
5 (100%) 13 votos

Buen día! El día de hoy vamos a ver un sencillo pero bastante útil ejemplo sobre como guardar imágenes desde android en base de datos externa, esta base de datos sera una mysql y conectara directamente con la base de datos para guardar la imagen en una tabla. Este articulo bien podría llamarse como hacer peticiones http con post desde android a un archivo php pues es la forma en la que conectaremos con el archivo php para guardar la imagen en base de datos, te animas?

Solicitar imágenes en Android

Lo primero que tenemos que hacer es solicitar al usuario seleccionar una imagen, la cual posteriormente se guardara en la base de datos, para esto obviamente lo tendremos que hacer en entorno android.

Dentro del código de cualquier botón de tipo “Elegir imagen” colocamos el siguiente código:

para llamar el cuadro de elegir archivos de android. Pasamos un numero de parámetro solo para identificar el uso de esta llamada al file chooser.

Ya dentro del código del filechooser tenemos..

Establecemos que el file chooser puede ver archivos de imagen e invocamos el método startActivityForResult que lanza el file chooser y manda el resultado a otra función conocida como onActivityResult en la cual conoceremos el resultado de la operación. En el método startActivityForResult pasamos un tercer parámetro que es el encargado de enlazar con la función onActivityResult para saber que ese resultado es de esta llamada.

Obteniendo la imagen

El método onActivityResult seria algo como lo siguiente..

Aqui obtenemos el código de la imagen seleccionada, la recortamos a un tamaño de 500 x 400, checamos si viene nula y si todo va bien mandamos llamar un método llamado uploadImage();

Realizando la petición http post con php

Ahora es tiempo de realizar la petición http por método post para mandar el código de la imagen a un archivo php.

Como este proceso bloque la UI de android tenemos que hacerlo mediante un proceso asíncrono, es por eso que haremos uso de la clase AsyncTask de android.

En esta clase el proceso se divide en 3 fases: preExecute, que aprovechamos para mostrar un progressDialog para mostrar al usuario que se esta trabajando.. doInBackground: hace el trabajo pesado de la conexión al archivo php mediante RequestHandler y HashMap para enviar parámetros.. postExecute: cierra el progressDialog y muestra un Toast con el texto que regresa el archivo php (“Imagen guardada exitosamente”).

Guardando la imagen en base de datos con PHP

Codigo para guardar la imagen con php.

Concluyendo

Ahora sabemos como solicitar archivos, en este caso imágenes, al usuario desde android, también aprendimos como realizar procesos largos que bloquean la UI sin que esto suceda mediante la clase AsyncTask, como realizar una petición http por método post a un archivo php y desde este guardar la imagen en una base de datos.

Hasta la próxima!

Guardar imagenes desde Android en base de datos externa
5 (100%) 13 votos

Deja tu comentario

Una respuesta ¿Qué opinas tú del tema?

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Loading Facebook Comments ...