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