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

Countdown Problem

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von A.M.S.W.Development, 05.02.2011.

  1. A.M.S.W.Development, 05.02.2011 #1
    A.M.S.W.Development

    A.M.S.W.Development Threadstarter Gewerbliches Mitglied

    Beiträge:
    19
    Erhaltene Danke:
    1
    Registriert seit:
    03.02.2011
    HalloCommunity,
    ich habe das Problem, dass ich einen Countdown innerhalb der onCreate() methode starte. Wenn ich jetzt das Handy drehe und es z.b. auf Landscape geht kommt natürlich die onCreate() wieder und resettet den countdown aud die vollen Sekunden zurück.

    Könnt ihr mir eventuell Tipps geben wie ich den Countdown ausserhalb der onCreate() Methode starten kann und er dann ganz normal seine Arbeit verrichten kann? Vielleicht liegt es an der Zeit aber ich hab wirklich schon überall gesucht und auch alles ausprobiert doch es will nicht klappen.

    Danke für eure Mühe!
     
  2. A.M.S.W.Development, 05.02.2011 #2
    A.M.S.W.Development

    A.M.S.W.Development Threadstarter Gewerbliches Mitglied

    Beiträge:
    19
    Erhaltene Danke:
    1
    Registriert seit:
    03.02.2011
    Ich bin immernoch dran. Hat denn keiner eine idee?:wubwub:
     
  3. rznag, 05.02.2011 #3
    rznag

    rznag Fortgeschrittenes Mitglied

    Beiträge:
    293
    Erhaltene Danke:
    65
    Registriert seit:
    19.12.2010
    Phone:
    Motorola Defy
    Gibt viele Möglichkeiten.
    Schreib sobald du den Countdown das erste mal startest, ein boolean in die sharedpreferences, der anzeigt. ob der Countdown schon läuft.
    Nenn den boolean z.B running und setz ihn beim starten des Countdown auf true.
    In der oncreate() fragst einfach mit if ab, ob er schon läuft. Wenn ja, machst nichts. Läuft er noch nicht, wie beim ersten Start, startest ihn.
    Oder Du schreibst einen Service, der dich mit dem Countdown versorgt. Den kannst auch in der oncreate starten und dann machst eben den Check in den Service, ob der Countdown schon läuft. Der Service hätte auch den Vorteil das du den Countdown noch bekommen würdest, auch wenn die App nicht mehr im Vordergrund ist. Weiß nicht ob das für dich relevant ist.
     
  4. Zoopa, 05.02.2011 #4
    Zoopa

    Zoopa Android-Experte

    Beiträge:
    599
    Erhaltene Danke:
    173
    Registriert seit:
    28.07.2010
    Bevor eine Activity zerstört wird, wird automatisch
    Code:
    public void onSaveInstanceState(Bundle outState)
    
    aufgerufen, und beim Wiedererstellen einer Activity
    Code:
    public void onRestoreInstanceState(Bundle savedInstanceState) 
    
    Du kannst beide Methoden überschreiben und wenn die Activity zerstört wird, einfach den Countdown-Stand ins Bundle speichern. Dann beim Neuerstellen der Activity einfach wieder aus dem Bundle lesen.
     
  5. A.M.S.W.Development, 05.02.2011 #5
    A.M.S.W.Development

    A.M.S.W.Development Threadstarter Gewerbliches Mitglied

    Beiträge:
    19
    Erhaltene Danke:
    1
    Registriert seit:
    03.02.2011
    Vielen Dank das hilft mir schonmal viel weiter. Sind nur noch ein paar kleine Probleme zu beheben bist zum ersten kompletten Spiel mit Online Highscoreliste.
     

Diese Seite empfehlen