2016-11-23 4 views
0

Initializing рекордами массив:Общие предпочтения не Сохранение данных

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

Проверка на 4 наивысшие значения:

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

Это мой код для сохранения данных в общих настройках

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

Пожалуйста, проверьте здесь: http://stackoverflow.com/questions/23024831/android-shared-preferences-example –

+0

- это полный код для сохранения значения в настройках? –

+0

Вы инициализировали sharedPreferences с помощью клавиши «Scores»? – Madhav

ответ

1

Я предлагаю использовать вот так.

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

My SharedPreferences объект является общедоступным 'public SharedPreferences sharedPreferences;' – JDFuzyll

+0

@JDFuzyll Вы пробовали это? Я бы рекомендовал загружать объект общих предпочтений каждый раз, когда вы его используете. Не хранить его по всему миру. – Doomsknight

+0

Большое спасибо It did Work – JDFuzyll

0

Вместо после завершения совершали КРП цикла, совершает в каждой итерации цикла вашего, как это:

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

он будет работать.

+0

Даже это не работает – JDFuzyll

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