我已經設置了火力地堡數據庫我的應用程序&它看起來像這樣:無法檢測是否dataSnapshot是在「addChildEventListener空或不是()`
app
-category
-subCategory
-subSubCategory
我有一個addChildEventListener()
設置是這樣的:
mDatabase.child("category").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot != null) {
} else {
Log.d("dataSnapshot", "null");
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我想表明警報用戶當數據庫是空的,所以我想它通過刪除數據庫中的一切,那麼它看起來像這樣:
app: null
但即使現在條件行Log.d("dataSnapshot", "null");
沒有被調用。
編輯:
我加
mDatabase.child("category").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot != null) {
Log.d("dataSnapshot", "AVAILABLE");
} else {
Log.d("dataSnapshot", "NULL");
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
,我得到了D/dataSnapshot: AVAILABLE
打印出來。如果數據庫中沒有數據,這怎麼可能?
爲什麼會發生這種情況,以及當數據庫爲空時,如何顯示用戶警報?
https://stackoverflow.com/questions/38551013/android-firebase-retrieve-data-from-child-node –
@NirmalVaghasiya這是你指的是? –