首页 > 解决方案 > 使用 sharedpreferences 的前 5 名高分列表 java

问题描述

我是 Java 和这个论坛的新手,希望你能帮助我;我在 Android Studio 中工作,我想在我的应用程序中保留并显示 Top 5 highScore 列表。

每次有人完成游戏时,我都会得到玩家的分数和名字;

private void saveScore(){
String firstname = mPreferences.getString(PREF_KEY_FIRSTNAME, null);
int score =mPreferences.getInt(PREF_KEY_SCORE, 0);


//add name and score to map and save in shared preferences

Map<String,Integer> highScores=new HashMap<>();
    highScores.put(firstname, score);
    for (String s : highScores.keySet()) {
        prefHighscore.edit().putInt(s, highScores.get(s));
    }
    prefHighscore.edit().apply();

}

然后我想在我的 ScoreActivity 中访问地图 private void getScores() {

    HashMap<String, Integer> map= (HashMap<String, Integer>) 
prefHighscore.getAll();
    for (String s : map.keySet()) {
        Integer value = map.get(s);

}

我希望这段代码没问题。我现在被卡住了,因为我想:

1.排序列表并获得五个高分。2.获取五个的名字和分数并显示它们

你能给我一些提示吗?

标签: javahashmapsharedpreferences

解决方案


推荐阅读