2013-09-22 2 views
0

У меня очень простая активность, когда я принимаю значение SharedPrefs и увеличиваю его на 1 при каждом создании программы. Таким образом, я ожидал бы, что это будет увеличиваться, когда я открою и закрою (отступ) от программы. Однако кажется, что значения не сохраняются. Я использую фиксацию после каждого изменения.SharedPreferences не сохраняется даже после коммиттов

public class SharedPreferencesActivity extends Activity { 
/** Called when the activity is first created. */ 

public static final String PREFERENCE_FILENAME = "MyGamePreferences"; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    int int_out = 0; 
    SharedPreferences gameSettings = getSharedPreferences(PREFERENCE_FILENAME, MODE_PRIVATE); 
    SharedPreferences.Editor prefEditor = gameSettings.edit(); 

    int_out = gameSettings.getInt("Username", 0); 
    Log.e("Pre",Integer.toString(int_out)); 
    int_out = int_out + 1; 
    Log.e("During",Integer.toString(int_out)); 
    prefEditor.putInt("UserName", int_out); 
    prefEditor.commit(); 
    int_out = gameSettings.getInt("Username", 0); 

    Log.e("Post",Integer.toString(int_out)); 

} 
} 

Выход моего кода выше от statments Log.e является

Pre: 0 Во: 1 сообщение: 999

так кажется, что после

calling prefEditor.commit(); 
int_out = gameSettings.getInt("Username", 0); 

SharedPref gameSettings не был сохранен.

ответ

2

Вы использовали один ключ с буквой верхнего регистра. Измените строку

prefEditor.putInt("UserName", int_out); 

в

prefEditor.putInt("Username", int_out); 
+0

Wow спасибо, я пропустил это как-то –

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