Cordova File Plugin hat falsches Verzeichnis

So baue ich eine Cordova / Phonegap-App in AngularJS 1 und versuche, eine Datei mit dem Namen calendar.txt im privaten Verzeichnis / in der Sandbox der App zu speichern und zu lesen.

Meine Konsolenprotokolle während des Debuggens zeigen an, dass keine Fehler vorliegen und die Datei erstellt wird, wenn sie nicht vorhanden ist und korrekt gelesen wird. Dies ist jedoch nicht der Fall. Beim Erstellen und Ausführen auf meinem Gerät werden die Daten nicht gespeichert. Außerdem wird am angegebenen Speicherort keine Datei erstellt.

I console hat den Pfad protokolliert, den es verwenden wollte, und das ist: file: ///data/data/com.adobe.phonegap.app/files/calendar.tx

Hier ist der Code, mit dem ich die Datei öffne:

$rootScope.openFile = function(){
        var pathToFile = cordova.file.dataDirectory + "calendar.txt";
        console.log('path = ' + pathToFile);
        window.resolveLocalFileSystemURL(pathToFile, 
            function(fileEntry){
            fileEntry.file(function (file) {
                var reader = new FileReader();

                reader.onloadend = function (e) {
                    $rootScope.calendar = JSON.parse(this.result);
                    console.log('file opened');
                    console.log(JSON.parse(this.result));
                };

                reader.readAsText(file);
            }, function(error){});
        }, function(error){
            if(error.code == FileError.NOT_FOUND_ERR){
                $rootScope.calendar = new Year();
                console.log('no file found so it was created');
                $rootScope.saveFile();
            }
            else{
                console.log(error);
            }
        });
    };

Und hier ist der Code für das Speichern der Datei:

$rootScope.saveFile = function(){
        var data = JSON.stringify($rootScope.calendar, null, '\t');
        var fileName = "calendar.txt"
        window.resolveLocalFileSystemURL(cordova.file.dataDirectory, 
            function(directoryEntry){
                directoryEntry.getFile(fileName, { create: true }, 
                    function (fileEntry) {
                        fileEntry.createWriter(
                            function (fileWriter) {
                                var blob = new Blob([data], { type: 'text/plain' });
                                fileWriter.write(blob);
                                console.log('file saved');
                            }, 
                            function (error){});
                    },
                    function (error){}
                );
            }, 
            function(error){
                console.log("Saving Error: Error during finding directory", error.message);
            }
        );
    };

Ich habe dieses Tutorial verwendet, um so weit zu kommen:Cordova File Plugin Tutorial

Was mache ich falsch

Antworten auf die Frage(2)

Ihre Antwort auf die Frage