2012-01-03 13 views
6

私のアプリケーションには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); 
...} 
+0

オープン共有好み(APIレベル11で、最大使用可能)neccesaryフラグContext.MODE_MULTI_PROCESSフラグに追加されますエラーがどこにあるか参照してください –

+0

私はそれがこの状況に適していないと思う。私はSharedPreferenceで簡単な作業について説明します。私の状況に「落とし穴」があるのか​​もしれませんか? – x90

+0

キーと値のペアのキーが同じであることを確認してください。 –

答えて

17

ソリューションは、我々はにいくつかのコードを参照する必要があると思い際

+0

ありがとう!あなたは私の一日を救った。 –