我有一个ListenerForSingleValueEvent
,可以在执行特定操作之前检查数据库中的特定值。但是因为.setPersistenceEnabled
是真的,它使用磁盘缓存中的值,有时可能是错误的并且没有更新,并且导致用户执行任务,即使用户不能这样做。
我可以将.setPersistenceEnabled
设置为false,但我有一个聊天功能,每次用户打开应用时重新加载邮件对用户来说都是非常不友好的。有没有办法我只能为某些特定的数据库引用设置.setPersistenceEnabled
并每次重新加载所有其他引用,反之亦然,即.setPersistenceEnabled
用于所有数据库引用并每次重新加载特定引用。谢谢你的帮助。
答案 0 :(得分:0)
听起来您可以使用Query.keepSynced():
通过在某个位置调用
keepSynced(true)
,即可获得该数据 即使在,位置也会自动下载并保持同步 没有为该位置附加侦听器。另外,一个 位置保持同步,不会从持久性中逐出 磁盘缓存。