2012-04-06 17 views
1

私はSDカードを開いてPhonegapを使用してAndroidにファイルをアップロードしようとしています。以下は私のHTMLにSDカードの内容を追加するコードですが、何も表示されていません。私はcordova.js,jquery1.7.1.jsを使用しています。以下は、私のコードは次のとおりです。HTML、Javascript、Phonegapを使用してAndroid SDカードを開こうとしています

マイJavascriptを:

function onDeviceReady() { 
    getFileSystem(); 
} 

function getFileSystem() { 
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, 
     function(fileSystem) { // success get file system 
      root = fileSystem.root; 
      listDir(root); 
     }, 
     function(evt) { // error get file system 
      console.log("File System Error: "+evt.target.error.code); 
     } 
    ); 
} 

function listDir(directoryEntry) { 
    if (!directoryEntry.isDirectory) 
     console.log('listDir incorrect type'); 

    $.mobile.showPageLoadingMsg(); // show loading message 

    currentDir = directoryEntry; // set current directory 
    directoryEntry.getParent(
     function(par) { // success get parent 
      parentDir = par; // set parent directory 
      if ((parentDir.name == 'sdcard' && currentDir.name != 'sdcard') || parentDir.name != 'sdcard') 
       $('#backBtn').show(); 
     }, 
     function(error) { // error get parent 
      console.log('Get parent error: ' + error.code); 
     } 
    ); 

    var directoryReader = directoryEntry.createReader(); 
    directoryReader.readEntries(
     function(entries) { 
      var dirContent = $('#dirContent'); 
      dirContent.empty(); 

      var dirArr = new Array(); 
      var fileArr = new Array(); 
      for (var i=0; i < entries.length; ++i) { // sort entries 
       var entry = entries[i]; 
       if (entry.isDirectory && entry.name[0] != '.') 
        dirArr.push(entry); 
       else if (entry.isFile && entry.name[0] != '.') 
        fileArr.push(entry); 
      } 

      var sortedArr = dirArr.concat(fileArr); // sorted entries 
      var uiBlock = ['a','b','c','d']; 

      for (var i=0; i < sortedArr.length; ++i) { // show directories 
       var entry = sortedArr[i]; 
       var blockLetter = uiBlock[i%4]; 
       //console.log(entry.name); 
       if (entry.isDirectory) 
        dirContent.append('<div class="ui-block-' + blockLetter + '"><div class="folder"><p>' + entry.name + '</p></div></div>'); 
       else if (entry.isFile) 
        dirContent.append('<div class="ui-block-' + blockLetter + '"><div class="file"><p>' + entry.name + '</p></div></div>'); 
      } 
      $.mobile.hidePageLoadingMsg(); // hide loading message 
     }, 
     function(error) { 
      console.log('listDir readEntries error: ' + error.code); 
     } 
    ); 
} 
+0

logcatにエラーがありますか? –

+0

ログカットには何もありません – user1051599

答えて

1

あなたはコルドバのAPIドキュメントで外観を撮影したことがありますか?私はこのサンプルコードを試してみましたが、うまくいきました。 Link to API and the sample code

+0

私はそれもまたSDカードが開かれていないことを試みました。私はファイルにアクセスする必要はありません。私はSDカードにアクセスして、自分のファイルをアップロードする必要があります... – user1051599

+0

これはあなたのために何かできますか? http://stackoverflow.com/questions/9940667/how-to-open-sdcard-of-android-using-phonegap – Jack

+0

私も働いていませんG ...私は試しました – user1051599

関連する問題