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
- Host: GitHub
- URL: https://github.com/ladingwu/SimpleRxBusApplication
- Owner: ladingwu
- License: mit
- Created: 2018-10-02T10:37:58.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-21T09:54:21.000Z (almost 7 years ago)
- Last Synced: 2025-04-14T18:52:34.287Z (6 months ago)
- Topics: bus, rxbus
- Language: Java
- Homepage:
- Size: 158 KB
- Stars: 20
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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的优点
- 简单,好用,支持普通事件/粘性事件的收发
- 无需显式的调用注册和取消注册接口,框架会自动注册,并且根据生命周期会自动取消注册
- 即插即用,无论是新项目还是老项目,都不需要做额外的处理,在这一点上,对老项目尤为友好