我创建了一个使用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");