jueves, 29 de mayo de 2014

Introducción a File Plugin

El plugin "File" de Cordova es simplemente una implementación de la API del sistema de ficheros de HTML5. No es algo en lo que vayas a entrar en profundidad, ya que en el ámbito de Apache Cordova, sólo nos interesa en lo referente al manejo eventual de esta característica por parte de otros plugins, como puede ser el caso de Media o FileTransfer.

En este enlace podéis encontrar una extensa documentación (en varios idiomas, incluido el español) sobre el manejo de esta API para HTML5

Para instalar el plugin File en un nuevo proyecto de Cordova, nos situamos en el directorio del mismo, y una vez instalada la plataforma correspondiente (Android en nuestro caso), escribimos lo siguiente:

cordova plugin add org.apache.cordova.file

Es habitual que File se descargue automáticamente junto con otro plugin que requiera de alguna de sus características, como es el caso de Media. Por lo que no es habitual que tengáis que recurrir a instalarlo manualmente.

Plataformas soportadas
  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • iOS
  • Windows Phone 7 and 8*
  • Windows 8*
  • Firefox OS
Lista de códigos de error y significado
  • 1 = NOT_FOUND_ERR
  • 2 = SECURITY_ERR
  • 3 = ABORT_ERR
  • 4 = NOT_READABLE_ERR
  • 5 = ENCODING_ERR
  • 6 = NO_MODIFICATION_ALLOWED_ERR
  • 7 = INVALID_STATE_ERR
  • 8 = SYNTAX_ERR
  • 9 = INVALID_MODIFICATION_ERR
  • 10 = QUOTA_EXCEEDED_ERR
  • 11 = TYPE_MISMATCH_ERR
  • 12 = PATH_EXISTS_ERR

Con respecto al almacenamiento persistente de ficheros en Android, hay que tener en cuenta algunas consideraciones. Desde versiones anteriores de este plugin, existe la posibilidad de que el plugin detecte automáticamente la existencia de una tarjeta SD. Dependiendo de esto, los ficheros con los que trabaje la aplicación se almacenan en la tarjeta o bien en la memoria interna del dispositivo.

En la nueva versión podemos escoger entre esta opción o simplemente elegir almacenar los ficheros en la memoria interna. Esto podemos hacerlo editando directamente el fichero config.xml, escogiendo entre uno de estos dos parámetros:

<preference name="AndroidPersistentFileLocation" value="Internal"/>
<preference name="AndroidPersistentFileLocation" value="Compatibility"/>

También podemos configurarlo con una serie de parámetros opcionales:

<preference name="AndroidExtraFilesystems" value="
files,files-external,documents,sdcard,cache,cache-external,root"/>

  • files: Directorio interno de almacenamiento de ficheros de la aplicación
  • files-external: Directorio externo de almacenamiento de ficheros de la aplicación
  • sdcard: Directorio global de almacenamiento (por defecto la raíz de la tarjeta SD si está habilitado). Requiere el permiso android.permission.WRITE_EXTERNAL_STORAGE 
  • cache: Directorio de caché interno de la aplicación
  • cache-external: Directorio de caché externo de la aplicación
  • root: Raíz del sistema de ficheros


No hay comentarios:

Publicar un comentario