2012年3月4日日曜日

プリファレンスの削除について

プリファレンス(SharedPreferences)の削除で、地味にハマったのを思い出したので投稿メモ。


プリファレンスを削除する場合、
clear()メソッドを使う、となっています。

でも、clear()だけしても削除されません。
commit()する必要があります。(ここでハマった。。

この辺、検索してもちゃんと説明しているサイトを見つけられなかった。
分かってる人にとっては、
そりゃcommit()しないと確定しないでしょ、、という話なんだろうけど^^;


というか、そもそも削除が必要なケースがあまりないのかもしれない。
削除というか、クリアすると考えれば、
初期値を代入する、という方法が普通なんでしょう。


※サンプルコード

SharedPreferences pref;
Editor editor;

pref=getPreferences(MODE_PRIVATE);
editor=pref.edit();

editor.clear().commit();

0 件のコメント: