java - 使用 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.获取五个的名字和分数并显示它们
你能给我一些提示吗?
解决方案
推荐阅读
- python - 如何向量化计算比 numpy 数组中当前最大值更小的数字?
- python - Python setup.py egg_info 失败 wsgiref
- javascript - Prevent window.onblur from impacting the dom
- android - Why is no user profile returned on Android emulator?
- node.js - 如何限制 NPM 安装
- google-cloud-platform - GCE (Google Compute Engine) for HTTP/HTTPS, with IPv6 but without SSL offloading
- javascript - 上传时保留图像比例
- javascript - React - 将 padStart() 添加到 {this.value} - 可能留胡子?
- apache-kafka - 如何配置 Kstream 状态文件夹
- node.js - 在 Promise 中调用 async await 问题