よろしくお願いします。
2011/3/7 moriti <mor...@enjoy.ne.jp>:
> --
> このメールは Google グループのグループ「Android-SDK-Japan」の登録者に送られています。
> このグループに投稿するには、android-...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-sdk-ja...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-sdk-japan?hl=ja からこのグループにアクセスしてください。
>
>
SharedPreferencesはファイルの読み書きです。
ContextImpl.javaというファイルに実装がありますが、
SharedPreferenceへcommit中にファイルの実体に変化があると
対応できないかもしれません。
たとえば、ファイルをcommit中(openしてcloseする前)にストレージへアクセス
できずファイルIOできなくなるとかですが、かなりレアなパターンかもしれません。
USBを接続した時に消えているかもしれないとの事なので
commit中にUSB接続していたりしませんか?
#マルチスレッドでのcommitが怪しいかとも思ったのですが
#ちゃんとスレッドセーフな実装になっていました。
ちなみにSharedPreferenceを保存する先はApplicationInfo.dataDirの中みたいです。
http://developer.android.com/intl/ja/reference/android/content/pm/ApplicationInfo.html#dataDir
データが消えているというのはココに保存されているファイルが消えているか
確認してみて下さい。
フォーマット(XML)が崩れているだけかもしれません。
なおGingerbreadのソースで確認したので、1.6ではちょっと違うかもしれません。
2011/3/7 moriti <mor...@enjoy.ne.jp>:
Gingerbreadのコードを読む限り問題ないように見えました。
edit()メソッドを呼ぶとオブジェクトをnewしているようなので。