我正在学习离子hybird框架,如果没有其他修改,需要在android上创建一个读/写文件。我正在关注
中的cordova示例访问http://ngcordova.com/docs/#File/
但我没有得到为filename,dir等提供的参数。我的前端是角js 这是一个我想实现的简单示例。
<ion-view >
<ion-content>
<lable >{{testfileObj.name}}</lable>
<lable>{{testfileObj.desc}}</lable>
<form ng-submit="saveFile()" novalidate>
<label for="name">Name</label><br>
<input id="name" ng-model = " testfileObj.name"/><br>
<label for="desc">Description</label><br>
<input id="desc" ng-model="testfileObj.desc" /><br>
<input type="submit" value="Save" />
</form>
<dl id="definitions">
{{testfileObj.testAdt}}
</dl>
</ion-content>
</ion-view>
我想要输入2个输入名称和desc,并希望将其保存在android文件中,但仍未能实现此目的。
.controller("TestFileCtrl",function($scope,$location,$cordovaFile){
$scope.testfileObj = {
name: 'has',
desc:'semab',
testAdt:''
};
$scope.saveFile = function (){
SaveText();
}
var FILENAME = 'database.db',
$ = function (id) {
return document.getElementById(id);
},
failCB = function (msg) {
return function () {
alert('[FAIL] ' + msg);
}
},
file = {
writer: { available: false },
reader: { available: false }
},
dbEntries = [];
document.addEventListener('deviceready', function () {
var fail = failCB('requestFileSystem');
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}, false);
function gotFS(fs) {
var fail = failCB('getFile');
fs.root.getFile(FILENAME, {create: true, exclusive: false},
gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
var fail = failCB('createWriter');
file.entry = fileEntry;
fileEntry.createWriter(gotFileWriter, fail);
readText();
}
function gotFileWriter(fileWriter) {
file.writer.available = true;
file.writer.object = fileWriter;
}
function SaveText (e) {
var name = $scope.testfileObj.name,
desc = $scope.testfileObj.desc;
alert('is coming');
dbEntries.push('<dt>' + name + '</dt><dd>' + desc + '</dd>')
$scope.testfileObj.name = '';
$scope.testfileObj.email = '';
alert('is here?');
if (file.writer.available) {
file.writer.available = false;
file.writer.object.onwriteend = function (evt) {
file.writer.available = true;
file.writer.object.seek(0);
}
file.writer.object.write(dbEntries.join("\n"));
}else{
alert('not found file');
}
alert('what value here');
return false;
}
function readText() {
if (file.entry) {
file.entry.file(function (dbFile) {
var reader = new FileReader();
reader.onloadend = function (evt) {
var textArray = evt.target.result.split("\n");
dbEntries = textArray.concat(dbEntries);
$scope.testfileObj.testAdt = dbEntries.join('');
}
reader.readAsText(dbFile);
}, failCB("FileReader"));
}
return false;
}
})
实现这一目标的合法程序是什么。这里有人帮忙!!