如何像使用普通数据库一样使用Firebase RealtimeDatabase?



Firebase RealtimeDatabase 与侦听器配合使用,当事件发生时,会触发函数,但我需要一个选项来更新数据,例如,单击按钮时。我了解到这一点,并找到了方法DatabaseReference.addListenerForSingleValueEvent,但保持成为侦听器。那么,有没有办法解决我的问题?我正在使用安卓。

当点击按钮时,您可以使用方法DatabaseReference.addValueEventListener((从Firebase获取数据。 每当您需要取消此侦听器时:调用 DatabaseReference.removeEventListener(valueEvenListener(; 对不起,我的英语:( :( :(不好

Firebase 数据库的主要目标是作为实时数据库工作,而不是作为离线数据库工作。即使您的应用暂时失去网络连接,Firebase 应用也能正常工作。缓存的数据在离线时可用,Firebase 会在网络连接恢复后重新发送任何写入操作。

启用磁盘持久性时,应用会将数据本地写入设备,以便应用可以在脱机时维护状态。您可以像这样启用磁盘持久性:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

如果你想完全 offltely offilne,你可以使用 goOffline(( 方法

此方法会关闭我们与 Firebase 数据库后端的连接,直到调用 goOnline((。

但是,我不建议您使用Firebase作为仅离线数据库。它实际上被设计为一个在线数据库,可以在断开连接的中短时间内工作。脱机时,它将保留写入操作队列。随着此队列的增长,本地操作和应用启动速度将变慢。没什么大不了的,但随着时间的推移,这些可能会加起来。

希望对您有所帮助。

最新更新