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();
}
效果演示圖: