2016-11-23 6 views
0

Initializing Highscore-Array zu speichern:Gemeinsam genutzte Einstellungen keine Daten

score = 0; 
sharedPreferences = context.getSharedPreferences("Scores", Context.MODE_PRIVATE); 
    //initialize the array of high scores 
    highScore[0] = sharedPreferences.getInt("score1",0); 
    highScore[1] = sharedPreferences.getInt("score2",0); 
    highScore[2] = sharedPreferences.getInt("score3",0); 
    highScore[3] = sharedPreferences.getInt("score4",0); 
    highScore[4] = sharedPreferences.getInt("score5",0); 

Überprüfung Für die 4 Höchste Werte:

highScore[5] = score; 
Arrays.sort(highScore); 

Dies ist mein Code für Daten in gemeinsamen Vorlieben

SharedPreferences.Editor e = sharedPreferences.edit(); 
       for(int j=4;j>=0;j--){ 
        e.putInt("score"+(j+1),highScore[j]); 
        e.apply(); 
       } 
+0

Bitte überprüfen Sie hier: http://StackOverflow.com/Questions/23024831/android-shared-preferences-Beispiel –

+0

ist dies der vollständige Code zum Speichern von Wert in den Einstellungen? –

+0

Haben Sie die sharedPreferences mit dem Schlüssel "Scores" initialisiert? – Madhav

Antwort

1
Spar

Ich werde vorschlagen, so zu verwenden.

SharedPreferences pref; 
pref= context.getSharedPreferences("Scores", Context.MODE_PRIVATE); 
SharedPreferences.Editor e = pref.edit(); 
      for(int j=4;j>=0;j--){ 
       e.putInt("score"+(j+1),highScore[i]); 
      } 
      e.apply(); 
+0

Mein SharedPreferences Objekt ist öffentlich 'öffentlichen SharedPreferences sharedPreferences;' – JDFuzyll

+0

@JDFuzyll Haben Sie versucht das? Ich würde empfehlen, das freigegebene Einstellungsobjekt jedes Mal zu laden, wenn Sie es verwenden. Nicht global speichern. – Doomsknight

+0

Vielen Dank Es hat Arbeit – JDFuzyll

0

Statt commiting nach dem if Schleife vervollständigt, wie dies in jeder Iteration der Schleife begehen:

SharedPreferences.Editor e = sharedPreferences.edit(); 
       for(int j=4;j>=0;j--){ 
        e.putInt("score"+(j+1),highScore[i]); 
           e.apply(); 
    } 

es funktionieren wird.

+0

Auch das funktioniert nicht – JDFuzyll

Verwandte Themen