2016-12-28 45 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

相關問題