Показать рекорд с общими настройками? - PullRequest
1 голос
/ 17 марта 2012

Итак, я пытаюсь сохранить наивысший балл с помощью sharedPreferences, но у меня проблемы.Я не знаю, как бы настроить его так, чтобы он брал только самый высокий балл и отображал его.

То, что у меня сейчас есть, будет отображать только текущий счет, полученный игроком.Вот что у меня до сих пор не работает:

public class GameOptions extends Activity {
int theScore;
TextView highScore;
public static String filename = "MyHighScore";
SharedPreferences spHighScore;
int dataReturned;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.in_game_menu);
    TextView tvTheScore = (TextView) findViewById(R.id.textView2);
    TextView highScore = (TextView) findViewById(R.id.high_score);
    Bundle gotScore = getIntent().getExtras();
    theScore = gotScore.getInt("scoreKey"); 
    //String thisIsTheScoreToDisplay = theScore.toString();
    tvTheScore.setText("SCORE: "+theScore);

    spHighScore = getSharedPreferences(filename, 0);
    SharedPreferences.Editor editor = spHighScore.edit();

    editor.putInt("highScoreKey", theScore);
    editor.commit();

    int dataReturned = spHighScore.getInt("highScoreKey", 0);
    highScore.setText("" + dataReturned);

Ответы [ 2 ]

3 голосов
/ 17 марта 2012

этим вы можете сохранить свой счет

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
    SharedPreferences.Editor prefsEditor = myPrefs.edit();
    prefsEditor.putString(MY_SCORE_KEY, HIGHEST_SCORE);
    prefsEditor.commit();

и получить вот так

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
    String highestScore = myPrefs.getString(MY_SCORE_KEY, "nothing");

Надеюсь, это поможет вам ..

2 голосов
/ 17 марта 2012

Непосредственно перед сохранением рекорда, выберите текущий рекорд, сохраненный в настройках, и проверьте, меньше ли он рекорда или нет. если оно меньше, сохраните новый в общих настройках или просто оставьте последний как самый высокий.

...