Descargar archivos en Android con Phonegap

En la red podemos encontrar de todo, pero no siempre algo que nos satisfaga en cuanto a el requerimiento, en esta ocacion vamos a poner el ejemplo de la funcion que nos ayuda a realizar descargas utilizando PHONEGAP, mejor conocido hoy dia como Cordova, un framework con el que realizamos apps android o iOs de forma nativa, pero... codificando en html !!!

La lección de hoy va porque necesitamos descargar un archivo y la documentacion apesar de ser muy clara, no siempre nos funciona a todos, veamos pues;

Como primer paso tenemos que agregar los complementos en nuestro archivo config.xml

 

<plugin name="File" value="org.apache.cordova.FileUtils" />
<plugin name="FileTransfer" value="org.apache.cordova.FileTransfer" />    

Estos plugins nos ayudan a manejar el sistema de archivos y las transferencias,  como segundo paso hay que verificar que tengamos acceso a los servidores, igual en el config.xml hay que checar que exista

  < access origin=".*" subdomains="true" />

y ahora el codigo que utilizaremos

descarga = new fileTransfer();  // definimos un nuevo fileTransfer

descarga.download( archivo_origen,  destino, exito, error );  //Modo de uso

donde:

Archivo tiene que ser una url del tipo:  http://www.mi_servidor.com/archivo.algo

Destino se va a manejar  file://sdcard para tenerla en la misma, debemos poner doble linea porque con una no funciona, puesto que no hay permisos.

Exito,  en esta funcion vamos a poner las acciones que querramos cuando se termine la descarga, normalmente un alert();

Error, aqui podemos agregarle mas campos para que sepamos que fue lo que paso, entre ellos son   source, status, code, target, los cuales no explicare porque estan en la documentacion de phonegap.

OJO !!!,  para hacer estas pruebas necesitan estar con un dispositivo android, por alguna extrania razon que aun no se, en el emulador no funciona, pero ya en el dispositivo android va muy bien.

 

Lee mas sobre la funcion en la documentacion oficial:

http://docs.phonegap.com/en/2.7.0/cordova_file_file.md.html#FileTransfer

Back to Top