Firebase RealtimeDatabase与Listeners一起使用,当事件发生时触发该功能,但是我想要一个选项来在单击Button时更新数据。我了解了这一点并找到了方法 DatabaseReference.addListenerForSingleValueEvent ,但保持成为一个监听器。那么,有没有办法解决我的问题?我正在使用Android。
答案 0 :(得分:0)
单击Button时,可以使用方法DatabaseReference.addValueEventListener()从firebase获取数据。 无论什么时候需要取消这个监听器:调用DatabaseReference.removeEventListener(valueEvenListener); 对不起,我的英文不好:( :( :(
答案 1 :(得分:0)
Firebase数据库的主要目标是作为实时数据库工作,而不是作为脱机数据库工作。即使您的应用暂时失去网络连接,Firebase应用也会正常工作。离线时可以使用缓存数据,Firebase会在网络连接恢复时重新发送任何写入。
启用磁盘持久性后,您的应用会将数据本地写入设备,以便您的应用可以在离线时保持状态。您可以像这样启用磁盘持久性:
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
如果你想要完全离开,你可以使用goOffline() method
此方法会关闭与Firebase数据库后端的连接,直到调用goOnline()。
但是,我没有重新使用Firebase作为仅限脱机的数据库。它实际上是作为一个在线数据库而设计的,可以在短时间内连接中断。离线时,它将保持写操作的队列。随着此队列的增长,本地操作和应用程序启动将变慢。没什么大不了的,但随着时间的推移,这些可能会加起来。
希望它有所帮助。