我在我的Android应用程序中使用firebase实时数据库。我只想将最后一个条目插入数据库而不是整个数据库同步。我正在执行以下操作。
FirebaseDatabase.getInstance().getReference("reference").limitToLast(1).addValueEventListener(this);
这是我无法理解的:
1.当我执行limitToLast并添加一个监听器时,它是否将数据库中的整个数据下载到本地副本中并向我传递最后一个条目的快照,或者仅下载最后一个条目?
2.当我删除侦听器时,同步是否在实时数据库和本地数据之间停止,或者同步是否仍然发生但是没有调用onDataChange?
3.删除Value Event侦听器和脱机之间的区别。
答案 0 :(得分:0)
当您致电limitToLast()
时,您需要创建Firebase数据库查询。此类查询仅同步其匹配的数据,因此在您的示例中,它仅下载最后一项并使用它调用onDataChange
。然后,当有人添加新项目时,它会再次使用新的最后一项调用onDataChange
。
删除侦听器会停止数据同步。
暂时停止数据同步,直到您拨打goOnline()
。