java– 关于Firestore是否有一些标志我可以检查数据是否为开关线数据?

java– 关于Firestore是否有一些标志我可以检查数据是否为开关线数据?,第1张

概述我read在Android上处于脱机模式时,onComplete()方法永远不会返回,除非设备上线,因此数据可以持久保存到Firestore的后台.当我处于离线模式并且执行此 *** 作时get()我注意到它返回我认为必须是本地数据,因为我有setPersistenceEnabled(true)query.get().addOnCompleteListener(ne

我read在AndroID上处于脱机模式时,onComplete()方法永远不会返回,除非设备上线,因此数据可以持久保存到Firestore的后台.

当我处于离线模式并且执行此 *** 作时get()我注意到它返回我认为必须是本地数据,因为我有setPersistenceEnabled(true)

  query.get().addOnCompleteListener(new OnCompleteListener<querySnapshot>() {      @OverrIDe      public voID onComplete(@NonNull Task<querySnapshot> task) {       }  });

我只是要问这是否正确?如果是这样,我可以检查数据是否为在线/离线数据?

有时做这个get()它不会永远挂在那里,也许这与我的设备在经过大量调试后变热有关.

解决方法:

与Firebase实时数据库中的启用脱机持久性不同,您应首先使用以下代码行:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

在Cloud Firestore中,对于AndroID和iOS,默认情况下启用脱机持久性.因此,不需要使用:setPersistenceEnabled(true).

当您处于脱机状态并且正在使用get()调用时,结果将来自您的应用正在使用的Cloud Firestore数据的缓存副本.

要检查数据是来自缓存还是来自Firestore服务器,您可以使用以下代码行:

String source = querySnapshot.getMetadata().isFromCache() ? "Local Cache" : "Firebase Server";
总结

以上是内存溢出为你收集整理的java – 关于Firestore是否有一些标志我可以检查数据是否为开/关线数据?全部内容,希望文章能够帮你解决java – 关于Firestore是否有一些标志我可以检查数据是否为开/关线数据?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1111485.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存