android中使用EventBus进行消息通知

// ------------ 接收消息类,(注册,注销,处理消息)----------

// 注册
EventBus.getDefault().register(this);

// 处理,必须是onEventMainThread(param) para为消息实体类
    public void onEventMainThread(MsgBody msg) {
if (msg.getType() == MsgBody.TYPE_1) {
   // TODO
        }
    }

// 注销
EventBus.getDefault().unregister(this);

// ----------- 发送消息类 --------------
EventBus.getDefault().post(new MsgBody(MsgBody.TYPE_1));

// 消息实体类
public class MsgBody{
    public static final int TYPE_1 = 1;
    private int type;

    public MsgBody(int type) {
        this.type = type;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android EventBus是一个用于Android应用程序内部组件之间通信的开源库。它基于发布/订阅模式,简化了组件之间的通信,使得开发者能够更轻松地实现松耦合的设计。 使用EventBus,你可以定义事件(Event),并将其发布(Post)到EventBus。其他组件可以订阅(Subscribe)这些事件,并在事件发生时接收通知并执行相应的操作。这种机制使得组件之间的通信更加简单和灵活。 EventBus提供了多种线程模型,可以根据需要选择适合的模式。例如,可以在主线程订阅事件,以更新UI,或在后台线程执行耗时操作。 要在Android项目使用EventBus,你需要首先添加EventBus库的依赖。然后,定义事件类和事件处理方法,并注册和取消注册事件订阅者。最后,在适当的地方发布事件,并在事件处理方法执行相应的操作。 以下是一个简单的示例: 1. 添加EventBus库的依赖: ```java implementation 'org.greenrobot:eventbus:3.2.0' ``` 2. 定义事件类: ```java public class MessageEvent { private String message; public MessageEvent(String message) { this.message = message; } public String getMessage() { return message; } } ``` 3. 注册和取消注册事件订阅者: ```java @Override public void onStart() { super.onStart(); EventBus.getDefault().register(this); } @Override public void onStop() { super.onStop(); EventBus.getDefault().unregister(this); } ``` 4. 订阅事件和定义事件处理方法: ```java @Subscribe(threadMode = ThreadMode.MAIN)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值