クラスを作成して、認証(CookieをSharedPrefsに保存)を処理するのに役立ちました。SharedPrefsに文字列(Cookie)を保存するとNullPointerExceptionが発生しました。
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
あなたの誰かがこのPROBを解決するために私を助けることができますか?事前に感謝します
は、メソッドからstaticキーワードを削除します'setToken'と試してください –
どこにあなたは 'String token'を取得していますか? –
私は 'setToken()'を呼び出す前に 'Authentication()'を呼び出さずにいると思います... 'editor'は初期化されていません – Opiatefuchs