10

Wir entwickeln eine native Android-App (iOS und Web), mit der Benutzer gemeinsam ein Album erstellen können.So entwickeln Sie eine Offline-erste native Android-App

Wir wollen so nahtlos wie möglich Erfahrung, wenn Gerät nicht in der Lage ist, mit Server zu verbinden. Etwas wie in diesem Hoodie blog erwähnt, aber Hoodie ist jetzt für Web und iOS und wir suchen gerade jetzt nach Android.

Problem

pflegen Daten von Alben, Freunde, Fotos (URL/local, Bitmap nicht) auf Client-Seite. Möglichkeit, Offline-Erstellungs-/Aktualisierungsvorgänge zu einem späteren Zeitpunkt mit Konfliktlösung auf dem Server zu synchronisieren.

Aktuelle Forschung

  1. HTTPResponseCache: Cons: Caches nur Anfragen, die einmal getroffen worden sind. Außerdem benötigen Sie ein anderes System für die Erstellung/Aktualisierung von Aktionen.
  2. App42, Kinvey: Back-End-as-a-Service; Nachteile: Wir wollen ein eigenes Backend haben.
  3. Microsoft Sync Framework Toolkit: Nicht sicher, wie gut es mit Android arbeitet
  4. PouchDB
  5. Superbus: Löst ein Teil des Problems

Individuelle

pflegen Daten in SQLite auf Android und MySQL auf Server Synchronisieren mit Android Sync Adapter. Dies kann jedoch zeitaufwendig sein und Fehler beim Starten haben.

Wie sollte dieses Problem angegangen werden?

Antwort

9

Ich arbeite gerade an einem Projekt, und wir müssen Lieferungen verfolgen und Lieferungen überprüfen, auch wenn der Benutzer offline ist. Der Ansatz, den ich verwende, ist es, dieses ContentProvider Plugin Simple Content Provider zu verwenden. Und ich überprüfe, ob es Internet gibt oder nicht, und wenn es keins gibt. Es speichert die Daten zum Anbieter und ändert, was geändert werden muss, in der DATENBANK und machen meinen Benutzer glauben, dass er oder sie die Bestellung abgeschlossen hat. Und ich habe eine SyncAdapter warten auf das Internet zu kommen. Und ich habe auch einen Push-Service, um die Datenbank zu aktualisieren, sobald sich die Datenbank geändert hat. Ein Verständnis von Google Cloud Messaging würde Ihrem Benutzer eine Menge Akkulaufzeit sparen. Es könnte bessere Möglichkeiten geben. Aber, von meiner kleinen Erfahrung mit Android das ist, wie meine kleine Hilfe sein könnte.

+1

Nach der Suche durch, ich glaube, dies in der Tat ist der Weg, es zu tun. Vielen Dank. – Sangharsh

2

Haben Sie in CouchBase Server und CouchBase Lite gesucht?

Sie bieten ein leistungsstarkes Tool namens SyncGateway, das für Sie die gesamte Synchronisierung und das Zusammenführen der Daten zwischen dem Server und der internen Datenbank handhabt. Sie müssen in Ihrer mobilen App nichts für die Synchronisierung kodieren.

Couchbase Lite ist für iOS und Android verfügbar. Es ist auch eine plugin für Cordova/PhoneGap verfügbar.

Ich hatte nie ein Problem, es zu kompilieren, nur für iOS im Auge behalten, für iOS6 + zu kompilieren, ist es nicht mit iOS5 arbeiten

+0

Nein, habe ich mir das vorher nicht angesehen. Sieht vielversprechend aus. Gerade jetzt ist es spät, mit dieser Architektur zu gehen, da die Entwicklung auf halbem Wege ist. – Sangharsh