Android框架之EventBus的简单使用

来源:互联网 发布:wps mac 编辑:程序博客网 时间:2024/05/16 09:44

EventBus是一款针对Android优化的发布/订阅事件总线,主要功能是代替Intent,BroadCast在Fragment,Activity,Service,线程之间传递消息,优点是开销小,代码更优雅,以及发送者和接受者的解耦


EventBus的使用:

1:EventBus在发送消息的时候需要一个实体类,这个类可以是一个空类,也可以是里面有数据的类,尽量在使用的时候在实体类中添加字段,可以是一个String或者Boolean

2:在发送类中,调用EventBus,发送消息,将创建的实体类给发送出去。

3:在接收类中,首先要对EventBus进行注册,不注册的EventBus是不能使用的,注册代码:

EventBus.getDefault().register(Context, String)
Context为上下文,String是接收类中接收的方法名

4:在接收类的接收方法中进行自己相应的操作,

5:在activity的生命周期的onDestory()中对EventBus进行解除注册


示例代码如下:

发送EventBus

//发送的实体类PersonLabel personLabel = new PersonLabel();personLabel.text = “Doraemon”;//发送EventBusEventBus.getDefault().post(personLabel);


接受类对Eventbus进行注册

//注册时,注册的方法名一定要与接收处理的方法名一致,不然eventBus调用不成功EventBus.getDefault().register(this, "PersonLabel");

在注册的方法中进行相应的处理

public void PersonLabel(com.renrui.job.model.eventbus.PersonLabel personLabel){    if (personLabel != null)    {        tv_text.setText(personLabel.text);    }}

以上就是Event Bus的使用全部代码了,很简单,在实际应用中很普遍的确是开发的利器




1 0