App Einstellungen speichern und wieder verwenden

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

Manny87
  • Manny87
Antworten
11
Aufrufe
166
swa00
swa00
B
Antworten
6
Aufrufe
1.051
jogimuc
J
R
  • Robby1950
2
Antworten
23
Aufrufe
1.022
Robby1950
R
Zurück
Oben Unten