Best Practice? iphone: Daten synchronisieren [geschlossen]

8

Ich arbeite an einem Projekt, bei dem es Datenvisualisierungen gibt.

Mein ultimatives Ziel ist, dass ich mit dem Download der iphone App eine Reihe von Daten zur Verfügung habe. Aber ich möchte es mit einem Backend verbunden, dass, wenn das iPhone eine Verbindung mit dem Internet hat. Es kann die Änderungen vom Backend synchronisieren.

Die Synchronisierung ist kein Problem oder die Verbindung zwischen dem Backend & amp; das iphone.

Aber was soll ich als Datenspeicher auf meinem iPhone verwenden? Was ist der beste Weg? Meine Daten sind reiner Text und müssen nicht sicher sein.

Aber das Hauptmerkmal sollte die Aktualisierung bestimmter Datenteile sein (Hinzufügen und Löschen sind nicht so wichtig).

Was ist also am einfachsten (lesen: am wenigsten zeitaufwendige Entwicklung) oder am besten?

  • sqlite?
  • plist?
  • ..?
Andy Jacobs 11.05.2009, 07:48
quelle

4 Antworten

3

Die besten Ergebnisse werden wahrscheinlich mit SQLite erzielt. Sie können die ursprüngliche Datenbank in der App selbst speichern und in den Ordner "Dokumente" kopieren. Fordert beim Start Deltas vom Server an, um die Datenbank synchron zu halten. Für die unidirektionale Synchronisierung sollte das Speichern eines Versionsfelds und die anschließende Abfrage des Servers nach den SQL-Anweisungen für diese Version ausreichend sein. Für eine Zwei-Wege-Synchronisierung wird wahrscheinlich etwas komplizierteres notwendig sein.

    
rpetrich 11.05.2009, 08:31
quelle
0

Für eine kleine Menge von Daten (aka würden Sie sich sicher fühlen, alles in den Speicher zu laden), würde ich die Daten mit den NSUserDefaults Persistenzmechanismen speichern, die die Serialisierung und Speicherung von Standarddatenstrukturen beim Starten und Starten der Anwendung leicht handhaben können Herunterfahren. Es ist sehr einfach / schnell zu benutzen.

Bei größeren Datensätzen, die nicht gleichzeitig in den Speicher geladen werden sollten, scheint sqlite sinnvoll zu sein.

    
Brian Ferris 11.05.2009 07:58
quelle
0

Ein anderer Ansatz wäre die Verwendung der NSDictionary-Methode writeToFile; welches ein NSDictionary schreibt (das klingt, als würde es Ihre Speicherbedürfnisse lösen). Um dann die Daten beim Start neu zu inflatieren, erhalten Sie einen Pfad zur plist-Datei (geschrieben von writeToFile) und dann das NSMutableDictionary initWIthContentsOfFile: path.

Sehen Sie in "iPhone SDK Application Development" von Jonathan Zdziarski in Kapitel 11: Anwendungseinstellungen nach. Oder werfen Sie einen Blick auf das ausführlichere Kapitel Datei- und Datenverwaltung in Apples iPhone Application Programming Guide.

Ich war im selben Boot wie Sie und dachte, ich brauche SQLLite, um Daten zu speichern, die von einem Web-Service heruntergeladen wurden. Ich ersetzte den Webdienst durch einen einfacheren Prozess, der JSON-Anfragen verarbeitet und meine Daten in einem NSDictionary-Format zurückgibt. Dann verwende ich das JSON SDK 2.2 für das iPhone, um die eingehenden JSON-Daten aufzunehmen und in einem NSDictionary zu speichern. Dann, wenn ich die Daten in der plist wie oben erwähnt leicht speichern kann.

Das funktioniert für mich, aber abhängig davon, was Sie mit Ihren Daten machen, brauchen Sie vielleicht etwas anderes.

Viel Glück.

    
Mark Thistle 28.08.2009 20:24
quelle
0

plist ist eine sehr einfache Art zu verwenden. beziehen Sie sich auf Ссылка

Hier ist ein Beispielprojekt, um GAE mit plist zu verwenden. Ссылка

    
Forrest 19.05.2010 07:58
quelle