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版本的,所以在安卓模擬器上進行調試,可以創建文件夾,文件。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章