EventBus3.0 快速开始(Android Studio)

EventBus3.0 简单实用分为简单的五个步骤。

  1. 选择EventBus的版本。
  2. 创建Event的POJO实体类。
  3. 在Activity或者Fragment中启动时注册EventBus,停止时取消EventBus。
  4. 在Activity或者Fragment准备消费2中定义的Event实体类的方法。
  5. 发送Event.

那我们就看下面的详细步骤:

1,你的开发环境用的Android Studio(如果您用的是Eclipse,只需要下载EventBus相应的jar放到项目的libs下面就可以了)。

在Android Studio的Android项目app中的build.gradle添加EventBus关联,如下所示:

compile 'org.greenrobot:eventbus:3.0.0'

2.定义事件,事件是POJO(plain old Java object) 没有其他特殊的需求。

public  class MessageEvent  {
     public  final  String message ;

     public MessageEvent ( String message )  {
         this. message  = message ;
     }
}

3.将Activity或者Fragment作为订阅者,来接受事件。在Android中,Activities 和 Fragments通常根据他们的生命周期来作为订阅者绑定,如下图所示:

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

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


4.准备订阅着,订阅者实现事件处理的方法(也可以称为 “订阅者方法”) 此方法可以被调用当一个事件发出之后. 

方法可以用 @Subscribe注解在方法的上面定义. 请注意EventBus 3 的方法名称可以随意选择 (不再像 EventBus 2中方法命名规范).如下:

// This method will be called when a MessageEvent is posted
@Subscribe
public void onMessageEvent(MessageEvent event){
    Toast.makeText(getActivity(), event.message, Toast.LENGTH_SHORT).show();
}

// This method will be called when a SomeOtherEvent is posted
@Subscribe
public void handleSomethingElse(SomeOtherEvent event){
    doSomethingWith(event);
}


5.发送一个事件,检查步骤4中的方法是否被执行,执行了就说明EventBus成功了。所有当前注册的订阅者(方法)符合这个事件类型的订阅者(方法)都会接受这个事件(方法会被执行)。

EventBus.getDefault().post(new MessageEvent("EventBus first!"));



参考资料如下:http://greenrobot.org/eventbus/


你可能感兴趣的:(Android,EventBus)