Java 在整个firebase数据中循环

Java 在整个firebase数据中循环,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我想找到所有用户的数据和他们在特定问题上的分数总和,并找到最高排名 现在我可以浏览data users数据,但不能浏览questions节点。 如何读取所有数据 以下是我创建POJO的方式: private String id; private String name; private String contact; private String email; private String password; private int score; private String dob; pri

我想找到所有用户的数据和他们在特定问题上的分数总和,并找到最高排名

现在我可以浏览data users数据,但不能浏览questions节点。 如何读取所有数据

以下是我创建POJO的方式:

private String id;
private String name;

private String contact;
private String email;
private String password;
private int score;
private String dob;
private String profession;
private String random;
private String status;
private String fbId;
private UserPuzzleDetails userPuzzleDetails;

public User() {
}

public User(String id, String name, String contact, String email, String password, int score,
            String dob, String profession, String random, String status, String facebookid, UserPuzzleDetails userPuzzleDetails1) {
    this.id = id;
    this.name = name;
    this.contact = contact;
    this.email = email;
    this.password = password;
    this.score = score;
    this.dob = dob;
    this.profession = profession;
    this.random = random;
    this.status = status;
    this.fbId = facebookid;
    this.userPuzzleDetails = userPuzzleDetails1;
}

public User(String id, String name, String contact, String email, String password, int score,
            String dob, String profession, String random, String status, String facebookid) {
    this.id = id;
    this.name = name;
    this.contact = contact;
    this.email = email;
    this.password = password;
    this.score = score;
    this.dob = dob;
    this.profession = profession;
    this.random = random;
    this.status = status;
    this.fbId = facebookid;

}

public User(String name) {
    this.name = name;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getEmail() {
    return email;
}


public String getPassword() {
    return password;
}


public int getScore() {
    return score;
}

public void setScore(int score) {
    this.score = score;
}

public String getContact() {
    return contact;
}

public String getDob() {
    return dob;
}


public String getProfession() {
    return profession;
}


public String getRandom() {
    return random;
}


public UserPuzzleDetails getUserPuzzleDetails() {
    return userPuzzleDetails;
}

public void setUserPuzzleDetails(UserPuzzleDetails questions) {
    this.userPuzzleDetails = questions;
}

public String getStatus() {
    return status;
}

public String getFbId() {
    return fbId;
}

public void setFbId(String fbId) {
    this.fbId = fbId;
}
现在我已经使用这个函数来检索数据,但它不是日志。 我应该如何通过这些数据来遍历它

    private void getAllRank() {

    final DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("users");
    final Query query = databaseReference.orderByChild("score").limitToLast(10);
    query.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            userlist = new ArrayList<>();
            for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                User score = postSnapshot.getValue(User.class);
                userlist.add(new User(score.getId(), score.getName(), score.getContact(), score.getEmail(),
                        score.getPassword(), score.getScore(), score.getProfession(), score.getDob(), score.getRandom(), score.getStatus(), score.getFbId(),score.getUserPuzzleDetails()));
                Log.e(TAG, "onDataChange: "+userlist );
            }


        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}
private void getAllRank(){
final DatabaseReference DatabaseReference=FirebaseDatabase.getInstance().getReference().child(“用户”);
最终查询=databaseReference.orderByChild(“分数”).limitToLast(10);
addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
userlist=newarraylist();
对于(DataSnapshot postSnapshot:DataSnapshot.getChildren()){
用户分数=postSnapshot.getValue(User.class);
userlist.add(新用户(score.getId()、score.getName()、score.getContact()、score.getEmail(),
score.getPassword()、score.getScore()、score.getProfession()、score.getDob()、score.getRandom()、score.getStatus()、score.getFbId()、score.getUserPuzzleDetails());
Log.e(标记“onDataChange:+userlist”);
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
}