Hallo epvper,
ich bin gerade dabei eine App für Android zu programmieren.
Nun bin ich vor folgendem Problem:
Auf meinem Webserver verwende ich MySQL, wo Daten gespeichert sind, welche man über eine Website bearbeiten kann.
In der App für Android verwende ich SQLite und momentan ist es möglich Daten vom WebServer über eine API (mit Nutzerdaten) herunter zu laden... Dann hat man quasi eine Offline Version der Daten in der App.
Nun zu meinem Problem:
Natürlich ist es relativ doof nur live Änderungen online auf der Website zu tätigen und nicht auch von der App aus.
Wie würdet ihr am Besten diese Synchronisation aufbauen?
Meine Ideen:
1) Man kann entweder alle Daten hochladen und alles auf dem WebServer überschreiben oder umgekehrt alles runter laden und in der App alles überschreiben. Klar hat man oben und unten gleichzeitig Daten geändert, gehen Änderungen verloren, wenn man davor vergessen hat, die aktuelle Version zu holen.
2) Ich speichere jede Änderung, die pro Datensatz gemacht wurde - sprich eine Log Tabelle, in der alles protokolliert wird, was geändert, hinzugefügt oder gelöscht wurde.
Synchonisiert man, gleiche ich mit dem Server die Änderungen ab. Gibt es Konflikte, dass unten und oben der gleiche Datensatz geändert wurde muss ich mit dem Datum abgleichen, was aktueller ist und dementsprechend nacheinander die Änderung vornehmen...
In meinen Augen hört sich der zweite Vorschlag am Besten an, allerdings bin ich mir unsicher, wie ich das Ganze umsetzen soll. Gibt es Vorschläge, bzw. Hilfestellung von eurer Seite? Mache ich das am Besten über eine HTTP Verbindung mit GET/POST usw. ... Wäre über Hilfestellung dankbar! ;)
Grüße
ich bin gerade dabei eine App für Android zu programmieren.
Nun bin ich vor folgendem Problem:
Auf meinem Webserver verwende ich MySQL, wo Daten gespeichert sind, welche man über eine Website bearbeiten kann.
In der App für Android verwende ich SQLite und momentan ist es möglich Daten vom WebServer über eine API (mit Nutzerdaten) herunter zu laden... Dann hat man quasi eine Offline Version der Daten in der App.
Nun zu meinem Problem:
Natürlich ist es relativ doof nur live Änderungen online auf der Website zu tätigen und nicht auch von der App aus.
Wie würdet ihr am Besten diese Synchronisation aufbauen?
Meine Ideen:
1) Man kann entweder alle Daten hochladen und alles auf dem WebServer überschreiben oder umgekehrt alles runter laden und in der App alles überschreiben. Klar hat man oben und unten gleichzeitig Daten geändert, gehen Änderungen verloren, wenn man davor vergessen hat, die aktuelle Version zu holen.
2) Ich speichere jede Änderung, die pro Datensatz gemacht wurde - sprich eine Log Tabelle, in der alles protokolliert wird, was geändert, hinzugefügt oder gelöscht wurde.
Synchonisiert man, gleiche ich mit dem Server die Änderungen ab. Gibt es Konflikte, dass unten und oben der gleiche Datensatz geändert wurde muss ich mit dem Datum abgleichen, was aktueller ist und dementsprechend nacheinander die Änderung vornehmen...
In meinen Augen hört sich der zweite Vorschlag am Besten an, allerdings bin ich mir unsicher, wie ich das Ganze umsetzen soll. Gibt es Vorschläge, bzw. Hilfestellung von eurer Seite? Mache ich das am Besten über eine HTTP Verbindung mit GET/POST usw. ... Wäre über Hilfestellung dankbar! ;)
Grüße