2012-03-17 2 views
1

Итак, я пытаюсь сохранить самый высокий балл с помощью 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); 
+0

btw Это для игры, и я пытаюсь сохранить только верхнюю оценку # 1, которая является просто int. Еще раз спасибо за любую помощь. – alexward1230

ответ

3

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

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

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

Смежные вопросы