2012-01-03 12 views
6

Uygulamamda 2 işlem var. Bir işlemden veriyi SharedPreferences'a kaydediyorum. İkinci işlemden - geri al. Verileri aldığımda, eski verilerle SharedPreferences aldım (xml dosyasını kontrol edip, şu anda dosyadaki verilerin ve alınan verilerin farklı olduğunu görüyorum). Bu veri önbelleğe alınmış gibi görünüyor. Kayıt yöntemlerini değiştirdim (taahhüt/başvuru) ama sonuç yok. Not: Sadece örneğin http://pastebin.com/Zx2ffvSgPaylaşılan Tercihte Veri Önbelleği

//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

biz bazı kodlar görmem gerek olduğunda karşılaşılmasına bayrak Context.MODE_MULTI_PROCESS bayrağı ekleyin Hatanın nerede olduğunu görmek –

+0

Bu durumda uygun olmadığını düşünüyorum. SharedPreference ile basit çalışmaları açıklarım. Belki benim durumumda herhangi bir "tuzak" var? – x90

+0

Anahtar/değer çiftindeki anahtarın aynı olduğundan emin olun. –

cevap

17

çözeltisi (yukarı API Seviye 11 ve sonrasında mevcuttur) açık paylaşılan tercih

+0

Teşekkürler! Günümü kurtardın. –