PhoneGap中文网

 找回密码
 立即注册
查看: 14450|回复: 2
打印 上一主题 下一主题

关于在安卓程序中本地文件操作。

[复制链接]

1

主题

2

帖子

7

积分

新手上路

Rank: 1

积分
7
跳转到指定楼层
楼主
发表于 2015-7-23 19:34:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这几天再弄一个phonegap项目,比较老了,一两年前的版本,具体忘了那个版本。在网上找了一个例子,发现本地写入文件,删除文件,查看本地目录都可以使用,但是read功能总是没法实现,总是显示null,error.code显示json error。百度了一下午,各种调试都没弄好,非常费解,到底哪里出问题了。只好来论坛求助,希望各位大大帮帮我。代码:

function readFile(f) {
  reader = new FileReader();
  reader.onloadend = function(e) {
   console.log("go to end");
   logit("<pre>" + e.target.error.code + "</pre><p/>");
   logit("<pre>" + e.target.result + "</pre><p/>");
  }
  reader.readAsText(f);
}

function doReadFile(e) {
  fileSystem.root.getFile("test.txt", {create:true}, readFile, onError);
}

function appendFile(f) {
  f.createWriter(function(writerOb) {
   writerOb.onwrite=function() {
     logit("Done writing to file.<p/>");
   }
   //go to the end of the file...
   writerOb.seek(writerOb.length);
   writerOb.write("Test at "+new Date().toString() + "\n");
  })
}

function doAppendFile(e) {
fileSystem.root.getFile("test.txt", {create:true}, appendFile, onError);
}
function gotFiles(entries) {
  var s = "";
  for(var i=0,len=entries.length; i<len; i++) {
   //entry objects include: isFile, isDirectory, name, fullPath
   s+= entries.fullPath;
   if (entries.isFile) {
     s += " [F]";
   }
   else {
    s += " [D]";
   }
   s += "<br/>";
  }
  s+="<p/>";
  logit(s);
}

function doDirectoryListing(e) {
  //get a directory reader from our FS
  var dirReader = fileSystem.root.createReader();
  dirReader.readEntries(gotFiles,onError);         
}
function onFSSuccess(fs) {
  fileSystem = fs;
  //getById("#dirListingButton").addEventListener("touchstart",doDirectoryListing);            
  //getById("#addFileButton").addEventListener("touchstart",doAppendFile);            
  getById("#readFileButton").addEventListener("touchstart",doReadFile);            
  //getById("#metadataFileButton").addEventListener("touchstart",doMetadataFile);            
  //getById("#deleteFileButton").addEventListener("touchstart",doDeleteFile);            
  logit( "Got the file system: "+fileSystem.name +"<br/>" +
                           "root entry name is "+fileSystem.root.name + "<p/>")     
  doDirectoryListing();
}

function onDeviceReady() {
  //request the persistent file system
  window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFSSuccess, onError);
}
function init() {
  document.addEventListener("deviceready", onDeviceReady, true);
}
</script>
<style>
button { width: 100%; padding: 5px; }
</style>
</head>
<body id="stage" class="theme">
<!-- <button id="addFileButton">Create/Append to Test File</button> -->
<button id="readFileButton">Read Test File</button>  
<!--<button id="metadataFileButton">Get Test File Metadata</button>  -->
<!--<button id="deleteFileButton">Delete Test File</button>  -->
<!--<button id="dirListingButton">Show Directory Contents</button>  -->
<div id="content"></div>
</body>
</html>
回复

使用道具 举报

1

主题

2

帖子

7

积分

新手上路

Rank: 1

积分
7
沙发
 楼主| 发表于 2015-7-23 19:34:27 | 只看该作者
篇幅限制,贴了部分代码
回复 支持 反对

使用道具 举报

493

主题

2035

帖子

6894

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6894
板凳
发表于 2015-7-23 21:59:03 | 只看该作者
wgwntp 发表于 2015-7-23 19:34
篇幅限制,贴了部分代码

看看官方文档  用最新的cordova试试,老版本可能不是很稳定


也可以下载个ng-cordova 看看里面代码怎么写的


其实官方文档已经有代码的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2025-1-4 20:23 , Processed in 0.050053 second(s), 33 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表