2012-07-07 30 views
5

Bir hizmetten paylaşılan tercihlere erişmeye çalışıyorum. Metin değerini bir dize olarak kaydetmek için aşağıdakileri kullandım ...Bir servisten SharedPreferences alın

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPreferences.edit(); 
editor.putString("Ignore1_value", Example.getText().toString()); 
editor.commit(); 

Ancak, bir hizmette değeri nasıl alabilirim? Denediğim her şey, hiçbir şey olarak geri döner. Herhangi bir yardım mükemmel ve çok takdir edilir mi?

Diğer bazı sorulara da çözüm bulmadan baktım. Ben bununla geldim, ama söylediğim gibi onu hiçbir metin olarak döndürmez.

Context ctx = getApplicationContext(); 
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(ctx); 
    String example1string = sharedPreferences.getString("Ignore1_value",""); 
    Log.i("**GetSettings", example1string); 
+0

deneyin 'SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences (youActivity.this);' Eğer değeri kaydedilirken zaman .. –

cevap

5

Her zaman PreferenceManager.getDefaultSharedPreferences(context) kullanıyorum. Bu, uygulamanızda tüm Context s için aynıdır.

A Service bir Context kendisidir, bu nedenle bu yeterli olacaktır:

PreferenceManager.getDefaultSharedPreferences(this); 
+0

mükemmel! Bu mükemmel çalışır ve tam anlamıyla yapar! – user1190019

+1

Motorola xoom üzerinde çalışmıyor, ben de denedim. – MobileEvangelist