I want to retrieve a user from Firebase.
public User findByUserName(String username){
Query query = this.mDatabaseReference.orderByChild("username").equalTo(username);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
user = dataSnapshot.getValue(User.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return this.user;
}
The user is retrieved successfully only if there is a data changing event which makes perfect sense. However, I want to receive my user without changing anything. Is it possible?
If not, why would Firebase offer querying only in case of an event?