EventBus简单使用

来源:互联网 发布:网络视频广告的形成 编辑:程序博客网 时间:2024/06/08 09:57


github:https://github.com/greenrobot/EventBus/

compile 'org.greenrobot:eventbus:3.0.0'

EventBus使用起来可以说是非常简单,而且是轻量级的,目前github的start已经15k+了

根据官网说明,只需要三步即可完成事件通知

1.注册、移除注册

建议放在onCreate和onDestory中,因为跳转的话会走onStop,再通知的话会出现接收不到消息的情况,虽然可以用postSticky,但是能避免的为什么不避免呢

@Override public void onCreate() {     super.onStart();     EventBus.getDefault().register(this); } @Override public void onDestory() {     super.onStop();     EventBus.getDefault().unregister(this); }

2.发布消息

只需要一行代码,非常简便

EventBus.getDefault().post("SecondActivity发起的通知");


3.重写方法接收参数

@Subscribe    public void onEventMainThread(String event) {        mTextView.setText(event);        Toast.makeText(this, event, Toast.LENGTH_SHORT).show();    }

到这里一个通知就完了。。

重写的方法要加上@Subscribe才行


也可以这样写

@Subscribe(threadMode = ThreadMode.MAIN)
直接指定方法执行的线程


ThreadMode有四种

1 ThreadMode: POSTING2 ThreadMode: MAIN3 ThreadMode: BACKGROUND4 ThreadMode: ASYNC