1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

App Einstellungen speichern und wieder verwenden

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Madlip, 27.06.2012.

  1. Madlip, 27.06.2012 #1
    Madlip

    Madlip Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    434
    Erhaltene Danke:
    72
    Registriert seit:
    03.08.2011
    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
     
  2. Tom299, 27.06.2012 #2
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    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
     
    Madlip bedankt sich.
  3. Madlip, 27.06.2012 #3
    Madlip

    Madlip Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    434
    Erhaltene Danke:
    72
    Registriert seit:
    03.08.2011
    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 ...
     

Diese Seite empfehlen