Расскажите про Handler
Handler с английского переводится как “обработчик”. Этот класс используется вместе с MessageQueue и Looper.
Handler используется для работы с MessageQueue, потому что давать программистам доступ к самой очереди сообщений было бы небезопасно. Так что как связующее звено между программистом и очередью сообщений используется хендлер.
Так же хендлер позволяет добавлять сообщения (объекты Message). Ну и собственно он может обрабатывать сообщения, от чего и пошло его название
Вот список важных методов Handler:
- post()/postDelayed(). Позволяет добавлять объекты Runnable в очередь сообщений
- obtainMessage(). Позволяет создавать свои сообщения (на самом деле это будет не создание новых сообщений, а переиспользование старых, потому что каждый раз выделять память на новое сообщение было бы нерационально, учитывая сколько сообщений проходит через очередь в секунду).
- sendMessage()/sendEmptyMessage()/sendMessageDelayed() и тд. Позволяет добавлять сообщения (объекты Message) в очередь сообщений.
- handleMessage(). Данный метод позволяет обрабатывать сообщения, от чего и пошло его название.
Тем не менее, данный метод не реализован в стандартном Handler, можно либо передать объект Handler.Callback, чтобы обрабатывать сообщения, либо же создать своего наследника Handler с реализованным методом handleMessage()
Учитесь в сообществе
Обучающая платформа AndroidSprint
Peer review и код от других студентов. Код-ревью от менторов. Учитесь не в одиночку, а в команде
- Peer review: проверяйте код других и получайте фидбек на свой — учитесь видеть ошибки
- Сообщество: чаты, обсуждения, помощь друг другу — не застрянете в одиночку
- Менторы: код-ревью от практикующих разработчиков на сложные задачи