EventBus – это библиотека с открытым исходным кодом для Android, которая посредством паттерна издатель-подписчик, позволяет уменьшить связность между программными компонентами. С помощью нескольких строк кода EventBus поможет связать компоненты Вашего приложения единой шиной сообщений, одновременно сделая их независимыми друг от друга, упростив код и процесс разработки в целом.
Архитектура EventBus
EventBus…
- упрощает коммуникацию между компонентами:
- разделяет отправителей и получателей сообщений
- хорошо интегрируется в активности, фрагменты и фоновые потоки
- позволяет избежать сложного и подверженного ошибкам управления зависимостями между компонентами в соответствии с их жизненным циклом
- быстрый: специально оптимизированный для высокой производительности
- минималистичный: размер JAR меньше 50КБ
- проверен на практике приложениями со 100,000,000+ установок
Особенности EventBus
- Удобный API, основанный на аннотациях: просто добавьте @Subscribe к методам, слушающим события. EventBus индексирует аннотированные методы во время компиляции, так что использование аннотаций не делает Ваше приложение менее производительным.
- Доставка событий в главный поток Android: при необходимости взаимодействия с UI, EventBus может доставлять события в главный поток вне зависимости от того, в каком потоке событие было опуликовано.
- Доставка событий в фоновый поток: если получатель занимается чем-то, требующим длительного времени, EventBus может также доставлять события в фоновые потоки для избежания блокировки пользовательского интерфейса.
- Наследование событий и подписчиков: EventBus распространяет ООП-наследование на классы событий и классы подписчиков. Например, если класс события A является родителем класса B, тогда все опубликованные события класса B будут также получены подписчиками, заинтересованными в Схожим образом учитывается наследование между классами подписчиков.
- Легкий старт вне зависимости от количества уже написанного кода: Вы можете начать использовать EventBus без необходимости настраивать что либо, так как статический экземпляр EventBus доступен отовсюду.
- Настраиваемость: довольно просто адаптировать EventBus под ваши нужды, используйтеBuilder.
Check out EventBus’ full feature set.
Как начать использовать EventBus
- Добавьте EventBus в ваш проект. JAR доступен на JCenter и Maven Central, так что просто добавьте зависимость в Ваш gradle:
compile ‘org.greenrobot:eventbus:3.0.0’
- Следуйте трем простым шагам, чтобы начать использовать EventBus в вашем проекте.
Для детального описания обратитесь к руководству.
Используете SQLite?
Тогда вам стоит обратить внимание на нашу высокопроизводительную ORM (Object-Relational-Mapper) библитеку greenDAO, которая значительно упрощает работу с SQLite на Android.