如何知道我的所有本地写入(离线写入)已成功同步到firebase实时数据库

时间:2018-02-01 14:30:03

标签: android firebase firebase-realtime-database

我正在为我的Android应用程序功能使用Firebase实时数据库。我每秒都会向Firebase数据库写入数据,无论应用程序是在线还是离线,都会在指定的时间内执行某些操作。

如果在离线状态下执行写入操作,我希望在这些数据成功同步到Firebase服务器时执行一些操作。

仅供参考,我正在使用JobScheduler,它将在网络连接可用后启动,之后我还可以使用.info/connected路径监听firebase连接状态。

用户可能同时杀死并重新启动了应用程序。

但之后如何确保所有数据都成功同步到服务器?

2 个答案:

答案 0 :(得分:1)

当您在引用上调用setValue(...)时,您可以传入可选的CompletionListener()。 当您的数据与Firebase服务器同步(或被其拒绝)时,将调用完成侦听器的onComplete(...)方法。另请参阅我的答案,例如:Firebase Android - how to tell if node has been synced

答案 1 :(得分:0)

当用户离线时,Realtime Database SDK会使用设备上的本地缓存来提供和存储更改。当设备联机时,本地数据会自动同步。