2016-12-28 47 views
1

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

在我的应用程序似乎可以用他们都没有真正的区别(也许除了写火力地堡在这种情况下DataSnapshot不是为制造)。

+1

@JefriiyerS不是非常有帮助 – CaptainNemo

回答

3

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

甲DataSnapshot处于火力地堡位置的数据的有效地生成的不可变的副本。他们不能修改,永远不会改变。

我相信,在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

+0

因此,如果我理解正确,基本上DatabaseReference是用于修改,从Firebase添加或删除和DataSnapshot是用于阅读?这就是它的全部吗? – CaptainNemo

+1

这就是我的理解。 –

1

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

+1

所以,如果我理解正确的话,基本上DatabaseReference是用于修改,添加或从火力地堡和DataSnapshot删除是读?这就是它的全部吗? – CaptainNemo

+1

是的。 DataSnapshot只能用于读取数据,而您可以使用DatabaseReference修改,添加或删除数据到特定节点AFAIK。 – Asym

相关问题