1
我想創建一個使用firebase作爲後端的應用程序。現在我遇到的問題是我必須附加一個偵聽器才能獲取數據快照。但是,每次我的應用程序啓動時,即使數據庫中沒有更改,我也想查詢Firebase的數據並填充我的視圖。如何從Firebase中檢索數據而無需聆聽更改?
我想創建一個使用firebase作爲後端的應用程序。現在我遇到的問題是我必須附加一個偵聽器才能獲取數據快照。但是,每次我的應用程序啓動時,即使數據庫中沒有更改,我也想查詢Firebase的數據並填充我的視圖。如何從Firebase中檢索數據而無需聆聽更改?
我想你正在做的事情是這樣的:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Code
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Code
}
});
所以對我怎麼想你問,打電話叫addListenerForSingleValueEvent
應該解決這個問題的替代方法。它會而不是監聽更改,只要返回一個值,它將停止連接,直到再次連接。
結果
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Code
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Code
}
});
謝謝....我現在明白了....問題在於,重寫方法onDatachange的名稱是誤導性的,我認爲它僅在數據更改時才被調用 –
請分享您的代碼 –
答案應該是在這裏:https://firebase.google.com/docs/database/android/retrieve-data#child-events –