github:https://github.com/greenrobot/EventBus/
compile 'org.greenrobot:eventbus:3.0.0'
EventBus使用起来可以说是非常简单,而且是轻量级的,目前github的start已经15k+了
根据官网说明,只需要三步即可完成事件通知
1.注册、移除注册
建议放在onCreate和onDestory中,因为跳转的话会走onStop,再通知的话会出现接收不到消息的情况,虽然可以用postSticky,但是能避免的为什么不避免呢
public void onCreate() {
super.onStart();
EventBus.getDefault().register(this);
}
public void onDestory() {
super.onStop();
EventBus.getDefault().unregister(this);
}
2.发布消息
只需要一行代码,非常简便
EventBus.getDefault().post("SecondActivity发起的通知");
3.重写方法接收参数
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