FIle API – Phonegap?

¿Puede alguien explicar cómo listar una carpeta de archivos en una página usando la API del archivo Phonegap para Android?

Me gustaría listar todos los archivos .mp3 si es posible, pero he leído todos los documentos de phonegap ( http://docs.phonegap.com/en/1.0.0/phonegap_file_file.md.html ) y no puedo entenderlo en absoluto !

Es un poco de dolor en el @ $$ pero factible. Comienza con este código:

 document.addEventListener("deviceready", onDeviceReady, false); // PhoneGap is ready // function onDeviceReady() { window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail); } function onFileSystemSuccess(fileSystem) { fileSystem.root.getDirectory("Music", {create: false, exclusive: false}, getDirSuccess, fail); } function getDirSuccess(dirEntry) { // Get a directory reader var directoryReader = dirEntry.createReader(); // Get a list of all the entries in the directory directoryReader.readEntries(readerSuccess,fail); } function readerSuccess(entries) { var i; for (i=0; i<entries.length; i++) { // Assuming everything in the Music directory is an mp3, go nuts // otherwise check entries[i].name to see if it ends with .mp3 } } 

Estoy escribiendo todo este código de ejemplo fuera de un IDE por lo que puede haber errores, pero que debe llegar a ir.

Paul, ¿agregaste una función fail ()? Eso será requerido en el código de ejemplo de Simon. El ejemplo de docs de api tiene:

 function fail(evt) { console.log(evt.target.error.code); } 

También podría guardar un paso en el código de Simon si sólo quería una prueba de concepto, ya que fileSystem.root ya es un dirEntry (y le ahorra el paso potencialmente con errores de tener que usar un nombre de directorio como "Music" que podría o Podría no estar allí):

 function onFileSystemSuccess(fileSystem) { var directoryReader = fileSystem.root.createReader(); // Get a list of all the entries in the directory directoryReader.readEntries(readerSuccess,fail); } function readerSuccess(entries) { var i;....... 

Que funciona para mí.

Sin embargo, lo que obtengo son los contenidos del directorio raíz de la aplicación, al parecer, mi aplicación se llama be.qan.blaActivity, así que, si le pregunto por fileSystem.root.name me dice "be.qan" y el fileSystem.root.path no está definido. Por lo tanto, mi pregunta aquí sería: ¿cómo puedo salir de esta caja de arena, si es de hecho lo que estoy sentado, y puedo tener acceso a los directorios sd_card u otras partes del sistema de archivos (ya que iOS aún no tiene incluso externa almacenamiento)?

Lo que estoy obteniendo a través de nombres de archivo en readerSuccess son nombres como "bases de datos", "app_database", "cache" y "lib" que ni siquiera aparecen cuando hago una búsqueda con Astro FileManager, Forman parte de un sistema de archivos virtual que Cordova está creando para la aplicación. Probablemente todavía hay mucho que me falta y la gente más bien informado de lo que puedo establecerme derecho, pero eso es lo que estoy adivinando hasta ahora.

Hola, uso este código y funciona para mí .. puede probarlo

 $('#recordingList').on('pagecreate', function(event) { generateRecordingList(); }); function generateRecordingList(){ //request for the file system window.resolveLocalFileSystemURI("file:///sdcard/rem", onFileSystemSuccess, onError); } function onFileSystemSuccess(fileSystem){ alert("FileSystem success : " + fileSystem.name); } function onError(error){ alert(error.target.error.code); } 
  • ¿Se pueden realizar llamadas TCP o WebSockets a través de Javascript en dispositivos Android e iOS?
  • Aplicación Android phonegap que tiene problemas con SQlite y almacenamiento local en dispositivos Samsung Galaxy
  • Pausa manualmente una aplicación en Android Phonegap
  • Cordova FileTransfer plugin params está vacío en Android
  • ¿Es mejor para aplicaciones móviles Jquerymobile o Sencha Touch? (Utilizando con Phonegap)
  • Agregue un atributo en la etiqueta "application" en el AndroidManifest desde un complemento cordova
  • Vídeo como imagen de fondo ionic app
  • Instalación de Phonegap / Cordova 3.1 plugins (código de barras)
  • Android PhoneGap con controles nativos
  • La relación entre las funciones "onBodyLoad () / onDeviceReady ()" de Phonegap y las funciones "$ (document) .ready ()" de JQuery,
  • Problema de CORS con Tomcat y Android Webview
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.