EventBus的基本用法

EventBus是一个Android事件发布/订阅的轻量级框架,其作用类似于广播。
其基本用法如下:

1.定义数据类

// 自定义一个事件数据类,主要用来传递数据。
public class MessageEvent {
    private String message;
    public MessageEvent(String message) {
        this.message = message;
    }
    public String getMessage() {
        return message;
    }
    public void setMessage(String message) {
        this.message = message;
    }
}

2.发送事件

// 发送事件
MessageEvent messageEvent = new MessageEvent("Send message!");
EventBus.getDefault().post(messageEvent);

3.Activity或Fragment中订阅事件、接收事件、取消订阅

// 订阅事件
@Override
protected void onCreate(Bundle savedInstanceState) {           
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     EventBus.getDefault().register(this);
} 

// 取消订阅
@Override
protected void onDestroy() {
    super.onDestroy();
    EventBus.getDefault().unregister(this);
}

// 接收事件
@Subscribe(threadMode = ThreadMode.MAIN)
public void event(MessageEvent messageEvent) {
    // 处理数据
}

注:接收事件的方法名可以自定义,只要加一个注解@Subscribe,并且指定线程模型即可。
 

你可能感兴趣的:(Android相关)