Android 列出phonegap生成目录中的文件

Android 列出phonegap生成目录中的文件,android,file,cordova,Android,File,Cordova,嗨,我正在尝试创建一个带有phonegap build的gallery应用程序,但我无法从本地存储中读取文件。我正在使用这个函数: function listDir(directoryEntry){ var directoryReader = directoryEntry.createReader(); directoryReader.readEntries(function(entries){ // success get files and folders for(var i

嗨,我正在尝试创建一个带有phonegap build的gallery应用程序,但我无法从本地存储中读取文件。我正在使用这个函数:

function listDir(directoryEntry){

 var directoryReader = directoryEntry.createReader();

 directoryReader.readEntries(function(entries){ // success get files and folders
    for(var i=0; i<entries.length; ++i){
      alert(entries[i].name) // this is just for checking purposes, no matter what  i       put here it wont fire
    }
 }, function(error){ // error get files and folders
    alert(error.code);
 });
}

  function getFileSystem(){
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ //    success get file system
    var sdcard = fileSystem.root;
    sdcard.getDirectory('dcim',{create:false}, function(dirEntry){
        listDir(dirEntry);
    }, function(error){
        alert(error.code);
    })
    }, function(evt){ // error get file system
        console.log(evt.target.error.code);
    });
  }


  getFileSystem();
函数listDir(directoryEntry){
var directoryReader=directoryEntry.createReader();
readEntries(函数(条目){//success获取文件和文件夹

对于(var i=0;i,您需要记住cordova api是异步的

此代码读取my app外部存储目录中的文件列表:

    function getFilesList(callback) {
        console.log('getFilesList');
        var fileList = [];

        function onDirResolved(dir) {
            var reader =dir.createReader();
            reader.readEntries(function(entries) {
                console.log('readEntries');
                for (var i=0; i<entries.length; i++) {
                    if (entries[i].name.indexOf(".fototoon") != -1) {
                        fileList.push(entries[i].fullPath);
                    };
                };
                console.log('fileList ' + fileList);
                callback(fileList);
            }, errorHandler);
        };

        function onFsResolved(fs) {
            window.resolveLocalFileSystemURL(
                cordova.file.externalApplicationStorageDirectory,
                onDirResolved, errorHandler);
        };

        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
            onFsResolved, errorHandler);

    };
函数getFilesList(回调){ log('getFilesList'); var fileList=[]; 函数(dir){ var reader=dir.createReader(); reader.readEntries(函数(条目){ log('readEntries');
对于(var i=0;我不知道答案??您是否尝试只列出
文件系统中的文件。root
?最好先做简单的事情,让它们工作,然后再做更高级的事情。此外-删除
函数(文件系统)可能会有好处
窗口。requestFileSystem
并将其作为一个单独的函数调用。最后一件事-是否安装了
文件
文件传输
API?使用OnDevicerady侦听器调用该函数解决了此问题,并且它也与另一个jquery函数冲突(您需要首先调用侦听器)