SharedPreferences erhält in meiner vorhandenen App immer den Standardwert, aber wenn eine neue App erstellt wird, ist sie in Ordnung.
SharedPreferences funktioniert in einer vorhandenen App nicht richtig. Ich habe viele verschiedene Möglichkeiten ausprobiert, aber immer noch nicht funktioniert. Standardwerte immer abrufen, App neu starten.
Es funktioniert, wenn ich denselben Code in der erstellten neuen App verwende. Es funktioniert mit allen anderen vorhandenen Apps.Weißt du, warum
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();
}
BEARBEITEN log results
dieser Block gibt immer das zurück, wofür die App falsch ist und ich weiß nicht warum
//first run
SHARED CHECK Default_User
SHARED WRITE new_user
//each time after first
SHARED CHECK Default_User
SHARED WRITE new_user
Dieser Block gibt immer das zurück, wofür alle Apps sind
//first run
SHARED CHECK Default_User
SHARED WRITE new_user
//each time after first
SHARED CHECK new_user
SHARED READ new_user