I am learning ionic hybird framework and need to create a file to read/write on android if not available else modify. I am following cordova example from
Visit http://ngcordova.com/docs/#File/
but i am not getting what parameters to give for filename, dir and other. My front end is angular js This is a simple example which i want to implement.
<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>
I want to take 2 input name and desc and want to save it on android file but still failed to achieve this.
.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;
}
})
What is the rightful procedure to achieve this. Anybody here help!!