Java 在整个firebase数据中循环
我想找到所有用户的数据和他们在特定问题上的分数总和,并找到最高排名 现在我可以浏览data users数据,但不能浏览questions节点。 如何读取所有数据 以下是我创建POJO的方式: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
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){
}
});
}