EventBus是一款优化android中回调、消息的传递的机。主要功能是代替Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。
源代码下载:http://download.csdn.net/detail/bruse_android/9464125
不建议把jar包添加到libs中。
集成到对应的项目中:
在build.gradle(app)中加入
compile 'de.greenrobot:eventbus:2.4.0+'
EventBus使用的三个步骤
1、自定义一个Event类可以为空
public class MessageEvent {
private String mesage;
public MessageEvent(String mesage) {
this.mesage = mesage;
}
public String getMesage() {
return mesage;
}
public void setMesage(String mesage) {
this.mesage = mesage;
}
}
2、在接收消息的界面初次进入时进行注册EventBus,界面回收是进行解绑
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
//注册EventBus
EventBus.getDefault().register(this);
);
}
界面回收是进行解绑 protected void onDestroy() {
//在结束界面中解除注册
super.onDestroy();
EventBus.getDefault().unregister(this);
}
最后别忘记实现EventBus的重要的回调方法
public void onEventMainThread(MessageEvent event) {
//TODO
btn_event.setText(event.getMesage());
}
3、最后的一个步骤是在发送消息界面进行发送
@Override
public void onClick(View v) {
//进行消息的推送
EventBus.getDefault().post(new MessageEvent("感谢关注安卓菌"));
finish();
}
效果演示图: