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

Timer app: wie vorgehen?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Rayk, 11.12.2009.

  1. Rayk, 11.12.2009 #1
    Rayk

    Rayk Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    49
    Erhaltene Danke:
    0
    Registriert seit:
    10.12.2009
    Hallo zusammen,

    ich würde gerne eine Timer app basteln. Ich gebe z.B. die Minuten ein und das App zählt dann runter und gibt einen Hinweis nach Ablauf der Zeit.

    1. Ist es richtig, dass ich einen Service benötige, da die App evtl geschlossen werden kann?
    2. Kann ich mit sleep(1000) arbeiten oder ist das zu ungenau? Evtl. dann mit Timestamp Differenzen?

    Wäre super wenn ihr mir paar Tipps geben könntet.

    Gruß,
    Oli
     
  2. Melbar, 11.12.2009 #2
    Melbar

    Melbar Android-Hilfe.de Mitglied

    Beiträge:
    84
    Erhaltene Danke:
    23
    Registriert seit:
    16.05.2009
    Phone:
    Samsung Galaxy S3
    Hi,

    schau dir mal die ApiDemos an, sind für jede Version im SDK enthalten. Dort gibt es unter App/Alarm einen AlarmService ich denke das wird alle deine Fragen beantworten.

    Gruß,
    Stefan
     
  3. Rayk, 11.12.2009 #3
    Rayk

    Rayk Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    49
    Erhaltene Danke:
    0
    Registriert seit:
    10.12.2009
    Hallo,

    danke für den Tipp.

    Ich hab mir das Beispiel mal angesehen und mir ist aufgefallen, dass hier der AlarmManager benutzt wird. Wenn ich das richtig verstanden habe ist das eine BuildIn Klasse von Android und der Alarm wird auf "in 30 sec" gesetzt und dann klingelt der Alarm Manager.

    Aber wie zeige in der Anwendung an, wie viel Zeit verbleibt? Ich hab mal mit CountDownTimer gespielt und das scheint es zu sein.

    Jetzt meine Frage komme ich mit CountDownTimer zu meinem Ziel oder sollte man mit dem AlarmManager arbeiten?

    danke und Gruß,
    Oli
     
  4. Melbar, 11.12.2009 #4
    Melbar

    Melbar Android-Hilfe.de Mitglied

    Beiträge:
    84
    Erhaltene Danke:
    23
    Registriert seit:
    16.05.2009
    Phone:
    Samsung Galaxy S3
    Ich denke CountDownTimer sollte reichen, ist schön simpel (kannte ich noch nicht) und wenn du später doch nen Service brauchst kannst immernoch einen schreiben.

    Stefan
     
    Zuletzt bearbeitet: 12.12.2009
  5. Rayk, 12.12.2009 #5
    Rayk

    Rayk Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    49
    Erhaltene Danke:
    0
    Registriert seit:
    10.12.2009
    Hallo und Danke für die Antwort!

    Wenn ich den CountDownTimer in einen Service implementiere und diesen jedesmal abrufe, um die verbleibende Zeit anzuzeigen kommt es doch zu Verzögerungen oder sehe ich das falsch?

    Gruß,
    Oli
     
  6. Melbar, 12.12.2009 #6
    Melbar

    Melbar Android-Hilfe.de Mitglied

    Beiträge:
    84
    Erhaltene Danke:
    23
    Registriert seit:
    16.05.2009
    Phone:
    Samsung Galaxy S3
    Brauchst du denn einen Service?

    Einen Service brauchst du eigentlich nur wenn deine Anwendung beendet wird, solange sie im Hintergrund läuft, läuft auch der Countdowntimer weiter.

    Mit einem Service würde ich nicht die Anzeige in der App steuern sondern nur an den Service übermitteln wann der Countdown endet. Dadurch kannst du mehrere Sachen machen:

    1. Wenn deine anwendung geschlossen ist und neu geöffnet wird kannst du schauen ob der service noch läuft und abfragen wann der countdown enden soll und den Timer mit der Restlaufzeit neustarten.

    2. Wenn deine Anwendung beendet wurde und das Ende der Countdownzeit erreicht ist kann der Service den Benutzer darüber informieren das der Countcount endet oder deine Anwendung rechtzeitig neu starten so das das Ende der Countdownzeit angezeigt werden kann.

    Wie gesagt alles hängt davon ab was du brauchst, wenn es nur eine einfache Anzeige ist solange dein Programm läuft reicht CountDownTimer.

    Gruß,
    Stefan
     
  7. Rayk, 12.12.2009 #7
    Rayk

    Rayk Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    49
    Erhaltene Danke:
    0
    Registriert seit:
    10.12.2009
    Hallo Stefan,

    danke für die ausführliche Antwort!
    Ich möchte das die App auch nach dem Wechsel zu einer anderen App läuft. D.h., so wie ich die Architektur verstanden habe, muss ich damit rechnen, dass die Anwendung geschlossen wird aus Speichermangel. Somit müßte ich einen Service anbieten. Sehe ich das Richtig?

    Gruß,
    Oli
     
  8. Melbar, 12.12.2009 #8
    Melbar

    Melbar Android-Hilfe.de Mitglied

    Beiträge:
    84
    Erhaltene Danke:
    23
    Registriert seit:
    16.05.2009
    Phone:
    Samsung Galaxy S3

Diese Seite empfehlen