【发布时间】:2016-09-14 11:33:57
【问题描述】:
这是我的 Firebase 的屏幕截图: 我正在尝试检索 firebase 数据库中的最高 100 分 我正在使用此代码将新节点添加到 firebase:
Map<String, String> post1 = new HashMap<String, String>();
post1.put("name",name);
post1.put("score",score);
myRef.push().setValue(post1);
这是我用来检索最高 100 分但不起作用的代码(代码有效,但它没有检索最高 100 分)
Query queryRef = myRef.orderByChild("score").limitToFirst(100);
queryRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
Score score=postSnapshot.getValue(Score.class);
Log.d("test"," values is " + score.getName() + " " + score.getScore());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
【问题讨论】:
-
最好将分数存储为数字而不是字符串。查看 frank 答案中的 cmets 了解更多信息。
标签: android firebase firebase-realtime-database