导言:
本文旨在记录最热门框架的使用及简单实例,起到抛砖引用的目的
天坑:
必须是已经存在的activity,fragment等没有销毁的控件中方可使用,要是跳转到新activity,那就算了,老实用intent.
概念:
应用程序内各组件间、组件与后台线程间的数据传递框架,post()和onEvent()的发送和接收
视图:
发射源(post)——>接收源(oneEvent()方法)
使用:
1:添加依赖
compile 'org.greenrobot:eventbus:3.0.0'
2:定义事件类
public class MessageEvent {
private String message;
public MessageEvent(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
}
3:发送事件
EventBus.getDefault().post(new MessageEvent("Data is from secondactivity!"));
4:注册,注销,并在接收事件中处理
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EventBus.getDefault().register(this);
}
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
String msg;
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEvent(MessageEvent messageEvent) {
msg = messageEvent.getMessage();
tvMessage.setText(msg);
showMsg1();
}
private void showMsg1() {
if (msg != null) {
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
}
}
好了,这是简单介绍,具体使用看业务