App Einstellungen speichern und wieder verwenden

  • 2 Antworten
  • Letztes Antwortdatum
M

Madlip

Gast
Hallo Community,

ich wollt Fragen ob es möglich ist gewisse Einstellungen zu speichern und beim nächsten Aufruf der App abzufragen.

Ich will halt beim ersten start der App einen Dialog anzeigen, nur wie gesagt beim aller ersten start der App. Ab den zweiten start wird dieser nicht mehr angezeigt.

Da hab ich nun schon ein bisschen geschaut und hab mir so gedacht das man das in der DB schreiben könnte, nur dann müsste ich extra eine Tabelle (zusätzlich) anlegen und beim start nen DB Zugriff machen.

Dann dachte ich mir das es eleganter wäre wenn ich das in den Preferences speichere, nur anscheinend hab ich die nicht richtig verstanden.

Ich dachte mir das man "kleine" Einstellungssachen in den SharedPreferences der App speichern kann aber dem ist anscheinend nicht so.

Wer kann helfen bzw. hätte sogar einen Workaround?

PS: Mein jetziger Code
Code:
SharedPreferences prefs = getPreferences(Context.MODE_PRIVATE);
preferences = prefs.getString(FIRST_START, "Y");
Log.v("PRIVATE", preferences);

if(preferences.contains("Y"))
{
        SharedPreferences.Editor edit = prefs.edit();
        edit.putString(KEY_STATEMENT, "N");
        edit.commit();
							        
        showDialog(INFO_DAILOG);
							        
        linProgressBar.setVisibility(View.GONE);
        Intent myIntent = new Intent(getApplicationContext(), SetUpUserActivity.class);
        startActivityForResult(myIntent, 0);
        finish();
} 
else 
{
//                                        Hauptmenue
}


Gruß
Mad
 
wenn du nur ja oder nein abspeichern willst, würd ich boolean nehmen anstatt string. ansonsten sieht das sonst richtig aus, bis auf die Konstante, die du benutzt. vielleicht liegt da dein fehler.

mein schnipsel sieht z.b. so aus:
Code:
public final static String PREFS_DB_INIT = "db.init";

SharedPreferences prefs = getPreferences(MODE_PRIVATE);
if(prefs.getBoolean(PREFS_DB_INIT, false)) {
   doSomething();
   ...
}
else {
   Editor editor = prefs.edit();
   editor.putBoolean(PREFS_DB_INIT, true);
   editor.commit();

   doSomething();
   ...
}

natürlich benutze ich immer die gleiche konstante: PREFS_DB_INIT
 
  • Danke
Reaktionen: Madlip
Ah, ich hab jetzt nochmal drüber geschaut und ich Idiot hab die ganze Zeit das falsche gesetzt, wenn du mal schaust ich frage die Konstante FIRST_START ab aber überschreibe dann die KAY_STATEMENT .... ahhhhh lieber einmal genauer lesen.

Aber danke für deine Antwort, und mit den boolean haste Recht, wäre auf jeden Fall das sinnvollere ...
 

Ähnliche Themen

G
Antworten
0
Aufrufe
81
Gerdchen07
G
G
Antworten
1
Aufrufe
339
Gerdchen07
G
G
Antworten
13
Aufrufe
541
Gerdchen07
G
L
Antworten
1
Aufrufe
383
swa00
swa00
migi01
Antworten
26
Aufrufe
1.843
migi01
migi01
Zurück
Oben Unten