美文网首页
Android EventBus使用

Android EventBus使用

作者: 就天边 | 来源:发表于2017-06-23 08:53 被阅读218次

    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("你好"));

    相关文章

      网友评论

          本文标题:Android EventBus使用

          本文链接:https://www.haomeiwen.com/subject/bmwqcxtx.html