Android之EventBus的简单使用
简而言之,EventBus是一个事件发布和订阅的框架。
简单实用:
- 定义事件类型:
`public class MyEvent {}` - 定义事件处理方法:
`public void onEventMainThread` - 注册订阅者:
`EventBus.getDefault().register(this)` - 发送事件:
`EventBus.getDefault().post(new MyEvent())`
首先在Android studio上导入:
compile 'org.greenrobot:eventbus:3.0.0'
1 定义事件类型:比如想传递一个字符串类型的数据,那么就定义String类型的,可以一次定义多个相同或不同类型的数据、
public class MessageEvent {
public final String message;
public MessageEvent(String message) {
this.message = message;
}
}
2 定义事件处理方法:通过event.get...来拿到数据 这个方法写在订阅者上
@Subscribe
public void onEventMainThread(FirstEvent event){
3 注册订阅者:下面代码包括注册和销毁,注意要写在订阅者上:
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
EventBus.getDefault().post(new MessageEvent("Hello everyone!"));