i have a problem with this function. In "onDataChange" shows me the User, but i can't save him in an array for example. I put some comments in code to help understand. Sorry for my bad english.
public User readUserFromDatabase(final String uid) {
final User[] userr = new User[1];
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
User user = snapshot.child("users").child(uid).getValue(User.class);
userr[0] = user;
// Here shows me the user from database, correctly.
Log.d(TAG, "onDataChange: " + userr[0]);
}
@Override
public void onCancelled(@NonNull DatabaseError error) { }
});
// Here shows me null.
Log.d(TAG, "readUserFromDatabase: " + userr[0]);
return userr[0];
}