我正在为Android开发一款游戏,我有一个我在互联网上找不到的问题。我想用共享首选项保存高分,这就是代码:
Play Class :
SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
Editor edit = prefs.edit();
edit.putInt("key", score);
edit.commit();
Toast.makeText(getApplicationContext(), "SAVED", Toast.LENGTH_LONG).show();
Intent it = new Intent(getApplicationContext(),HighScore.class);
startActivity(it);
这是高分列表代码:
highscore = (TextView) findViewById(R.id.highscore_int);
SharedPreferences prefs = this.getSharedPreferences("myPrefsKey",
Context.MODE_PRIVATE);
int score = prefs.getInt("key", 0); //0 is the default value
highscore.setText(""+score);
这样可以正常工作,但即使它比以前更小,也可以保存所有分数。我想保留得分,只要它比以前更大。我怎样才能做到这一点? PS:对不起我的英文,我不知道如何突出代码:(
答案 0 :(得分:8)
SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
int oldScore = prefs.getInt("key", 0);
if(newScore > oldScore ){
Editor edit = prefs.edit();
edit.putInt("key", newScore);
edit.commit();
}
看。