android eventbus使用,Android 消息分发使用EventBus的实例详解

本文详细介绍了如何在Android应用中使用EventBus进行消息分发,包括配置步骤、自定义EventBean、发送和接收不同类型的事件,以及如何根据需求重写相应处理方法。适合学习者理解EventBus的基本用法和实践技巧。
摘要由CSDN通过智能技术生成

Android 消息分发使用EventBus的实例详解

发布时间:2020-09-03 21:50:25

来源:脚本之家

阅读:114

作者:lqh

Android 消息分发使用EventBus的实例详解

1. AndroidStudio使用

dependencies {

//最新版本

compile 'org.greenrobot:eventbus:3.0.0'

//可以翻倍提高EventBus使用效率

provided 'de.greenrobot:eventbus-annotation-processor:3.0.0-beta1'

}

2. 在基类Activity中配置

/**

* Activity基类

*/

protected EventBus eb;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//单例模式获取到实例并注册

eb = EventBus.getDefault();

eb.register(this);

}

@Override

protected void onDestroy() {

//反注册

eb.unregister(this);

super.onDestroy();

}

//主线程

@Subscribe(threadMode = ThreadMode.MAIN)

public void onMainEvent(EventBean event) {

}

//主线程 粘性(比如传递intent使用)

@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)

public void onMainStickEvent(EventBean event) {

}

//后台

@Subscribe(threadMode = ThreadMode.BACKGROUND)

public void onBackgroundEvent(EventBean event) {

}

//重新开启一个线程来执行

@Subscribe(threadMode = ThreadMode.ASYNC)

public void onAsyncEvent(EventBean event) {

}

一般情况下,常用重写onMainEvent ( ) 方法即可。

3. 创建自定义消息实体

//根据不同需求自定义

/**

* 自定义Event消息

*/

public class EventBean {

public int id;//类型标识

public Object data;//数据对象

//省略constructor & getter & setter

}

4. 发送消息

继承自基类Activity后:

eb.post(new EventBean(1, "data"));

//粘性

eb.postSticky(new EventBean(1, "data"));

5. 消息处理

根据数据处理的需求重写基类的4个方法即可。

以上就是Android 消息分发使用EventBus的实例,如有疑问请留言或者到本站社区交流讨论,本站关于Android的文章还有很多希望大家搜索查阅,谢谢大家对本站的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值