sencha 2.0 中使用 phonegap 1.7 创建文件夹和文件

作为js的手机端app开发,sencha有很成熟的UI,而且跨平台,可以打包android app, 也可以打包iphone的app。

对于很多web开发出身的程序员同志,用sencha开发手机端都是很好的选择。如果能使用上phonegap强大的手机端API,那将是一个强大的组合。


小生前段时间就用sencha 2.0 , phonegap 1.7 创建文件夹和文件进入到手机的sd 卡里面。

之前一直是可以写入到sd卡的直接目录下,而做不到创建文件夹,然后把文件写入到所创建的文件夹里面,后来终于看明白了phonegap的API文档,做到了。

自我总结一下:

1、首先要在建立好的sencha项目中的index.html 引入 phonegap 1.7的代码,(建立Sencha项目可以到sencha官网上文档 《get start 》按文档所写的,进行建立)

<script id="microloader" type="text/javascript" charset="UTF-8" src="cordova_1.7.js"></script>

2、这就到了,要触发创建文件或文件夹的事件了,在建立好的sencha mvc架构中(这就不是本文的重点了,仔细研究sencha的手册),要出发的时间函数上,比如sencha的controller里的触发函数:onCreate: function(th){ //for creating file in phonegap } , 

写入:

document.addEventListener("deviceready", onDeviceReady, false);//准备phonegap

function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}

function gotFS(fileSystem) {
fileSystem.root.getDirectory("dataFile", {create:true,exclusive:false},createFile,fail);//建立文件夹,如果直接在sd 卡里,省去这个函数,onDeviceReady函数直接写到createFile文件
}
function createFile(dirEntry){ //dirEntry 这个参数就是gotFS函数创建的文件夹dataFile的一个对象,在这个对象下使用getFile就可以在所创建的文件夹下创建文件了
dirEntry.getFile("print.txt", {create: true, exclusive: false}, gotFileEntry, fail); //在所建立的文件夹内,创立print.txt文件
}
function gotFileEntry(fileEntry) {
fileEntry.createWriter(gotFileWriter, fail);
}
function gotFileWriter(writer) {
writer.onwriteend = function(evt) {
writer.truncate(11);
writer.onwriteend = function(evt) {
writer.seek(0);//添加内容的位置,这里是0,就是替换之前的内容
writer.write('content');//添加内容
};
};
writer.write('content');//写入内容
}
function fail(error) {
console.log(error.code);//如果创建,写入内容失败,显示错误,用于调试
}

phonegap的调试在chrome下基本上是无法进行,所以直接到模拟器上进行 ,我最近开发android版本的,所以在安卓模拟器上进行调试,可以创建文件夹,文件。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值