尝试使用HTML,Javascript和Phonegap打开Android SD卡 [英] Trying to open Android SD card using HTML, Javascript and Phonegap
本文介绍了尝试使用HTML,Javascript和Phonegap打开Android SD卡的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用Phonegap打开SD卡并在Android中上传文件.以下是我将SD卡内容附加到HTML的代码,但未显示任何内容.我正在使用cordova.js
,jquery1.7.1.js
.下面是我的代码:
I am trying to open the SD card and upload a file in Android using Phonegap. Below is the code where I am appending the SD card content to my HTML, but nothing is displaying. I am using cordova.js
, jquery1.7.1.js
. Below is my code:
我的Javascript:
My 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);
}
);
}
推荐答案
您是否看过Cordova API文档?我尝试了此示例代码,并且效果很好. 链接到API和示例代码
Have you taken a look in the Cordova API Documents? I Tried this sample code and it worked just fine. Link to API and the sample code
这篇关于尝试使用HTML,Javascript和Phonegap打开Android SD卡的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文