初始化highScore数组:
score = 0;
sharedPreferences = context.getSharedPreferences("Scores", Context.MODE_PRIVATE);
//initialize the array of high scores
highScore[0] = sharedPreferences.getInt("score1",0);
highScore[1] = sharedPreferences.getInt("score2",0);
highScore[2] = sharedPreferences.getInt("score3",0);
highScore[3] = sharedPreferences.getInt("score4",0);
highScore[4] = sharedPreferences.getInt("score5",0);
检查4个最高值:
highScore[5] = score;
Arrays.sort(highScore);
这是我在共享偏好设置中保存数据的代码
SharedPreferences.Editor e = sharedPreferences.edit();
for(int j=4;j>=0;j--){
e.putInt("score"+(j+1),highScore[j]);
e.apply();
}
答案 0 :(得分:1)
我建议使用那样的。
SharedPreferences pref;
pref= context.getSharedPreferences("Scores", Context.MODE_PRIVATE);
SharedPreferences.Editor e = pref.edit();
for(int j=4;j>=0;j--){
e.putInt("score"+(j+1),highScore[i]);
}
e.apply();
答案 1 :(得分:0)
不是在完成if循环后提交,而是在循环的每次迭代中提交,如下所示:
SharedPreferences.Editor e = sharedPreferences.edit();
for(int j=4;j>=0;j--){
e.putInt("score"+(j+1),highScore[i]);
e.apply();
}
它会起作用。