【发布时间】:2016-06-20 22:03:40
【问题描述】:
我创建了一个类来帮助我处理身份验证(将 Cookie 保存到 SharedPrefs)。
public class Authentication extends Application {
String PREFS_NAME = "UserData";
String DEFAULT = "";
Context context;
public static SharedPreferences sharedPreferences;
public static SharedPreferences.Editor editor;
public static String token;
public Authentication(Activity context) {
this.context = context;
sharedPreferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
editor = sharedPreferences.edit();
token = sharedPreferences.getString("Cookie", DEFAULT);
}
//speichert Token in den Shared Preferences
public static void setToken(String token) {
Log.d("Cookie", token);
editor.putString("Cookie", token);
}
}
当我调用Authentication.setToken(token)-方法时,我的响应(RegisterActivity)我会得到一个 NullPointerException:
java.lang.NullPointerException: Attempt to invoke interface method 'android.content.SharedPreferences$Editor android.content.SharedPreferences$Editor.putString(java.lang.String, java.lang.String)' on a null object reference
有人可以帮我解决这个问题吗?提前致谢
【问题讨论】:
-
从方法
setToken中删除静态关键字并尝试 -
我猜你在调用
setToken()之前没有调用Authentication()...所以你的editor没有被初始化 -
@SagarThakarar 去除静电并不能解决问题...
-
@Yvette
String token来自我在 RegisterActivity 中的 HTTP-Response!
标签: java android cookies nullpointerexception android-sharedpreferences