Android EventBus使用

Android EventBus是什么?

Android EventBus是一个发布/订阅者模式(Publisher/Subscriber)的轻量级消息框架,它对应的的git地址和官网如下:

Android EventBus能解决什么问题?

  • 简化了组件间的通讯。
  • 分离了事件的发送者和接受者。
  • 避免了复杂的和易错的依赖关系和生命周期问题。
  • 能够有助于单元测试

网上说EventBus可以代替Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程之间传递数据,这个具体的到实际使用中,大家还是得根据自己的实际需要来自行判断。

Android EventBus具体该怎么使用?

一、导入依赖包

  • IDE和构建工具:androidstudio Gradle
  • EventBus版本号:3.0.0

找到gradle配置文件build.gradle(Module:app),注意是app的配置文件,然后在dependencies添加如下配置,然后如下图所示点击sync,重新下载并导入依赖的EventBus包

compile 'org.greenrobot:eventbus:3.0.0'

二、定义事件消息类

public class MessageEvent {

    public final String message;
 
    public MessageEvent(String message) {
        this.message = message;
    }
}

三、注册和取消事件

EventBus.getDefault().register(this);

EventBus.getDefault().unregister(this);

四、订阅者处理事件

@Subscribe(threadMode = ThreadMode.MAIN) //在ui线程执行
public void onMessageEvent(MessageEvent event) {
    Toast.makeText(this, event.message, Toast.LENGTH_SHORT).show();
}

五、发布者发布事件

EventBus.getDefault().post(new MessageEvent("你好"));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容