-
-
Save edwardsharp/3355016 to your computer and use it in GitHub Desktop.
cordova-2.0.0 FileWriter issue
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var CREDENTIALS_FILE_NAME = "credentials.json"; | |
var credentials; | |
// INIT -- Wait for PhoneGap to load | |
document.addEventListener("deviceready", onDeviceReady, false); | |
function onDeviceReady() { | |
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, initCredentialReader, fail); | |
} | |
function initCredentialReader(fileSystem) { | |
fileSystem.root.getFile(CREDENTIALS_FILE_NAME, {create: true}, gotFileEntryReader, fail); | |
} | |
function gotFileEntryReader(fileEntry) { | |
fileEntry.file(gotFileToRead, fail); | |
} | |
function gotFileToRead(file){ | |
var reader = new FileReader(); | |
reader.onloadend = function(e) { | |
console.log("--FILE READER: "+e.target.result); | |
if( e.target.result.length < 1 ) { | |
credentials = newCredentials(); | |
} else { | |
credentials = JSON.parse( e.target.result ); | |
} | |
}; | |
reader.readAsText(file); | |
} | |
// END CHAIN | |
function initCredentialWriter(fileSystem) { | |
fileSystem.root.getFile(CREDENTIALS_FILE_NAME, {create: true}, gotFileEntryWriter, fail); | |
} | |
function gotFileEntryWriter(fileEntry) { | |
fileEntry.createWriter(gotFileWriter, fail); | |
} | |
function gotFileWriter(writer) { | |
writer.onwrite = function(e) { | |
console.log("--- write success"); | |
}; | |
var toWrite = JSON.stringify(credentials); | |
console.log("--- toWrite: "+toWrite); | |
writer.truncate(0); | |
writer.seek(0); | |
writer.write(toWrite); | |
} | |
function fail(error) { | |
console.log("--- write FAIL: "+error.code); | |
} | |
function newCredentials() { | |
console.log("returning newCredentials!"); | |
return { | |
"username" : "", | |
"password" : "", | |
"organization" : "", | |
"cookieValue" : "" }; | |
} | |
function getCredentials() { | |
console.log("--- getCredentials: "+credentials); | |
return credentials; | |
} | |
function saveCredentials( jsonCredentials ) { | |
console.log('--- saveCredentials jsonCredentials: '+ jsonCredentials); | |
credentials = JSON.stringify( jsonCredentials ); | |
console.log('--- credentials to save: '+credentials) | |
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, initCredentialWriter, fail); | |
return credentials; | |
} | |
/* | |
GETTING THIS ERROR: 08-14 18:41:38.839: I/Web Console(2678): Error in success callback: File9 = {"code":7,"line":2863,"expressionBeginOffset":91407,"expressionEndOffset":91455,"sourceId":4122528,"sourceURL":"file:///android_asset/www/cordova-2.0.0.js"} at file:///android_asset/www/cordova-2.0.0.js:258 | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment