2017-08-08 30 views
1

Firebase RealtimeDatabase适用于Listeners,当事件发生时触发该功能,但我希望在单击Button时更新数据。我了解到这一点,发现方法DatabaseReference.addListenerForSingleValueEvent,但保持听众。那么,是否存在解决我的问题的方法?我正在使用Android。如何使用Firebase RealtimeDatabase像普通数据库一样?

+0

...如果你想让它不是实时的,我想你可以离线然后回到在线状态。为什么要按预期使用任何lib?忘记效率和努力。忘记客户RIIIGHT? – quantomworks

+0

你的问题是什么?请在帖子中清楚说明。 – UmarZaii

回答

0

当单击Button时,您可以使用方法DatabaseReference.addValueEventListener()从Firebase获取数据。 而且每当你需要取消这个监听器时:调用DatabaseReference.removeEventListener(valueEvenListener); 对不起我的坏英文:(:(:((

0

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

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

FirebaseDatabase.getInstance().setPersistenceEnabled(true); 

如果你wa NT是compltely offilne可以使用goOffline() method

这种方法关闭,直到goOnline我们对火力地堡后端数据库连接()被调用。

但是,我不建议您使用Firebase作为脱机数据库。它的设计确实是一个在线数据库,可以在短时间内断开连接。在离线时它将保持写入操作的队列。随着此队列的增长,本地操作和应用程序启动将会减慢。没什么重要的,但随着时间的推移,这些可能会加起

希望它有帮助。

+0

一切都好吗? –

相关问题