Hallo zusammen,
der Tipp von @ChampS war super, ich habe jetzt meine Datenbank-Struktur aus dem Web etwas vereinfacht in der SQLite Datenbank abgebildet. Allerdings bin ich mit dem Synchronisierungsvorgang noch etwas unzufrieden. Dieser funktioniert wie folgt:
Anmerkung:
Es können neue Einträge sowohl im Web als auch mit dem Smartphone erstellt werden. Die Synchronisierung muss also in beide Richtungen erfolgen.
Schritt 1:
Es wird ein JSON Objekt erstellt, welches alle Daten der SQLite Tabellen enthält. (alle Daten die mit isWebSync = 0 geflagged sind)
Schritt 2:
Das JSON Objekt wird an einen PHPScript gepostet welcher die Daten in die MySQL Datenbank im Web einfügt. Danach gibt er die IDs der gemachten Einträge zurück
Schritt 3:
Die App erhält die neuen(und alten) IDs und überschreibt die bestehen IDs mit den neuen aus dem Web. Damit stelle ich sicher, dass die ID im Web und Mobile identisch sind. Danach wird das Flag isWebSync auf 1 gesetzt.
Schritt 4:
Neue Einträge (isMobileSync = 0) aus dem Web werden ebenfalls zurückgeliefert und entsprechend 1:1 ins SQLite übernommen. Im Web gibt es ein gegengesetztes Flag isMobileSync welches in dem Fall dann auf 1 gesetzt wird.
Meine Fragen:
Findet ihr den Ablauf generell so sinnvoll oder könnte ich das effizienter lösen?
Es können teilweise extrem viele Datensätze sein, die über Web gepostet werden. Kann das mit dem JSON Objekt ein Problem werden?
Ich freue mich auf eure Anregungen.