it-swarm.com.de

So synchronisieren Sie Daten zwischen verschiedenen Geräten

Ich plane, eine App zu implementieren, und ich bin an einem Punkt angelangt, an dem ich nicht weiß, was der beste Ansatz ist.

Szenario:

Ich habe eine App, in der ich eine Aufgabenliste erstellt und 3 Elemente hinzugefügt habe. Ich benutze dafür mein Handy ..__ Dann nehme ich mein Tablet und möchte eine weitere Aufgabe hinzufügen. Nach einer Weile nehme ich das Telefon meiner Frau und möchte zwei neue Aufgaben hinzufügen.

Grundsätzlich möchte ich eine sehr einfache Möglichkeit haben, die Aufgaben online zu speichern und sie mit der App zu synchronisieren. 

Ich sehe zwei Möglichkeiten:

  • einen Webserver mit einer Datenbank + Webservice-Aufrufen haben. Dies hat den Nachteil, dass ein Host bezahlt wird. Lernen Sie einige zusätzliche Mysql + Webservice-Techniken. 

  • speichern Sie die Daten irgendwie in der Cloud und lassen Sie die App durch Login auf ein Konto zugreifen, in dem die Datei gespeichert ist. Ich denke hier an so etwas wie Google Drive/Dropbox. Ich weiß jedoch nicht, wie ich nur die aktualisierten Werte synchronisieren kann, nicht die gesamte Datei. Ich denke, wenn ich alle Aufgaben in einer Datei speichere, muss ich sie bei jeder Aktualisierung der Datei vollständig hochladen. Dies ist nicht die beste Vorgehensweise.

Ich bin offen für Ratschläge. Welchen Ansatz würden Sie empfehlen?

22
Alin

Ich würde entweder in Google App Engine oder Amazon Web Services suchen. Beide geben Ihnen kostenlose Nutzungszuteilung pro Monat und wenn Sie vorbei gehen, fangen Sie an zu zahlen. Wahrscheinlich kommen Sie eine Weile nicht über die kostenlose Stufe hinaus.

AWS ist derzeit etwas reifer als GAE und schien etwas einfacher zu implementieren als GAE, als ich sie untersuchte

9
tyczj

Es gibt auch den Ordner "Anwendungsdaten" von Google Drive.

https://developers.google.com/drive/Android/appfolder

Dies hat den Vorteil, dass der Speicherplatz des Benutzers genutzt wird.

17
Mike

Sehen Sie sich die neue Schulungsklasse für Synchronisationsadapter an: http://developer.Android.com/training/sync-adapters/index.html , um die Grundlagen für das Senden von Daten von Ihrem Gerät an einen Server zu erfahren .

Auf dem Android-Gerät empfehle ich Ihnen, Ihre Aufgaben in einem Inhaltsanbieter zu speichern. Auf diese Weise können Sie die Aktualisierungen seit der letzten Synchronisierung nachverfolgen. Sie können dann während der Synchronisierung den Anbieter abfragen, nur die aktualisierten Daten senden und die Daten auf dem Server speichern.

Sie sollten wahrscheinlich die letzte Aktualisierungszeit auf dem Gerät speichern, damit Sie feststellen können, ob der Server Daten enthält, die noch nicht auf dem Gerät vorhanden sind. Denken Sie daran, dass Sie auch Aufgaben herunterladen müssen, wenn alle Geräte synchron sein sollen.

3
Joe Malin

Sie können Googles Firebase ausprobieren. Firebase bietet SDK für Android- und iOS-Geräte. Außerdem unterstützt Firebase Offline und Synchronisierung. Firebase bietet auch einen Objektspeicherdienst. Es ist einfacher, eine Firebase-App zu erstellen, als Sie denken. Schauen Sie sich den Feuerstore-Service dieser firebase an .

0
VivekRajendran

Sie können einen Blick auf unser Rethync - Framework (Freeware mit Quellcode) werfen. Damit können Sie das Erkennen von Änderungen vereinfachen und nur aktualisierte Daten synchronisieren. Als Nächstes bietet Rethync sowohl eine Client- als auch eine Serverseite-API, mit der Sie einen eigenen Dienst erstellen (und auf der Website hosten) oder einen eigenen Transport für den Cloud-Dienst Ihrer Wahl erstellen können (in Zukunft werden wir einige Transporte bereitstellen , sie befinden sich derzeit in der Entwicklung).