本文旨在记录最热门框架的使用及简单实例,起到抛砖引用的目的,若有更复杂需求,还请参考其他资料.
EventBus 3:
概念:
应用程序内各组件间、组件与后台线程间的数据传递框架,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:注册和注销
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);
}
4:发送事件
EventBus.getDefault().post(new MessageEvent("Data is from secondactivity!"));
5:接收事件并处理
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();
}
}
好了,这是简单介绍,具体复杂程度看业务