我知道如何在数据库引用上添加侦听器,以检测数据何时发生更改并检索该数据。但是,当应用程序首次安装在用户设备上时,我似乎无法找出如何从Firebase中获取数据。用户安装应用程序并不会更改数据,这不会发生。在这种情况下,如何在不触发侦听器的情况下获取数据?
答案 0 :(得分:1)
在附加了侦听器后以及相关事件发生时触发一次侦听器。
因此,只需创建一个ValueEventListener
,您将获得其所有当前数据的快照(并且每次附加时都将获得它,而不仅仅是在安装应用程序后一次)。
文档中还有关于listen for value events的更多信息,但特别相关的文字是:
您可以使用onDataChange()方法读取给定路径上内容的静态快照,因为它们在事件发生时就已经存在。附加了侦听器后,将触发此方法,而每次更改数据(包括子级)时,都会触发此方法。
通过ChildEventListener
方法,对于onChildAdded
也是如此。对于所有存在的项目,将调用它,然后每次实际添加一个项目时,都会调用一次。参见here。