我创建了一个使用SharedPreferences
的类。在我的Activity
中,我试图添加一个项目并得到以下错误...
06-05 17:01:53.950: E/AndroidRuntime(3488): FATAL EXCEPTION: main
06-05 17:01:53.950: E/AndroidRuntime(3488): java.lang.NullPointerException
06-05 17:01:53.950: E/AndroidRuntime(3488): at com.xcxcxc.helpers.Prefs.init(Prefs.java:16)
06-05 17:01:53.950: E/AndroidRuntime(3488): at com.xcxcxc.helpers.Prefs.addStringProperty(Prefs.java:30)
06-05 17:01:53.950: E/AndroidRuntime(3488): at com.xcxcxc.usersadapter.SplashActivity$1.callback(SplashActivity.java:78)
06-05 17:01:53.950: E/AndroidRuntime(3488): at com.xcxcxc.usersadapter.SplashActivity$1.callback(SplashActivity.java:1)
这是我处理
SharedPreferences
的代码...import android.content.Context;
import android.content.SharedPreferences;
public class Prefs {
public static final String STORAGE_NAME = "ApplicationPrefs";
private static SharedPreferences settings = null;
private static SharedPreferences.Editor editor = null;
private static Context context = null;
public static void init(Context cntxt) {
context = cntxt;
}
private static void init() {
settings = context.getSharedPreferences(STORAGE_NAME, 0);
editor = settings.edit();
}
/* String values */
public static void addStringProperty(String name, String value) {
if (settings == null || editor == null) {
init();
}
editor.putString(name, value);
editor.commit();
}
public static String getStringProperty(String name) {
if (settings == null || editor == null) {
init();
}
return settings.getString(name, null);
}
}
这是我在
Activity
中调用的代码...Prefs.addStringProperty("client_id", "1JDkv9sdfj8sf63rjs");
最佳答案
看起来Context为空。在addStringProperty(..)之前设置上下文
Prefs.init(getApplicationContext());
Prefs.addStringProperty("client_id", "1JDkv9sdfj8sf63rjs");
关于java - 带有context.getSharedPreferences(STORAGE_NAME,0)的java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10898221/