Java 为特定数据库引用设置Firebase.setPersistenceEnabled()
我有一个Java 为特定数据库引用设置Firebase.setPersistenceEnabled(),java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我有一个ListenerForSingleValueEvent,它在执行特定操作之前检查数据库中的特定值。但由于.setPersistenceEnabled为true,因此它使用磁盘缓存中的值,该值有时可能错误且未更新,并导致用户执行任务,即使用户不应该能够执行该任务 我可以将.setPersistenceEnabled设置为false,但我有一个聊天功能,每次用户打开应用程序时重新加载消息都会对用户非常不友好。是否有一种方法可以只为某些特定的数据库引用设置.setPersistenceEnab
ListenerForSingleValueEvent
,它在执行特定操作之前检查数据库中的特定值。但由于.setPersistenceEnabled
为true,因此它使用磁盘缓存中的值,该值有时可能错误且未更新,并导致用户执行任务,即使用户不应该能够执行该任务
我可以将
.setPersistenceEnabled
设置为false,但我有一个聊天功能,每次用户打开应用程序时重新加载消息都会对用户非常不友好。是否有一种方法可以只为某些特定的数据库引用设置.setPersistenceEnabled
,然后每次重新加载所有其他引用,反之亦然,即为所有数据库引用设置.setPersistenceEnabled
,并每次重新加载特定引用。谢谢您的帮助。听起来您可能可以使用:
通过对某个位置调用keepSynced(true)
,该位置的数据
位置将自动下载并保持同步,即使在
没有为该位置附加侦听器。此外,虽然
位置保持同步,它将不会从持久化进程中退出
磁盘缓存
我已经研究过了,但是如果没有
setPersistenceEnabled(true)
,那么keepSynced(true)
就不起作用了。好吧,在阅读了这个答案后,我更明白了:那我该怎么办?