2011-06-28 5 views
3

共有プリファレンスを使用して自分のアプリのログイン資格情報を保存しています。 1人のユーザー以外はすべて正常に動作します。一定の時間が経過すると、共有された設定が何らかの形でリセットまたはクリアされたように見えます。このユーザーの共有設定をもうクリアしないようにアプリを調整しました。私はそれが私のアプリの欠陥ではないことを確認することができますこのように。しかし、この変更後でさえ、彼の資格はクリアされているので、私は彼のデバイスで何か他のことが起こっていると思っています。共有設定が消え続ける

この問題にどのように対処するかについてのご意見はありますか?私は、環境設定ファイルを監視するためにファイルビューアを設定する別のアプリケーションを作成することを考えていました。この方法で、ファイルがいつ削除/削除されるかを確認したいと思います。たぶんこれを行うことができるアプリがありますか?私は、設定ファイルを他のアプリがチェックできるようにしたいと思っています。この問題を診断する方法はありますか?私はそれが私のアプリでクリア/リセットを行うのではないと確信しています...

ありがとうございました。

答えて

-1

この問題が発生したユーザーのみが表示されますか?何人のユーザーがいますか?少なくとも100?もしそうなら、それはおそらく悪いデバイスです。これを追いかけて時間を無駄にしないでください。

+0

まあ、1人のユーザーは私の上司です:-)このアプリケーションはおそらく数千人のユーザーに配布されます。現時点ではテスト中ですが、これは解決できなかった問題の1つで、どこから来ているのかを知りたいと思います。これまで私は約6つのデバイスでテストしました。 – Ivo

+0

ああ、それは非常に残念です。彼のデバイスの市場から任意のアプリをインストールし、設定を保存します。彼らがうまくいけば、問題はあなたのアプリです。私はあなたがeditor.commit()を呼んでいると思いますか? –

+0

彼は、他のアプリは、私はこのコードを使用しています細かい:-(作業言う: getSharedPreferencesを( "SPrefs"、0) .edit() .putString( "PREF_USR"、mUsername.getText()のtoString()。) .putString(。 "PREF_PWD"、mPassword.getText()のtoString()) .putBoolean( "PREF_SAVED"、真) .commit();この後 私はもう好みを明確に呼び出すことはありません、まだ彼らが消えます... – Ivo

2

いくつか考慮する必要があります。まず、可能であれば、より信頼できるデータベースを使用するだけです。次に、プロセス間でSharedPreferencesオブジェクトを使用しないでください。これは、この状況には適用されない可能性があります。第3に、SharedPreferencesを読むときには、同じ注意書きを書く必要があります。 1つのSharedPreferenceオブジェクトと1つのEditorオブジェクトを使用します。 SharedPreferencesオブジェクトをメソッドとクラスに渡すと、エディタを再利用する必要はありません。過去に私はSharedPreferencesが削除されていると不平を言うユーザーがいましたが、これらの論理的なステップの一部を実装すると、ユーザーは私に迷惑をかけませんでした。あなたが言ったのとまったく同じように心に留めておくのはまれです。 1人のユーザーが1500人のユーザーでは無視できる割合ですが、1人のユーザーでも悪いコメントを残すことができます:-)

関連する問題