【发布时间】:2025-12-21 21:20:46
【问题描述】:
我不太明白何时应该使用 DatabaseReference 以及何时使用 DataSnapshot。
在我的应用程序中,我似乎在没有真正区分的情况下同时使用它们(也许除了写入 Firebase,在这种情况下 DataSnapshot 不是针对的)。
【问题讨论】:
标签: android firebase firebase-realtime-database
我不太明白何时应该使用 DatabaseReference 以及何时使用 DataSnapshot。
在我的应用程序中,我似乎在没有真正区分的情况下同时使用它们(也许除了写入 Firebase,在这种情况下 DataSnapshot 不是针对的)。
【问题讨论】:
标签: android firebase firebase-realtime-database
DatabaseReference 是所有数据库操作的起点。这允许您读取、写入和创建新的 DatabaseReferences。
DataSnapshot 是 Firebase 位置数据的有效生成的不可变副本。它们不能被修改,也永远不会改变。
我相信,在底层,DataSnapshot 将是一个比 DatabaseReference 更有效的创建对象,并且是在只读场景中使用的更安全的对象,因为这将是一个不可变对象,没有附加任何额外数据像 DatabaseReference。
来源:
数据库参考 https://firebase.google.com/docs/reference/android/com/google/firebase/database/DatabaseReference
数据快照 https://firebase.google.com/docs/reference/android/com/google/firebase/database/DataSnapshot
【讨论】:
DatabaseReference 用于引用数据库结构中特定节点的位置。 DataSnapshot 用于每当从数据库触发侦听器事件时从节点获取数据。数据以键值对的形式获取。
【讨论】: