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: POSTING 2 ThreadMode: MAIN 3 ThreadMode: BACKGROUND 4 ThreadMode: ASYNC