Домашнее задание для лекции по взаимодействию с операционной системой в технополисе
От вас требуется написать простейшее приложение-таймер.
(UPD 10.04) Так же есть опция написать секундомер вместо таймера. Секундомер чуть легче, поэтому за него будет штраф в 0.95 балла(таким образом 10 из 10 реально получить и там и там)
Поддерживаемые функции:
- запустить таймер
- поставить таймер на паузу
- сбросить таймер
- (UPD 10.04) формат времени минуты:секунды:миллисекунды
Требования:
- таймер не должен врать ;) то есть показывать не правильное время
- если таймер запущен и приложение свернуто, показывать оповещение о том, что таймер продолжает работать.
- оповещение должно поддерживать следующие опции:
- кнопку паузы/продолжения таймера
- кнопку сброса таймера
- по клику на оповещение пользователь должен возвращаться в приложение
- таймер должен продолжать работать пока пользователь явно не завершит его(сброс таймера)
- если таймер не был сброшен, после перезапуска телефона приложение должно продолжить свою работу
- приложение должно корректно работать на всех версиях OS Android. (Особенно на Android O и выше)
- (UPD 10.04) В оповещении таймер должен обновляться раз в секунду. Для UI внутри приложения - в соответствии в максимально возможной частотой кадров.
- (UPD 10.04) Приложение должно быть оптимизировано. То есть, к примеру, система должна иметь возможность убить ваше приложение для экономии ресурсов, когда таймер сброшен или остановлен и приложение свернуто.
Система оценивания:
- не обязательно выполнять все пункты из требований
- оценка на прямую зависит от количества выполненных пунктов
- могут добавляться новые требования
Хинт:
- https://developer.android.com/guide/topics/ui/notifiers/notifications
- https://developer.android.com/guide/components/services
- https://developer.android.com/guide/components/broadcasts
- https://developer.android.com/reference/android/app/PendingIntent
- https://developer.android.com/guide/components/intents-filters
- (UPD 11.04) https://developer.android.com/training/notify-user/channels