EventBus 简单用法

2020-01-17  本文已影响0人  Liu积土成山

先引入依赖 implementation 'org.greenrobot:eventbus:3.0.0'

第一步 新建一个实体类,定义发送消息的类型,字符串 boolean什么都行
第二步 定义发送的消息
第三步 在接收的类里面先注册消息
第四步 接收消息(注意别忘了注解)
第五步 在接收的类里面解绑消息

1.定义类型要传递的数据是什么就定义什么类型

public class MessageEvent {
    private boolean isConnected;
    public MessageEvent(boolean isConnected){
        this.isConnected = isConnected;
    }
    public boolean getMessage(){
        return isConnected;
    }
}

2.发送订阅

EventBus.getDefault().post(new MessageEvent(isConnected));

3.注册消息-在哪接收就在那里注册,最好写生命周期里

  @Override
    protected void onStart() {
        super.onStart();
        EventBus.getDefault().register(this);
    }

    @Override
    protected void onStop() {
        super.onStop();
        EventBus.getDefault().unregister(this);
    }

4.接收消息-构建订阅者

  @Subscribe
    public void getIsNet(MessageEvent messageEvent){
        boolean isnet = messageEvent.getMessage();
        Log.d(TAG, "getIsNet: "+isnet);
    }

5.解绑消息

 @Override
    protected void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(this);
    }
上一篇 下一篇

猜你喜欢

热点阅读