Highscore & neuesten Score anzeigen lassen
Wir fügen also zwischen den TextView “Game Over” und den “Your score is: ” unser neues TextView ein:
<TextView
android:id="@+id/tvHighScore"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Highscore "
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center"
android:layout_weight="1"
android:textSize="35dp"/>
Nun müssen wir auf unsere beiden TextViews: tvScore und tvHighscore noch zugreifen und diese verändern. Dazu fügen wir die folgende Methode in unserer GameOverActivity ein und rufen sie in der onCreate() – Methode unserer GameOverActivity auf:
public void initialize(){
int score = this.getIntent().getExtras().getInt("score");
TextView tvScore = (TextView) findViewById(R.id.tvScore);
tvScore.setText("Your score is: " + Integer.toString(score));
TextView tvHighscore = (TextView) findViewById(R.id.tvHighScore);
tvHighscore.setText("Endless Game Highscore: " + Integer.toString(readHighscore()));
}
Diese Methode müssen wir dann natürlich noch in der onCreate() Methode der GameOverActivity aufrufen!
Und wir müssen die Methode readHighscore die wir im letzten Tutorial behandelt haben zusätzlich noch in die GameOverActivity einfügen:
public int readHighscore() {
SharedPreferences pref = getSharedPreferences("GAME", 0);
return pref.getInt("HIGHSCORE", 0);
}
Wir könnten natürlich auch eine Instanz unsere GameActivity erstellen und darüber auf die Methode zugreifen, jedoch erschien es mir leichter, es so zu machen.
Damit hätten wir es geschafft einen Highscore und unseren gerade erreichten Score in unsere Gameoverbildschirm anzeigen zu lassen.