App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando
--- PHP y MySQL en App Inventor 2 --
Volver al índice del tutorial de PHP y MySQL
____________________________
365.- App inventor y MySQL. Imágenes en la base de datos. BLOB.
- Este tutorial se desarrolla en estas tres páginas, es conveniente estudiarlas en este orden:
360.- Imágenes BLOB en la base de datos MySQL. (I)
360B.- Imágenes BLOB en la base de datos MySQL. Otro método. (II)
365.- Imágenes BLOB en la base de datos MySQL. App inventor 2.
--------------------------------------------------------------------------------------------------------------------------
- En el tutorial anterior, vimos como guardar una imágen en la base de datos MySQL, la imagen se guardaba como tipo BLOB.
- Ahora vamos a ver algo parecido pero desde App inventor, simplemente adaptaremos algunos códigos.
- En el tutoria 4.- Selector de imagen. vimos la forma de seleccionar una imagen de la Galería de imágenes.
- Pero nosotros utilizaremos para seleccionar la imagen un buen explorador de archivos para Android.
- El Explorador de archivos que vamos a utlizar lo vimos en el tutorial 78.- Navegador de archivos, utilizaremos en navegador AndExplorer que debemos instalar en nuestro móvil.
________________________________________________
- Bueno, vamos a recordar, en el tutorial 360.- Imágenes BLOB en la base de datos MySQL. (I)
- vimos que entrando en esta página... - http://kio4.esy.es/blob_subir.htm
... podíamos subir los archivos en la base de datos.
- Ahora resulta que queremos entrar en esa página pero desde App inventor y observamos que con App inventor y el VisorWeb no funciona en el formulario.
______________________________________________
- 1er intento.
p365_mysql_imagenes_blob.aia
- Simplemente lo intentamos desde el VisorWeb, no va a funcionar.
______________________________________________
- Diseño y Bloques.
______________________________________________
- 2º intento.
p365B_mysql_imagenes_blob.aia
- Vamos a lanzar el navegador web desde ActivityStarter.
- Para ello pondremos estas Propiedades en el ActivityStarter.
Acción: android.intent.action.VIEW
UriDelDato: http://androide.netai.net/blob_subir.htm
______________________________________________
- Diseño.
______________________________________________
- Bloques.
- Sale el formulario de http://kio4.esy.es/blob_subir.htm, y al pulsar Seleccionar archivo, saldrá los exploradores de archivos que tenemos instalado en nuestro móvil.
- Aconsejo que instales el explorador AndExplorer, lo utilizaremos en otra aplicación: 78.- Navegador de archivos
______________________________________________
- 3er intento.
NOTA: este código para subir archivo no funciona en muchos servidores web, para que funcionen deberían tener en su configuración de PHP esta línea habilitando las subida de este tipo.
always_populate_raw_post_data = on
En el hosting de 000webhost sí funcionó.
|
p365C_mysql_imagenes_blob.aia
- Bien, pero nos gustaría que la elección de archivo se hiciera desde código de App inventor, no desde el formulario de la web.
- Para ello vamos a poner un ActivityStarter para elegir archivo, utilizaremos el explorador AndExplorer, que acabo de comentar en el punto anterior.
- Para lanzar el AndExplorer lo haremos mediante un ActivityStarter, con estas Propiedades:
Acción: android.intent.action.PICK
TipoDeDato: vnd.android.cursor.dir/lysesoft.andexplorer.file
UriDelDato: file:///sdcard
- Por otra parte, ¿recuerdas cómo subimos archivo?, ese será el código de App inventor para subir al archivo. 327_subir_archivos_php
______________________________________________
- Diseño.
______________________________________________
- Bloques.
- Debemos instalar en nuestro móvil el explorador de archivos AndExplorer.
- En el ActivityStarter, debemos poner
Acción: android.intent.action.PICK
TipoDeDato: vnd.android.cursor.dir/lysesoft.andexplorer.file
UriDelDato: file:///sdcard
- Estos datos los podemos poner en la parte del Diseño, en sus Propiedades en la parte de los bloques.
- La página de subida es blob3_subir.php
______________________________________________
- Código PHP.
- El código de subida será el siguiente:
blob3_subir.php |
<?php
// Juan A. Villalpando
// kio4.com
error_reporting ( 0 );
mysql_connect("mysql.hostinger.es", "u798509677_juan", "contraseña") or die(mysql_error()) ;
mysql_select_db("u798509677_comun") or die(mysql_error()) ;
$data = file_get_contents('php://input');
file_put_contents($_GET['imagen'],$data);
$nombre_archivo = $_GET['imagen'];
$fp = fopen($nombre_archivo, 'r+b');
$data = fread($fp, filesize($nombre_archivo));
fclose($fp);
$tipo ='image/png';
$data = mysql_escape_string($data);
$resultado = @mysql_query("INSERT INTO dibujos (imagen, tipo_imagen) VALUES ('$data', '$tipo')") ;
?> |
- Este código lo que hace es recibir el archivo y guardarlo en el mismo directorio donde se encuentre el cógido PHP-
- El archivo siempre se guardará con el nombre: todaimagen.png
- La página de subida es ahora blob3_subir.php
- En el código, el archivo sube al directorio, luego se abre y se convierte a string y después se inserta en la base de datos.
- El listado de archivos se puede ver en...
http://kio4.esy.es/blob2_listado.php
[El código de blob2_listado.php, lo vimos en el tutorial anterior]
_________________
- Propuestas.
- Realiza el mismo ejemplo con el SelectorDeFecha.
_______________________________
|