Android eventbus初学使用代替接口回调

贲凌
2023-12-01

简单的提示一下,当我们接触eventbus的目的,就是为了减少一些复杂的接口回调,使它们解耦或者组件间的通信,简单高效的对一下组件的通信和广播的优化,从而更清晰管理自己的项目需求,简单记录一下:

1.添加依赖:

    implementation 'org.greenrobot:eventbus:3.1.1'

2.这里简单的了解一下eventbus怎么去使用。

第一步(注册事件接收对象,最后接收的地方)

  // 注册对象
  EventBus.getDefault().register(this);



  //该页面activity主线程下,拿到接收值

    @Subscribe(threadMode = ThreadMode.MAIN)
    public void messageEventBus(TagEventBus event) {
        ViseLog.i("tagEventBus:" + event.tag);  //打印出 123
     

    }


  //注销页面
   EventBus.getDefault().unregister(this);

 

第二步(事件定义,字符串)

/**
 * 用来保存切换页面的标识符
 */
public class TagEventBus {
    public String tag;

    public TagEventBus(String tag) {
        this.tag = tag;
    }
}

第三步(向已经注册的事件的对象,触发发送消息的地方)

   EventBus.getDefault().post(new TagEventBus("123");

 

 类似资料: