Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
304 views
in Technique[技术] by (71.8m points)

java - How get value from dataSnapshot?

When I debug this code, in databaseUser dataSnapshot has the values from User in database, but in the object user1, did not add, it's all null. And I don't understand, because in the object event receives values normally.

databaseEvent.child(getKeyEvent()).addListenerForSingleValueEvent( 
      new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

               final Event event = dataSnapshot.getValue(Event.class);
               user = FirebaseAuth.getInstance().getCurrentUser();
               if(user != null) {

                   databaseUser.orderByChild("userEmail").equalTo(user.getEmail()).addListenerForSingleValueEvent(new ValueEventListener() {
                     @Override
                     public void onDataChange(DataSnapshot dataSnapshot) {
                         if (dataSnapshot.exists()) {
                             //User already exists
                             User user1 = dataSnapshot.getValue(User.class);
              }
       }
});

My Database User, only for test for now:

public class User {

String userId;
String userEmail;
Boolean userHasInterest;
String eventId;

public String getUserId() {
    return userId;
}
public String getUserEmail() {
    return userEmail;
}

public Boolean getUserHasInterest() {
    return userHasInterest;
}

public String getEventId() {
    return eventId;
}

public User(String userId, String eventId, String userEmail, Boolean userHasInterest) {
    this.userId = userId;
    this.userEmail = userEmail;
    this.userHasInterest = userHasInterest;
    this.eventId = eventId;
}

And the method, just to pick the key of the event of another activity :

public String getKeyEvent(){
    Intent intent = getIntent();
    Bundle bundle = intent.getExtras();
    String key = bundle.getString("Evento");
    return key;
} 
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...