2017-06-19 5 views
0

Ich bin ein Android Studio Anfänger und versuche eine App zu bauen. Seine Hauptfunktion besteht darin, Countdown-Timer auf vordefinierte (von mir nicht dem Benutzer) Zeitpunkte anzuzeigen und dem Benutzer eine Push-Benachrichtigung 5 Minuten bevor der Countdown 0 erreicht.Sollte ich Alarme oder CountDownTimer oder beide verwenden?

Ich habe CountDownTimer verwendet und es wird nur die verbleibende Zeit angezeigt zwischen jetzt und dem nächsten eingestellten Zeitpunkt. Im Moment macht die App folgendes: überprüft den aktuellen Wochentag und zeigt nur den "Heute" -Plan mit einer switch-Anweisung an, zählt bis zum nächsten Zeitpunkt herunter, wenn dieser Zeitpunkt erreicht ist, verschwindet der Zeitpunktstext; Der Timer beginnt mit dem nächsten Zeitpunkt zu zählen.

Ich möchte es verbessern, aber habe das Gefühl, dass eine vollständige Überarbeitung erforderlich ist. Hier sind ein paar Dinge in Text und Bild erklärt:

1) Die App zeigt die Restzeiten für alle eingestellten Zeitpunkte an. Zum Beispiel ist jetzt 1 Uhr morgens, die nächsten eingestellten Zeitpunkte sind 2 Uhr morgens, 2 Uhr 10, 5 Uhr morgens ... Dann sollten die Countdown-Timer 1:00:00, 1:10:00 und 4:00:00 sein. . (Im Moment hat meine App nur 1 CountDownTimer und nur 1 Countdown, der die 1:00:00 zeigt. Sollte ich stattdessen Alarme verwenden? Und hat Alarme irgendeine Art von Countdown-Funktion, um die verbleibende Zeit anzuzeigen?)

2) Grundsätzlich die vordefinierte Zeitpunkte sind für den Wochentag gleich, dh Montag haben die gleichen Zeitpunkte 1 Uhr morgens, 5 Uhr morgens, 7 Uhr morgens usw., und so tun Dienstag, aber um 2 Uhr morgens, 6 Uhr usw. Ich möchte die App zu machen Zeigen Sie den Zeitplan für die ganze Woche an (wie in der Abbildung unten dargestellt). Ein Problem, auf das ich gestoßen bin, ist der Versuch, den letzten Zeitpunkt an das Ende des Arrays mit zusätzlichen Stunden zu setzen.

enter image description here

Auch, was ist ein guter Ansatz, wenn mehrere Zeitpunkte am selben Tag zu schaffen versuchen, verwenden Sie Alarme? Weil ich momentan long Variablen (in Millisekunden) verwende, d. H. 1AM = 3600000 usw., was meiner Meinung nach nicht die beste Vorgehensweise ist.

Entschuldigung für die lange Post, und vielen Dank im Voraus!

Antwort

0

Sie sollten Handler for update UI jede Sekunde verwenden, wenn die App geöffnet ist, und Sie sollten Alarm zum Anzeigen der Benachrichtigung verwenden.

Verwandte Themen