安卓开发之EventBus的使用分享以及例子源码

本文分享了如何在Android开发中使用EventBus进行数据传递,通过一个实例展示了从第二个界面输入消息数据并实时更新第一个界面的效果。项目源码已开源,可在GitHub上查看。
摘要由CSDN通过智能技术生成

开头:
如下图就是最后的效果
在第一个界面,内容什么都没有,点击更换英雄到第二个界面输入要发送的消息数据去更新第一个界面即可。(平时我们开发中更改某个用户的信息返回来要马上更新数据可用到…)

这里写图片描述

例子介绍:

1,先添加EventBus依赖,如下图,在builde.gradle 里的dependencies添加compile 'org.greenrobot:eventbus:3.0.0'
 之后在Snyc Now 一下即可(右上角可看到)

这里写图片描述

2,创建一个Activity(第一个也是用来更新数据后的Activity),
分别在onCreate方法和onDestroy方法里面绑定EventBus和解绑EventBus.
如下图(  
//注册EventBus
EventBus.getDefault().register(this);
//解绑EventBus
EventBus.getDefault().unregister(mContext);
)

这里写图片描述

3、创建一个类(用来获取更新传递数据用的,可根据需求创建)
例如,我这边改变的是英雄类型、英雄姓名、英雄的年龄可以这样写,
如下图(根据构造方法来传递)

这里写图片描述

4、创建第二个界面(用来发送数据给第一个界面更新)
如下图:根据自己需要改变的变量来传递和构建
//发送要传递的数据
EventBus.getDefault().post(new HeroEventBus(name, age, card));

这里写图片描述

5、返回第一个界面把发送传递过来的数据接收并处理,如下图,
我们只需要在第一个界面写这个方法即可获取发送过来的数据并处理
 @Subscribe(threadMode = ThreadMode.MAIN)
public void onHeroEvent(HeroEventBus heroEventBus) {
   if(null!=heroEventBus){
       //做些处理
   }
}
提示:这里方法名可以随便取,但是传递的对象一定是你构建的对象,否则无效

这里写图片描述

项目源码地址: https://github.com/pengAndroid/eventbusdemo

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值