)dataSnapshotは「addChildEventListener(下nullであるかどうかを検出することができません、それは次のようになります。私は私のアプリ&ためFirebaseデータベースを設定している `
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");
の状態が呼び出されていません。
EDIT:
私は
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? –