Firebase通过在Android中获得他的分数来获得用户排名

时间:2017-01-29 03:33:35

标签: android database firebase

我想通过使用数据库中使用的分数来获取用户排名。我有数据库:

scores-> uid - >得分

data image

在图片中,我想按降序对得分数据进行排序,为其分配排名(1为最高得分者排名,2为第二等等),并检索当前用户的排名。

我找到了有助于对用户进行排序的解决方案,但如何设置排名并找到当前用户的排名就是问题。

    private void getHighestScore() {
    DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("users");
    Query query = databaseReference.orderByChild("score").limitToLast(1);
    query.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            userlist = new ArrayList<String>();
            for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                User score = postSnapshot.getValue(User.class);
                Log.d("test", " values is " + score.getName() + " " + score.getScore());

                       userlist.add(score.getScore()+user.getName());


            }

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}

以上代码已用于以排序方式将数据添加到列表中。问题是如何在应用程序中设置当前用户的排名

firebase retrieve highest 100 score

query for getting top 10 highest scores

0 个答案:

没有答案