Reading value changes 

In Firebase Realtime Database to listen to the data changes, we have addValueEventListener for listening to the multiple nodes. In case you want to check the single value by adding addListenerForSingleValueEvent(), we can do that as well:

mDbRef = mDatabase.getReference("/Donor/name");


ValueEventListener changeListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
};

mDbRef.addValueEventListener(changeListener);

When a listener is not required, it should be detached from the database reference object as follows:

mDbRef.removeEventListener(changeListener);