0

怎么了伙计们,我正在为 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:对不起我的英语,我不知道如何突出显示代码:(

4

1 回答 1

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();
}

查看。

于 2013-08-20T10:55:25.537 回答