2011-09-07 24 views
16

tôi muốn truy cập SharedPreference trong dịch vụ nền của tôi đã sử dụng PreferenceManager.getDefaultSharedPreferences() nhưng nó mang lại ngoại lệ nullpointĐể truy cập SharedPreference được chia sẻ từ dịch vụ trong android

Cảm ơn

+0

chỉ cho tôi mã của bạn ..... hơn tôi có thể giải thích nơi vấn đề đi ... –

+1

Có, tôi không nghĩ rằng nhiều người sẽ sẵn sàng giúp đỡ nếu bạn có hồ sơ theo dõi không bao giờ thừa nhận nó. –

Trả lời

31

Bạn phải sử dụng ngữ cảnh như sau:

Context ctx = getApplicationContext(); 
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); 
5

thử điều này:

SharedPreference pref = getSharedPreferences(PrefName, 0); 
3

Nếu bạn có crea ted SharedPreferences như:

private static final String PREFS_NAME = "UserData"; 
private static final String PREFS_VALUE1 = "value1"; 

sau đó sử dụng này:

SharedPreferences preferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); 
value1 = preferences.getString(PREFS_VALUE1, "default_no"); 
+0

Tùy chọn tốt hơn là tạo một lớp Tùy chọn đơn để lưu trữ và truy xuất các giá trị từ SharedPreferences. – Harpreet

Các vấn đề liên quan