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

Einstellungen bei ersten Start der App

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Mo3bius, 14.11.2011.

  1. Mo3bius, 14.11.2011 #1
    Mo3bius

    Mo3bius Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    14.11.2011
    Hi,
    ich programmiere gerade meine erste App für Android. Beim allerersten Start der App soll der Benutzer einige Einstellungen vornehmen. Hier bin ich mir nicht ganz sicher wie man das löst.
    Nutzt man dafür eine eigene Activity? Oder eher mit einem PopUp?

    Ob es der erste Start ist, kann ich ja mit einem Boolean-Wert in den SharedPreferences festlegen, richtig?

    Mfg,
    Mo3bius
     
  2. swordi, 14.11.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    sharedprefs ist schonmal richtig.

    ob activity oder dialog hängt ganz von deinen einstellungen ab. ist es nur eine, dann kannst es in einem dialog machen.

    sind es mehrere, dann mach lieber ne activity
     
  3. Mo3bius, 15.11.2011 #3
    Mo3bius

    Mo3bius Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    14.11.2011
    Alles klar. Hab mich jetzt für einen Dialog entschieden, da ich nur 2 Einstellungen benötige.

    Ich habe jetzt also eine Variable als SharedPreferences. Ich möchte nun bei jedem Start bzw. Aufruf des Programmes diese überprüfen. Wo mach ich das am besten? Ich habe das testweise mal in die oncreate()-Methode geschrieben. Dies scheint aber manchmal Probleme zu verursachen.

    Mfg,
    Mo3bius
     
  4. swordi, 15.11.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja ich hab sowas schon öfters in die onCreate methode geschrieben und es hat immer geklappt.

    hast wohl etwas falsch implementiert
     
  5. Mo3bius, 15.11.2011 #5
    Mo3bius

    Mo3bius Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    14.11.2011
    Mmh, dann ist das seltsam. Ich habe die App mal auf mein Handy geladen, dort scheint alles zu funktionieren. In meinem AVD aber nicht.

    Ich prüfe bei onCreate() eine Variable (first_use) ab. Hat sie den Wert "true", so wird ein Dialog angezeigt. Als DefaultValue hat sie ebenfalls den Wert "true". Breche ich den Dialog ab und minimiere die App, so ist der Variable noch immer kein Wert zugewiesen. Dies sehe ich auch im Taskmanager. Öffne ich die App ein zweites mal, so kommt der Dialog nicht mehr!
    Ich kann mir das nur erklären, wenn die oncreate-Methode nicht mehr so wie beim ersten Mal aufgerufen wird. :confused2:

    Mfg,
    Mo3bius
     
  6. DieGoldeneMitte, 15.11.2011 #6
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Damit holst du lediglich die minimierte App wieder hervor.
     
  7. Mo3bius, 15.11.2011 #7
    Mo3bius

    Mo3bius Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    14.11.2011
    Das stimmt. Hier würde ich aber gerne nochmal den Wert von "first_use" abfragen. Wo müsste den dies tun, wenn nicht in onCreate() ?
     
  8. swordi, 15.11.2011 #8
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja dann musst das wohl in die onResume verlagern und immer abfragen.
     
    Mo3bius bedankt sich.
  9. Mo3bius, 15.11.2011 #9
    Mo3bius

    Mo3bius Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    14.11.2011
    Kaum macht man es richtig, schon funktioniert es. :cool2:

    Ich teste meine Variable jetzt damit:

    Code:
    protected void onResume()
        {
           super.onResume();
           // Is Variable first_use set?
           //.......
         }
    
    Danke für die Hilfe!
     

Diese Seite empfehlen