SharedPreferences

Androidでプログラム作ってて、さんざんはまったので記録しておく。

SharedPreferences.Editor ed = getPreferences(MODE_PRIVATE).edit();
ed.putBoolean("flag", flag);
ed.commit();

これだとflagが記録される。

SharedPreferences sp = getPreferences(MODE_PRIVATE);
sp.edit().putBoolean("flag", flag);
sp.edit().commit();

これだとflagが記録されない。

たぶん、edit()は、Editorのインスタンスをその都度生成してて、上の通りじゃ、空っぽのEditorをcommitしてるだけになってたんだと思う。

やれやれ。

こちらの記事もどうぞ