美文网首页
EventBus 简单用法

EventBus 简单用法

作者: Liu积土成山 | 来源:发表于2020-01-17 22:17 被阅读0次

    先引入依赖 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);
        }
    

    相关文章

      网友评论

          本文标题:EventBus 简单用法

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