An open API service indexing awesome lists of open source software.

https://github.com/ladingwu/SimpleRxBusApplication

an easy bus
https://github.com/ladingwu/SimpleRxBusApplication

bus rxbus

Last synced: 5 months ago
JSON representation

an easy bus

Awesome Lists containing this project

README

          

# SimpleRxBus
> **一个更加简单易用的RxBus**

- 使用简介
- 集成
```
//请确保原来项目中已经引入了RxJava2.0+的依赖,如没有,请引入
implementation 'com.ladingwu.library:SimpleRxBus:0.3'
// 需要v7的support包,如果原项目中已经存在,则不必引入
implementation 'com.android.support:appcompat-v7:28.0.0'

```
- 发送普通事件
```
RxBusUtils.post("filter_message",mesage);
```

- 接收事件(自动取消订阅)
```
// in Fragment or FragmentActivity
RxBusUtils.receive(this,"filter_message", new RxBusReceiver() {
@Override
public void receive(Object message) {
// handle this
}
});
```

- 发送粘性事件
```
RxBusUtils.postSticky("filter_sticky_message",message);
```
- 接收粘性事件(自动取消订阅)
```
// in Fragment or FragmentActivity
RxBusUtils.receiveSticky(this,"filter_message", new RxBusReceiver() {
@Override
public void receive(Object message) {
// handle this
}
});
```

- 特殊情况
```
//如果无法拿到Fragment/FragmentActivity的实例,则接收事件的时候,需要自行处理取消注册的工作
Disposable disposable = RxBusUtils.receive("filter", new RxBusReceiver() {
@Override
public void receive(Object data) {
// handle this
}
});

// 在合适的时机取消注册
if (disposable != null && !disposable.isDisposed()) {
disposable.dispose();
}
```

- SimpleRxBus的优点
- 简单,好用,支持普通事件/粘性事件的收发
- 无需显式的调用注册和取消注册接口,框架会自动注册,并且根据生命周期会自动取消注册
- 即插即用,无论是新项目还是老项目,都不需要做额外的处理,在这一点上,对老项目尤为友好