Android 即使在提交后也不保存SharedReferences
我有一个非常简单的活动,在这个活动中,我获取SharedPrefs的值,并在每次创建程序时将其递增1。因此,当我打开和关闭(退出)程序时,我希望这会不断增加。但是,这些值似乎没有保存。每次更改后我都使用提交Android 即使在提交后也不保存SharedReferences,android,sharedpreferences,Android,Sharedpreferences,我有一个非常简单的活动,在这个活动中,我获取SharedPrefs的值,并在每次创建程序时将其递增1。因此,当我打开和关闭(退出)程序时,我希望这会不断增加。但是,这些值似乎没有保存。每次更改后我都使用提交 public class SharedPreferencesActivity extends Activity { /** Called when the activity is first created. */ public static final String PREFERENCE
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));
}
}
上面我的代码从Log.e stations的输出是
前:0
期间:1
邮政编码:999
看来是在
calling prefEditor.commit();
int_out = gameSettings.getInt("Username", 0);
未保存SharedPref游戏设置 您使用了一个带大写字母的键。换线
prefEditor.putInt("UserName", int_out);
到
prefEditor.putInt("Username", int_out);