Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы добавим звуковую сигнализацию к нашему температурному табло.
Дата отправки отчёта:
16 февраля 2017 г.
Задание выполнено: за
15 мин.
Чему научился:
Совмещать звонок с температурой
Что было сложным:
Найти файлы .wav
Комментарии:
В последней проверке можно не тестировать состояние, т.к. если температура в норме, то состояние тоже нужно установить в норму. Если state был NORMAL, то перепишется еще раз :) if(t>=-30 && t<=30) state = AlertState.NORMAL; Очень знакомые проверки. Если нажали на кнопку, то нужно как-то на это прореагировать... 1 раз (кнопку-то еще не отпустили). А по отжатию - изменить состояние.
Не получится :( Если температура ниже -30, а состояние уже LOLO, то мы попадем в общий else и решим, что все в порядке. При следующем замере -30 снова будем "пищать"
Научился: Создал класс Alert, реализовал в нем интерфейс java.util.Observer. Добавил enum AlertState для сохранения состояния системы. При получении температуры в зависимости от состояния AlertState выполняется воспроизведение требуемого звукового файла.