Так что я просто пытаюсь сохранить строку. Но каждый раз, когда я перезапускаю приложение, я получаю null для сохраненной строки:/Я на 100% уверен, что вызываю метод save и что строка не равна null, когда я ее сохраняю.Android не сохраняет sharedPrefs
public class CFUser {
private final static String ID_KEY="myUserID";
private static String userID;
public static String getUserID(Context context) {
if(userID==null) {
SharedPreferences prefs= context.getApplicationContext().getSharedPreferences(ID_KEY, 0);
userID=prefs.getString(ID_KEY, null);
}
return userID;
}
public static void setUserID(String id, Context context) {
userID=id;
Log.d("saving", id);
SharedPreferences prefs=context.getApplicationContext().getSharedPreferences(ID_KEY, 0);
prefs.edit().putString(ID_KEY, userID);
prefs.edit().apply();
}
public static boolean isLoggedIn(Context context) {
return getUserID(context)!=null;
}
}
большое спасибо!
сделать 'editor.commit();' –
@MD: 'совершить()' работает так же, как 'применить()', с той разницей, что 'применить()' является асинхронной (и, следовательно, рекомендуется Это дело). –
@TobiasBaumeister Полностью согласен !!! –