Android App, die im Online- und Offline-Modus funktioniert? [geschlossen]

7

Ich bin neu bei Android und habe eine Anwendung erstellt, die Daten auf den Server holt und posten kann und im Online-Modus funktioniert. Aber ich möchte, dass es auch im Offline-Modus funktioniert, wenn es keine Internetverbindung oder Netzwerkfehler gibt. Es sollte auch Änderungen (Updates) an der Server-Datenbank vornehmen, wenn das Netz verfügbar ist. Ich habe viel R & amp; D aber nicht die nützlichen Informationen bekommen.

Bitte führen Sie mich mit einigen nützlichen Schritten, Beispielcode (falls möglich) oder einem Link, um die App im Offline-Modus zu machen.

    
zohaib 27.08.2014, 05:20
quelle

5 Antworten

8
  • Sie müssen zwei Modi Ihrer App online und offline definieren
  • Überwachen Sie Network Connectivity-Ereignisse in Ihrer App, um den Offline- / Online-Modus zu ermitteln. Sie müssen BroadcastReciever dafür.
  • Im Online-Modus Verbinden Sie sich mit Ihrem Server und tauschen Sie die Daten aus, die Sie zu diesem Zeitpunkt benötigen.
  • Speichern Sie die Daten im Offline-Modus bei Bedarf dauerhaft
Maddy 27.08.2014 05:53
quelle
5

Was Sie fragen, ist eigentlich unglaublich kompliziert.

Ich habe ein gutes Jahr meiner Zeit damit verbracht, dieses Problem zu lösen, und habe meine Arbeit im SyncIt-Projekt veröffentlicht, das sich in Ссылка befindet .

Es gibt:

  • Ein lokales Versionskontrollsystem Ссылка
  • Eine Serverkomponente Ссылка
  • Eine Verbindungsüberwachungskomponente Ссылка
  • Und ein grundlegendes Bootstrap-Projekt, das Ihnen ein super einfaches Projekt gibt, das Sie als Grundlage für Ihr Projekt verwenden können ... Ссылка

Ich schlage vor, dass Sie über die lokale Versionskontrollkomponente lesen und dann in die Verbindungsüberwachungskomponente wechseln.

    
Forbesmyester 27.08.2014 07:08
quelle
2

Verwenden Sie die SQLite-Datenbank. Speichern Sie Daten in der Datenbank, wenn kein Internet vorhanden ist. Dann synchronisieren Sie Daten mit dem Server, wenn das Internet zurückkommt.

Ссылка

    
fida1989 27.08.2014 05:26
quelle
2

Sie können die SQLite-Datenbank in Ihrer Android-Anwendung verwenden. Im Offline-Modus können Sie alles in Ihrer lokalen Datenbank speichern, und wenn Ihre Anwendung online ist, können Sie Ihre lokale Datenbank mit der Server-Datenbank synchronisieren.

Zum Erstellen von SQLite lokalen Datenbank in Android-Anwendung können Sie die folgenden Beispielcodes (Beispielprojekte) in github

überprüfen

Ссылка

Prost ...

    
Kavimal 27.08.2014 05:29
quelle
1

Hier können Sie keine Daten ohne Internet abrufen. Aber es ist möglich, alte Daten zu verwenden. Sobald Sie Daten aus dem Internet herunterladen, speichern Sie sie in der Datenbank. Hier empfehlen die meisten Leute SQLite database . Mein Vorschlag benutzt eine beliebige Datenbank ( SQLite or SQLCipher ). Danach, bevor Sie Ihre Daten hochladen, fügen Sie sie einfach in die Datenbank ein und posten sie aus der Datenbank. Denn sobald Netzwerkfehlerdaten nicht verloren gehen.

Broadcast Receiver :

Dieser Broadcast-Empfänger wird verwendet, um Sie über die Netzwerkänderungen zu informieren. Sobald das Netzwerk verbunden ist, schreiben Sie Ihre Postleitzahl. Vielleicht ist hier auch der Netzwerkausfall möglich. Aber Daten noch in der Datenbank, so wird es keinen Verlust.

    
Amsheer 27.08.2014 05:49
quelle