2016-04-13 9 views
0

Ich habe untersucht, wie Sie mit dem enthaltenen SQLStorage-Plugin lokalen persistenten Speicher erstellen können. Mein Ziel ist es, eine solche Datenbank zu erstellen, sie aber in die App-Dateien aufzunehmen, sodass die Daten nicht erneut abgerufen werden müssen. Ich weiß, dass es beim Einrichten einer Datenbank ein existierendes Datenbank-Flag gibt, aber das scheint nicht das beabsichtigte Verhalten zu haben. Gibt es eine Möglichkeit, den Speicherort der Datenbank im www-Ordner anzugeben, oder etwas in diesem Sinne?Ionic 2 Included Datenbank

Antwort

0

die hier db Kopie Plugin Verwendung: https://github.com/an-rahulpandey/cordova-plugin-dbcopy

Ihr .db in www dir sein sollte, und wenn es schon wieder kopiert wurde.

window.plugins.sqlDB.copy("my.db", function() { 
    db = $cordovaSQLite.openDB("my.db"); //replace with your db name 
}, function(error) { 
    console.error("There was an error copying the database: " + error); 
    db = $cordovaSQLite.openDB("my.db"); 
}); 

Sie müssen den obigen Code für die Verwendung mit dem sql-Speicher von ionic2 anpassen.

+0

Kennen Sie eine Möglichkeit, die Kopie der DB im Ordner "www" zu löschen, da dies nach dem Laden in das App-Verzeichnis verschwendeter Speicherplatz ist? – djrpascu

+1

@djrpascu das ist nicht möglich, da das Anwendungsverzeichnis schreibgeschützt ist. Es ist erreichbar unter 'cordova.file.applicationDirectory'. Wenn Sie sich Sorgen über verschwendeten Speicherplatz machen, sollten Sie Daten zur Laufzeit herunterladen, um die Datenbank zu erstellen. – mani