zoukankan      html  css  js  c++  java
  • EventBus使用初体验

    EventBus是什么

    Android组件间通信。Handler和广播也可以通信,但是Eventbus更加简便

    导入包

    implementation 'org.greenrobot:eventbus:3.2.0'

    使用

    1. 声明消息传递结构体,不同业务应该用不同的结构体,最好写个基类管理

    public static class MessageEvent {}

    2. 声明订阅者,也就是消息接收者需要写这个方法

    @Subscribe(threadMode = ThreadMode.MAIN)  
    public void onMessageEvent(MessageEvent event) {};

    3. 注册和回收订阅者,这里注意要判断是否已注册,不然会报错

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if(!EventBus.getDefault().isRegistered(this)){//加上判断
            EventBus.getDefault().register(this);
        }
    }
    @Override
    protected void onDestroy() {
        if (EventBus.getDefault().isRegistered(this))//加上判断
            EventBus.getDefault().unregister(this);
        super.onDestroy();
    }

    4. 在任意地方发送消息

    EventBus.getDefault().post(new MessageEvent());
  • 相关阅读:
    11.26
    11.25
    11.24
    11.23
    11.22
    11.21
    11.20
    3.16结对作业1.2
    3.14结对作业1.0
    3.13Android学习
  • 原文地址:https://www.cnblogs.com/billshen/p/13263458.html
Copyright © 2011-2022 走看看