SharedPreferencesのリセット
さっそくですが
開発中にPreferenceをリセットしたい時は、今まではアプリの再インストールしていました。
それでもめんどうなので、アプリにデバッグ用にPreferenceを削除する機能をつけたので書きます。
ふむふむ…ファイルごと削除するわけですね!
と、ここで疑問が。自分が書いていたアプリではSharedPreferences.Editorのputxxxやらremoveやらで設定を管理してましたが*1そこにclear()というメソッドがありました。
なんかいけそうだけどこいつじゃだめなのかなーと。
試してみる
お気に入りをぽちぽちして適当に設定ファイルを作ります。ボタンを押すとお気に入りに追加するてきな。
自分のアプリのごちゃごちゃしたとこに埋まってるのでヨサゲなコードが載せられなくてあれなんですけど
ものすごいざっくりに
SharedPreferences.Editor editor = getSharedPreferences("favorite", 0); ... // ついかする editor.putString(key, val).commit();
余談ですけどこういうのっていちいちcommit()していいんでしょうか…
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <string name="/pepin9876">This is my server name</string> <string name="/akina-DJ">Akina Camel: Akina DJ</string> <string name="/3121">Discotheque Saloon : GLAM SLAM</string> <string name="/taiwanfm905">taiwanfm905</string> <string name="/stream">hiroshima</string> </map>
こんな感じになりました
つぎに、clear()で消してみます。
// けしさる
editor.clear().commit();
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map />
なくなりました!
つまりclear()で一応消せる、と。
ファイルごと消すかという違いでしょうか。
ちなみに
明日の鍵さんでも触れられていますが設定ファイル全部削除する95kugoさんのとかぱないっす。
また、adakodaさん版の、ファイルは消さずに設定を順次削除していく方式でも消去後のxmlが同じになるのも確認しました。
チキンなので有名人に向かって@が書けません><
あと「え?アンインストールで設定ファイル消えるの?え?」とか勘違いしててめっちゃ恥ずかしいですおたわ
Dolphinのアップデートで毎回再インストールさせられてアレゲだったのをすっかり忘れてました
*1:「そもそもなんで自分でputとかしてんだよPreferenceActivityとかつかえよコラ」すいませんよくわからなかったんです