SharedPreferences всегда получает значение по умолчанию в моем существующем приложении, но при создании нового приложения все в порядке
SharedPreferences не работает правильно в одном из существующих приложений. Я пробовал много разных способов, но все еще не работал. Всегда получать значения по умолчанию приложение запускается снова.
Это работает, когда я использую тот же код в созданном новом приложении.Работают все другие существующие приложения.Ты знаешь почему?
String default_user = "Default_User";
SharedPreferences pref = this.getSharedPreferences("TEST_SHAREDPREF", MODE_PRIVATE);
String user = pref.getString("user", default_user);
Log.d("SHARED CHECK", user);
if (user.equals(default_user)) {
SharedPreferences.Editor edit = pref.edit();
edit.putString("user", "new_user");
boolean ok = edit.commit();
user = pref.getString("user", default_user);
Log.d("SHARED WRITE", user);
Toast.makeText(this, user + " Save process: " + ok, Toast.LENGTH_LONG).show();
} else {
Log.d("SHARED READ", user);
Toast.makeText(this, "READ SharedPrefs: " + user, Toast.LENGTH_LONG).show();
}
РЕДАКТИРОВАТЬ: регистрировать результаты
этот блок всегда возвращает это для которого неправильное приложение, и я не знаю, почему
//first run
SHARED CHECK Default_User
SHARED WRITE new_user
//each time after first
SHARED CHECK Default_User
SHARED WRITE new_user
Этот блок всегда возвращает это, для которого все приложения
//first run
SHARED CHECK Default_User
SHARED WRITE new_user
//each time after first
SHARED CHECK new_user
SHARED READ new_user