Tutorial: Objekte in einer AppPersistence speichern, auslesen und bearbeiten

Wie ihr ja wisst, wurden bereits einige Tutorials zum Thema Persistence in den letzten Wochen von mir geschrieben. Dabei habt ihr gelernt wie man Strings und numerische Werte in Persistencen speichert und verarbeitet. Heute legen wir den Fokus auf die Objekte.

Die Grundlagen was überhaupt Objekte sind, habe ich bereits hier erklärt und um mit Objekten Arbeiten zu können. Ich hoffe, dass dies auch soweit verstanden wurde, denn mit Objekten ist im puncto User Apps sehr viel möglich.

Viele von euch wissen ja, das ich unter anderem eine User App mit dem Namen Braintainment programmiert habe. Dabei handelt es sich um eine Quizapp, bei der die Spieler die richtige Antwort zu einer ihnen gestellten Frage finden müssen. Als ich mit den gröbsten Planungen fertig war, stellte sich mir die Frage, wie ich am besten alle benötigten Informationen rund um die Frage speichere und merkte sehr schnell, das Objekte die beste Möglichkeit sind.

Zuerst musste ich überlegen, welche Informationen ich genau im späteren Spielablauf benötige. Dies war zum einen die Frage selbst, die Antwortmöglichkeiten die vorgegeben werden, die Kategorie, die Schwierigkeit und auch welche Antwort die richtige Antwort ist.

Nachdem ich das gewusst hatte, erstellte ich die ersten Testobjekte mit Dummytexten. Ähnlich wie im nachfolgenden Beispiel:

var Fragen = [
   {Frage:"Wie lautet denn die 1. Frage?",Kategorie:1,Schwierigkeit:3,A1:"Antwort 1",A2:"Antwort 2",A3:"Antwort 3",A4:"Antwort 4","Lösung":1},
   {Frage:"Wie lautet denn die 2. Frage?",Kategorie:1,Schwierigkeit:3,A1:"Antwort 1",A2:"Antwort 2",A3:"Antwort 3",A4:"Antwort 4","Lösung":1}
];

Wie ihr seht, ist in diesem Datenobjekt alles enthalten, was ich für mein Spiel benötigte. Doch das nächste Problem war nun, wie bekomme ich die Daten in die Persistence gespeichert und später wieder ausgelesen?

Um die Daten in die AppPersistence zu speichern, gibt es wie bei Strings und auch nummerischen Werten eine Methode. Bei Objekten heißt sie setObject().

// Mit dieser Funktion werden die oben erzeugten Objekte 
// in die AppPersistence mit dem Key Fragensammlung gespeichert.
KnuddelsServer.getPersistence().setObject('Fragensammlung',Fragen);

Um die erstellten Fragen wieder aus der Persistence zu holen, benötigt man die Methode getObject(). Hierbei ist es auch wieder möglich einen Default-Wert zu setzen. Dieser Default-Wert wird nur dann ausgewählt, wenn kein Wert in der Persistence gespeichert wurde, andernfalls wird der gespeicherte Inhalt geladen.

// Mit dieser Funktion werden das gespeicherte Objekt aus der AppPersistence
// mit dem Key Fragensammlung geladen und es kann damit weiter gearbeitet werden..
var FragenSammlung = KnuddelsServer.getPersistence().getObject('Fragensammlung', []);

An dieser Stelle gehe ich jetzt nicht nochmal gezielt darauf ein, wie gespeicherte Objekte gelöscht oder die Existenz des Keys in der Persistence geprüft wird, da der Verwendungssyntax identisch ist.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s