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/


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值