2016-06-01 8 views
0

Ich erstelle PhoneGap Mobile App für Android und ich muss Fragen im Offline-Modus mit der App speichern. Kann ich JSON dafür verwenden? Wenn ja, bitte leiten Sie mir, wie ich meine Fragen in einer separaten Textdatei speichern kann und wie ich über die Container-Textdatei auf die spezifische Frage in meiner App zugreifen kann.Wie erstelle ich eine Offline-Datenbank für die Phonegap Mobile App?

Antwort

1

Sie können localstorage verwenden, um Ihre Fragen als ein Array von Objekten zu speichern, wie folgt:

questions = [ 
    { id : 1, text: "Question 1 text goes here" }, 
    { id : 2, text: "Question 2 text goes here" }, 
    { id : 3, text: "Question 3 text goes here" }, 
    { id : 4, text: "Question 4 text goes here" } 
]; 

window.localStorage.setItem("questions" , JSON.stringify(questions)); 

Und dann ist es wieder zu lesen Sie verwenden JSON.parse();

questions = JSON.parse(window.localStorage.getItem("questions")); 
console.log(questions); 

P.S. Daten, die in localStorage gespeichert sind, verfallen nicht und bleiben nach dem Schließen Ihrer Phonegap-Anwendung bestehen.

+0

Localspeicher ermöglicht nur 5 MB Daten. Für große Datenmengen sollte SQLite-Datenbank oder HTML5-basierte WebSql-Datenbank (max db-Größe kann 50 MB sein) verwendet werden. – Krunal

+0

Guter Punkt, localStorage ist eine gute Wahl, solange die Fragen nicht über 5 MB wachsen. –

0

Sie können auch Android sqlite verwenden, können Sie phonegap/cordova Plugins dafür finden. Sqlite ist ein leichtes RDBMS.

Lassen Sie mich wissen, wenn Sie Probleme bei der Einrichtung haben.

Abhijeet Naik www.pattypets.com

+0

Um es zu verwenden, muss ich irgendeine andere Software wie SQL installieren? – alok

0

Sie können WebSQL Datenbank verwenden. Für die Installation mit der Phonegap App ist kein zusätzliches Plugin erforderlich. http://docs.phonegap.com/en/2.9.0/cordova_storage_storage.md.html#Storage

WebSQL-Datenbank haben Datenbankgröße von 50 MB. Wenn Sie also mit einer höheren Speicherkapazität arbeiten möchten, können Sie Sqlite-Datenbank wählen. Um Sqlite-Datenbank in der Phonegap-App verwenden zu können, benötigen Sie das Sqlite-Plugin. https://github.com/litehelpers/Cordova-sqlite-storage