我想创建一个POS应用程序,但由于某种原因,应用程序应该在没有互联网连接时工作(后来在连接到互联网时进行同步)。我想到的唯一方法是在本地数据库与服务器之间进行同步,但我不知道如何或最好的方法来做到这一点。我有几个问题:
是的,为此使用FCM实时数据库。 FCM在应用程序内部以及云上为您管理数据。因此,如果您将一些数据写入JSON树但没有Internet连接,则一旦连接可用,数据将被推送到云中。文件清楚地说明了这一点(阅读关于'写入离线数据'的最后一节:https://firebase.google.com/docs/database/android/read-and-write
此外,客户端脱机时添加到数据库的任何数据都将在客户端上线后发送 - 因为实时数据库也会保存数据。
每3分钟使用一次服务器同步是不可行的 - 并且您的应用程序更有可能在某个时刻被系统杀死。使用FCM和云功能以及JobSchedulers可以获得最佳结果。