SharedPreferences und Emulator

B

bulk

Neues Mitglied
0
Hallo..

ich habe ein Problem mit der Verwendung der SharedPreferences. Immer wenn ich Daten damit speicher und den Emulator neu starte (ohne die apk neu zu installieren) sind die zuvor gespeicherten SharedPreferences nicht mehr vorhanden. Mein Code sieht folgendermaßen aus:

So schreibe ich Werte in die SharedPreferences:
Code:
SharedPreferences settings = getSharedPreferences(SETTINGS_NAME, 0);   
settings.edit().putInt(SCHEDULER_START_TIME_HOUR, hourOfDay);
settings.edit().putInt(SCHEDULER_START_TIME_MINUTE, minute);
settings.edit().commit();
Und beim onCreate() der Activity lese ich die Werte aus:
Code:
TextView startTimeText = (TextView)findViewById(R.id.startTimeText);
SharedPreferences settings = getSharedPreferences(SETTINGS_NAME, 0);
int hour = settings.getInt(SCHEDULER_START_TIME_HOUR, -1);
int minute = settings.getInt(SCHEDULER_START_TIME_MINUTE, -1);
startTimeText.setText(String.valueOf(hour) + ":" + String.valueOf(minute));
Nach dem Neustart des Emulators ist meine Anzeige in der TextView immer "-1:-1"

Weiß jemand woran das liegen könnte?

Vielen Dank schonmal,
bulk
 
Zuletzt bearbeitet:
bulk schrieb:
Code:
settings.edit().putInt(START_TIME_HOUR, hourOfDay);
settings.edit().putInt(START_TIME_MINUTE, minute);
Und beim onCreate() der Activity lese ich die Werte aus:
Code:
int hour = settings.getInt(SCHEDULER_START_TIME_HOUR, -1);
int minute = settings.getInt(SCHEDULER_START_TIME_MINUTE, -1);
Nach dem Neustart des Emulators ist meine Anzeige in der TextView immer "-1:-1"

Weiß jemand woran das liegen könnte?

Vielen Dank schonmal,
bulk

Und die beiden Konstanten sind auch wirklich gleich?
 
Ups das war noch ein Überbleibsel vom rumprobieren. Habs jetzt nochmal im Code geändert und im ersten Post auch.

Das Problem ist aber das gleiche.
 
Okay ich hab es hinbekommen. Der Fehler lag im Setzen der preferences. Hierbei muss ich wohl einen SharedPreferences.Editor instanziieren und kann nicht über settings.edit() die Editor-Operationen machen.

Code:
SharedPreferences settings = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();               

editor.putInt(Constants.Settings.SCHEDULER_START_TIME_HOUR, hourOfDay);
editor.putInt(Constants.Settings.SCHEDULER_START_TIME_MINUTE, minute);
                
editor.commit();
Na ja nun geht es jedenfalls :)
 
habe ein anderes problem bezüglich des SharedPreferences. Ich habe dir gleiche methode wie "bulk" angewendet. möchte allerdings, dass auch andere activities die shared preferences laden.

ich habe eine erst activity, die weitere activities startet, und dann switsche ich zwischen den acitivties mit dem FLAG:

myIntent.setFlags(Intent.
FLAG_ACTIVITY_REORDER_TO_FRONT);

Habe deshlab die Shared Preferences im onResume() aufgerufen...

Ein Beispiel zum Problem:

Activitiy A ruft Activity B. B speicher infos und holt A auf obersten Stack. Allerding sind die geladen änderungen nicht wirksam. Erst nachdem A erneut B aufruft und B wieder A. Dann erst ist die änderung wirksam.

why? :)
 

Ähnliche Themen

S
Antworten
4
Aufrufe
988
Sempervivum
S
D
Antworten
9
Aufrufe
1.762
jogimuc
J
O
Antworten
15
Aufrufe
2.942
ORHUX
O
Zurück
Oben Unten