Android preferences

  • 2 Antworten
  • Letztes Antwortdatum
X

xdroid-man

Neues Mitglied
0
Hallo zusammen,

ich möchte gerne in den SharedPreferences unterschiedliche Typen von Daten speichern. (float, int)
Geht das?
Der Code sieht ungefähr so aus.

Code:
selbe activity
{
    SharedPreferences prefs;
    oncreate(...)
    {
         prefs = getPreferences(Context.MODE_PRIVATE);
         
         .
         .
         .
         
         aktuellePunkteFloat = prefs.getFloat(WERT_1, 0);
         aktuellePunkteInt = prefs.getInt(WERT_2, 0);
    }

    methode1()
    {
        Editor meinEditor = prefs.edit();
        meinEditor.putFloat(WERT_1, aktuellePunkteFloat);
        meinEditor.commit();
    }
    
    methode2()
    {
        Editor meinEditor = prefs.edit();
        meinEditor.putInt(WERT_2, aktuellePunkteInt);
        meinEditor.commit();
    }
}
Danke für die Hilfe
 
Grüßung,
sieht schon gar nicht verkehrt aus. In einigen Büchern und ich meine auch in der Doku sieht die "best practise" wie folgt aus (Pseudocode )
Code:
if(key.contains... *der key der Einstellung*) {
 getInt(key, optionaler standardwert) 
} else putInt (key, wert)

(gerade schnell mit dem Handy geschrieben, ich hoffe man wird schlau draus)

im Prinzip versucht man immer drauf zuzugreifen und falls nichts vorhanden - > anlegen..

Kleiner Tipp nebenbei: den Editor musst du nur einmal laden (onCreate wäre ein guter Zeitpunkt).
Also am besten die Variable als "Field" anlegen (Rechtsklick auf den Editor "extract" und dann siehst du es schon...). Zur besseren Übersicht empfiehlt die Doku dann ein "m" vor die Variable zu schreiben, da sie Member der Klasse ist - ist später meiner Meinung nach ganz hilfreich wenn die Projekte größer werden...
Und apply bzw commit aber jedes mal einzeln aufrufen, dann sollte alles passen.

Und noch ein Hinweis... onPause eignet sich zum "Abspeichern" der Werte, uU gehen sonst Einstellungen verloren, wenn der Nutzer einem Anruf bekommt.
 
Zuletzt bearbeitet:
Hallo ihr,

vielen Dank für eure Antworten. Ich denke nun läuft es. Ich hoffe ich kann mich mal revangieren.

TOP Forum!!!!

Grüße Lars
 

Ähnliche Themen

M
Antworten
21
Aufrufe
1.221
swa00
swa00
Mr-Fisch
Antworten
5
Aufrufe
921
migi01
migi01
Mr-Fisch
Antworten
8
Aufrufe
968
Mr-Fisch
Mr-Fisch
M
Antworten
9
Aufrufe
750
mkuz24
M
A
Antworten
5
Aufrufe
673
swa00
swa00
Zurück
Oben Unten