【问题标题】:High Score in Android [closed]Android中的高分[关闭]
【发布时间】:2013-07-23 20:50:03
【问题描述】:

我完全被安卓的高分排行榜打破了……我想显示游戏中的前五名高分……我该怎么做……我有分数和名字存储在数据库中。 ..接下来我该怎么办?

我有这个分数排序代码...

Collections.sort(scoreList);

    for(int i=0; i<5;i++){
        highScoreList.add(scoreList.get(i));
    }

    return highScoreList;


    }

我正在寻找对它进行降序排序并获得前五条记录的可能性。另一个问题,如果发生这种情况,如果它属于高分,我该如何比较分数?

【问题讨论】:

  • 您目前看到了什么行为?
  • 现在,我可以得到所有的分数......
  • 您可以在查询中按分数排序并将限制设置为 5。
  • 如何将限制设置为 5?
  • 如果您的分数在数据库中,只需执行查询并获取所有分数,如下所示:SELECT score FROM SCORETABLES ORDER BY score DESC LIMIT 5;

标签: java android sqlite


【解决方案1】:

就像 Tobiel 所说,如果您的数据存储在您的数据库中,那么查询会好得多。但是,如果您需要在代码中执行此操作,您应该修改您的 Collection 排序。

如果在你的 scoreList 中有一个 Score 对象的集合,你可以像这样比较它们的分数:

    Collections.sort(scoreList, new Comparator<Score>() {
        @Override
        public int compare(Score score1, Score score2){
            if(score1.getScore() < score2.getScore())
                return -1;
            else if(score1.getScore() > score2.getScore())
                return 1;
            else
                return 0;
        }
    });

然后,当您执行 for 循环时,它们将按最高分数进行组织。

【讨论】:

  • 谢谢..我很感激..
猜你喜欢
  • 2020-10-29
  • 1970-01-01
  • 2013-05-10
  • 2011-05-25
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多