前言:EventBus是一个事件发布和订阅的框架。是一款针对Android优化的发布/订阅事件总线,主要的功能是替代Intent,Handler,BroadCast在fragment,Activity,Service,线程之间传递消息.
源码:https://github.com/greenrobot/EventBus
基本使用:
(1)自定义一个类,可以是空类,比如:
注:当有多个模块都要使用EventBus时,而且每个模块之间是相互独立的,这就需要定义不同的实体类,每个模块的消息都会根据实体类去找到相应的方法提示,这里跟(4)接收消息是一致的.
(2)在要接收消息的页面注册:
(3)发送消息
(4)接受消息的页面实现(共有四个函数,各功能不同,这是其中之一,可以选择性的实现,这里先实现一个):
1、onEvent
2、onEventMainThread(如果使用onEventMainThread作为订阅函数,那么不论事件是在哪个线程中发布出来的,onEventMainThread都会在UI线程中执行,接收事件就会在UI线程中运行,这个在Android中是非常有用的,因为在Android中只能在UI线程中跟新UI,所以在onEvnetMainThread方法中是不能执行耗时操作的。)
3、onEventBackgroundThread
4、onEventAsync