EventBus的简单使用,消息传递

来源:互联网 发布:北理工网络教育 编辑:程序博客网 时间:2024/05/20 11:23

EventBus是为Android优化的发布/订阅事件总线。

EventBus ...

  • 简化组件之间的通信
    • 分离事件发送者和接收者
    • 对活动,片段和后台线程表现良好
    • 避免复杂和容易出错的依赖关系和生命周期问题
  • 使您的代码更简单
  • 是快的
  • 很小(约50k瓶)
  • 在实践中证明了具有100,000,000+个安装的应用程序
  • 具有先进的功能,如交付线程,用户优先级等。

第一步  添加依赖

compile 'org.greenrobot:eventbus:3.0.0'

第二步  新建一个event的类 ,这个类里面可以做一些你想要的额外字段,比如:

public static class MessageEvent { /* Additional fields if needed */ }
第三步 在你需要接收信息的界面 注册以及反注册

@Override public void onStart() {     super.onStart();     EventBus.getDefault().register(this); } @Override public void onStop() {     super.onStop();     EventBus.getDefault().unregister(this); }

第四步 在你需要接收信息的界面 写一个方法,方法名随便,一般为onEvent ,比如:注解千万不要丢了

@Subscribe(threadMode = ThreadMode.MAIN)  public void onEvent(MessageEvent event) {/* Do something */};


第五步 在你需要发送信息的界面 调用EventBus的方法

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


原创粉丝点击