Ich arbeite an der Aktualisierung der Datenbank auf einem mobilen Gerät, das SQLITE db verwendet, das als Server aktualisiert werden soll, aktualisiert seine Datenbank, d. h. wamp Server.
Kann jemand mir irgendwelche Ideen vorschlagen, wie man das erreicht
Ich möchte nicht die gesamte Server-Datenbank lesen, da dies die Datennutzung beim Lesen der gesamten Datenbank nur für ein einzelnes Update oder für mehrere Updates erhöhen würde.
Die Aktualisierung erfolgt in der Produkttabelle und nur das Preisfeld wird serverseitig aktualisiert.
Sie können in Ihrer App einen Dienst definieren, der regelmäßig fragt, ob in Ihrer Server-DB aktualisierte Daten vorhanden sind. Auf der Serverseite können Sie einen Web-Service implementieren, der ein JSON-Objekt erhält, in dem Sie das aktuelle Datum, den Tabellennamen, den Sie nach Updates suchen möchten, und andere Informationen basierend auf Ihren Zwecken einfügen.
Ich erkläre mich besser mit einem Beispiel:
1) wenn die App startet, startet auch ein Hintergrunddienst. Dieser Service fragt (zB alle 3 Minuten) Ihren Webservice ab, um zu sehen, ob es für eine bestimmte Tabelle neue Updates gibt.
2) Der Webservice erhält den zu prüfenden Tabellennamen und die Datumzeit vorzugsweise im Unix-Zeitstempel. Zum Beispiel möchten Sie nach 2012-08-20 22:00:00 sehen, ob es neue Datensätze für die Tabelle "Produkte" gibt. Sie können ein Json-Objekt und eine http-Anfrage mit diesen Informationen in Ihrer App erstellen und an die Serverseite übergeben.
3) Ihr Web-Service wird Ihnen antworten und Ihnen ein json-Array mit allen Daten geben, die nach 2012-08-20 22:00:00 hinzugefügt oder geändert werden. Natürlich müssen Sie in der Server-Datenbank diese Informationen speichern (im Grunde wird jeder Datensatz ein Feld mit dem Datum der ersten Einfügung / letzten Änderung haben)
4) Sie können dann Ihre lokale SQLite-Datenbank aktualisieren.
Wahrscheinlich ist das nicht sehr effizient, aber es funktioniert.
Andrea
Tags und Links android