EventBus的使用

来源:互联网 发布:恒大淘宝组织架构 编辑:程序博客网 时间:2024/05/22 05:02

普通事件和粘性事件使用场景:

普通事件:向现在创建了的activity中发送

粘性事件:向还没有启动的activity发送

1.普通事件的使用

注册EventBus:onCreate()

EventBus.getDefault().register(this);
接收数据:
ThreadMode.POSTING:默认使用该模式,表示该方法会在当前发布事件的线程执行 
ThreadMode.MAIN:表示会在UI线程中执行 
ThreadMode.BACKGROUND:若当前线程非UI线程则在当前线程中执行,否则加入后台任务队列,使用线程池调用 
ThreadMode.ASYNC:加入后台任务队列,使用线程池调用 
@Subscribe(threadMode = ThreadMode.MAIN)public void onEventReceive(final EbEvent event) {
}
取消注册:onDestroy()

EventBus.getDefault().unregister(this);
发送数据:
EventBus.getDefault().post(event);
2.粘性事件的使用
注册
EventBus.getDefault().register(this);
接收数据
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)public void onEventReceive(Alarm alarm) {
}   
取消注册
EventBus.getDefault().removeAllStickyEvents(); 
发送数据
EventBus.getDefault().postSticky(device); 
************************************************************
             有什么问题,请大家指点!
************************************************************

原创粉丝点击