Android 开发之第三方库之 EventBus

来源:互联网 发布:淘宝拍立得 编辑:程序博客网 时间:2024/05/21 06:49

EventBus

EventBus 是一个 Android 端优化的 publish/subscribe 消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。

极大简化了通信操作。


具体实现方法如下:

一.注册:

注册和解绑非常简单

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

二.定义事件类

POJO类

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

三.订阅

使用 注解 @Subscribe;

其中 ThreadMode 提供了四个常量:
1. MainThread 主线程
2. BackgroundThread 后台线程
3. Async 后台线程
4. PostThread 发送线程(默认)

 @Subscribe (threadMode = ThreadMode.MainThread) public void handleSomething(MessageEvent event){     doSomethingWith(event); }

备注:

Event handling methods must be annotated by{@ Subscribe}, must be public, return nothing (void), and have exactly one parameter (the event).


四.发布

在任何地方都可以发布,所有订阅者都可以收到。

 EventBus.getDefault().post(new MessageEvent("Hello everyone!"));

五.缺点

不能跨进程(process)通信

0 0
原创粉丝点击