Jaiel
Dauergast
- 235
Hallo hier mal ein code wie ich sharedpreferences lade und speichere:
das ist aus meiner 2. activity in der 1. gibt es nur die load preferences methode
ich schaffe es aber nciht die preferences zu schreiben...
die ganzen variablen werden auch richtig initialisiert , sind sogar als volatile deklariert, selbst wenn sie zu einem zeitpunkt geschrieben werden wo cih sicher weiß dass diese nciht mehr von anderer stelle aus geschrieben werden
lesen tue ich sofort nachdem ich die view initialisiert habe
schreiben kurz bevor ich die activity beende und die view als null überschreibe
es passiert auch alles auf dem UI Thread, keine konkurrenz zu erwarten!
Komisch!!!
Habe ich zu viele variablen geschrieben? Oder muss ich editor.commit nach ejdem beschreiben aufrufen?
alles ausser das boolean klappt nciht zu beschreiben!!!
Der ursprüngliche Beitrag von 01:50 Uhr wurde um 01:59 Uhr ergänzt:
Ich hoffe ich muss nciht auf files ausweichen
Der ursprüngliche Beitrag von 01:59 Uhr wurde um 02:09 Uhr ergänzt:
liegt es vllt daran dass ich nur getPreferences() aufrufe?
Der ursprüngliche Beitrag von 02:09 Uhr wurde um 02:11 Uhr ergänzt:
ok es liegt daran die preferences bleiben nur für diese activity gespecihert...hatte es irgendwo mal anders gelesen....in den google docs steht auch ncihts darüber aber eclipse hat es mir dann angezeigt dass es nur für die jew. activity gilt!
PHP:
public void loadSharedPrefs()
{
SharedPreferences prefs=getPreferences(0);
pView.soundOn=prefs.getBoolean("sound", true);
pView.highScore=prefs.getInt("highScore",0);
pView.starPoints=prefs.getInt("starPoints",0);
pView.gamesPlayed=prefs.getInt("gamesPlayed",0);
pView.dotsPopped=prefs.getInt("dotsPopped",0);
pView.timePlayed=prefs.getInt("timePlayed",0);
}
public void setSharedPrefs()
{
SharedPreferences.Editor editor = getPreferences( 0).edit();
editor.putInt("highScore",pView.highScore);
editor.putInt("starPoints",pView.starPoints);
editor.putInt("gamesPlayed",pView.gamesPlayed);
editor.putInt("dotsPopped",pView.dotsPopped);
editor.putInt("timePlayed",pView.timePlayed);
editor.commit();
}
das ist aus meiner 2. activity in der 1. gibt es nur die load preferences methode
ich schaffe es aber nciht die preferences zu schreiben...
die ganzen variablen werden auch richtig initialisiert , sind sogar als volatile deklariert, selbst wenn sie zu einem zeitpunkt geschrieben werden wo cih sicher weiß dass diese nciht mehr von anderer stelle aus geschrieben werden
lesen tue ich sofort nachdem ich die view initialisiert habe
schreiben kurz bevor ich die activity beende und die view als null überschreibe
es passiert auch alles auf dem UI Thread, keine konkurrenz zu erwarten!
Komisch!!!
Habe ich zu viele variablen geschrieben? Oder muss ich editor.commit nach ejdem beschreiben aufrufen?
alles ausser das boolean klappt nciht zu beschreiben!!!
Der ursprüngliche Beitrag von 01:50 Uhr wurde um 01:59 Uhr ergänzt:
Ich hoffe ich muss nciht auf files ausweichen
Der ursprüngliche Beitrag von 01:59 Uhr wurde um 02:09 Uhr ergänzt:
liegt es vllt daran dass ich nur getPreferences() aufrufe?
Der ursprüngliche Beitrag von 02:09 Uhr wurde um 02:11 Uhr ergänzt:
ok es liegt daran die preferences bleiben nur für diese activity gespecihert...hatte es irgendwo mal anders gelesen....in den google docs steht auch ncihts darüber aber eclipse hat es mir dann angezeigt dass es nur für die jew. activity gilt!