Firebase DatabaseReference与DataSnapshot

时间:2016-12-28 20:13:26

标签: android firebase firebase-realtime-database

我不太明白我什么时候应该使用DatabaseReference和DataSnapshot。

在我的应用程序中,我似乎使用它们而没有真正的区别(可能除了写入Firebase,在这种情况下没有制作DataSnapshot)。

2 个答案:

答案 0 :(得分:4)

DatabaseReference是所有数据库操作的起点。这允许您读取,写入和创建新的DatabaseReferences。

DataSnapshot是Firebase位置上高效生成的不可变数据副本。它们无法修改,永远不会改变。

我认为,在一个引擎盖下,DataSnapshot将是一个比DatabaseReference更有效的对象,并且是一个更安全的对象,可以在只读方案中使用,因为这将是一个不可变的对象,没有附加任何额外的数据比如DatabaseReference。

来源:

DatabaseReference https://firebase.google.com/docs/reference/android/com/google/firebase/database/DatabaseReference

DataSnapshot https://firebase.google.com/docs/reference/android/com/google/firebase/database/DataSnapshot

答案 1 :(得分:1)

DatabaseReference 用于指代数据库结构中特定节点的位置。 每当从数据库触发侦听器事件时, DataSnapshot 用于从节点获取数据。数据以键值对的形式提取。