私のアプリケーションには2つのプロセスがあります。 1つのプロセスから、私はデータをSharedPreferences
に保存します。 2番目のプロセスから取得します。私はデータを取得するとき、私は古いデータ(私はXMLファイルを確認し、現在のファイル内のデータと受信されたデータが異なっている)とSharedPreferences
を受け取る。このデータはキャッシュされたようです。私はメソッドの保存(コミット/適用)を変更しましたが、結果は変更しませんでした。 PS:ちょうど例えばhttp://pastebin.com/Zx2ffvSg共有設定のデータキャッシュ
//saving
{ ...
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putString(MY_NAME, "Sai");
prefsEditor.putString(MY_WALLPAPER, "f664.PNG");
prefsEditor.commit();
... }
//retrieving
// when i call getData() I put "this" as argument.
public void getData(Context context){
SharedPreferences myPrefs = context.getSharedPreferences("myPrefs", MODE_PRIVATE);
...}
オープン共有好み(APIレベル11で、最大使用可能)neccesaryフラグContext.MODE_MULTI_PROCESSフラグに追加されますエラーがどこにあるか参照してください –
私はそれがこの状況に適していないと思う。私はSharedPreferenceで簡単な作業について説明します。私の状況に「落とし穴」があるのかもしれませんか? – x90
キーと値のペアのキーが同じであることを確認してください。 –