我有一個節點,每三天使用我的Firebase實時數據庫中的一些鍵值對進行刷新。我希望我的應用程序只有在此節點中進行更改時才能獲取新值(每隔三天左右)。我目前使用此代碼測試:Firebase數據庫偵聽器僅在更改時纔會獲取值
mFirebaseDatabase.getReference().child("test").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Long tsLong = System.currentTimeMillis();
Log.d("thatsdatasnapshot", "thatsdatasnapshot = " + tsLong.toString());
Log.d("thatsdatasnapshot", "thatsdatasnapshot = " + dataSnapshot.toString());
}
我的問題是,我在這個監聽器打印日誌很多時候連我都不在我的節點改變任何東西,例如每次我啓動應用程序。所以我猜想,我的節點的所有值都是「經常」下載的,不僅僅是當我在數據庫中進行更改時。我錯了嗎 ?只有在發生變化時,如何下載我的節點的值?我認爲這是addValueEventListener()應該做的事情,但是當我經常看到我的日誌打印時,我有疑問。
謝謝
亞歷