将本地db(Sqlite)与服务器db android同步

问题描述 投票:0回答:1

我想创建一个POS应用程序,但由于某种原因,应用程序应该在没有互联网连接时工作(后来在连接到互联网时进行同步)。我想到的唯一方法是在本地数据库与服务器之间进行同步,但我不知道如何或最好的方法来做到这一点。我有几个问题:

  1. 是否可以使用FCM云消息来实现此目的?我的意思是客户端A告诉FCM数据已经改变,然后FCM告诉几个客户端(电话)在后台进行同步数据库而没有用户(电话所有者)确认(自动)。
  2. 或唯一的方法是使用这种方法https://github.com/codepath/android_guides/wiki/Server-Synchronization-(SyncAdapter)?如果是这样,我们多久可以将db本地与服务器同步?是同步每3分钟会好吗?
android synchronization android-syncadapter
1个回答
1
投票

是的,为此使用FCM实时数据库。 FCM在应用程序内部以及云上为您管理数据。因此,如果您将一些数据写入JSON树但没有Internet连接,则一旦连接可用,数据将被推送到云中。文件清楚地说明了这一点(阅读关于'写入离线数据'的最后一节:https://firebase.google.com/docs/database/android/read-and-write

此外,客户端脱机时添加到数据库的任何数据都将在客户端上线后发送 - 因为实时数据库也会保存数据。

每3分钟使用一次服务器同步是不可行的 - 并且您的应用程序更有可能在某个时刻被系统杀死。使用FCM和云功能以及JobSchedulers可以获得最佳结果。

© www.soinside.com 2019 - 2024. All rights reserved.