EventBus学习

来源:互联网 发布:电脑学影视制作软件 编辑:程序博客网 时间:2024/05/22 03:26

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

Android消息传递之组件间传递消息

  1. 通过动态注册BroadcastReceiver
  2. 通过监听着模式可以自己设计总线。

EventBus的基本使用

compile ‘org.greenrobot:eventbus:3.0.0’

构造一个实体用来数据的传输(消息携带者)

package com.ljl.evenbusdemo;/** * Created by liulian on 2017/3/13. * Created Why ${why} */public class AnyEventType {    private String message;    public AnyEventType(String mess) {        this.message = mess;    }    public String getMessage() {        return message;    }    public void setMessage(String message) {        this.message = message;    }}

2接受页面来注册:

 EventBus.getDefault().register(this);

对应的界面销毁的时候饭注册:

  EventBus.getDefault().unregister(this);

在接受数据界面接受数据:

 //通过注解来指定执行的线程    @Subscribe(threadMode = ThreadMode.MAIN)    public void onMessageEvent(AnyEventType event) {/* Do something */        Log.e("ljl", "获取到的数据=" + event.getMessage() + "当前线程的名字==" + Thread.currentThread().getName());        twoAt.setText(event.getMessage());    }

其实EventBus的使用还是很简单的。

0 0
原创粉丝点击