清纯不做作的RxBus ,用法与EventBus 一致
前言
看过一些别人写的Rxbus ,
@Subscribe(
thread = EventThread.IO,
tags = {
@Tag(BusAction.EAT_MORE)
}
增加了一个tag ,本身RxJava 就封装了ofType()用来实现响应,而这个tag又要通过注解重新遍历一遍注解过的方法,得到tag 标记,再主动选择方法用于响应,这样就几乎让oftype()失去了它的作用。
还有的库增加了别的注解,我觉得完全没有必要,像eventbus 那样简简单单,好理解、好使用不是很好嘛。
接下来重点,个人写的RxBus清纯不做作。
RxBus
include lib:
Gradle:
compile ‘com.yan.rxbus:rxbus:1.2.1’
maven:
<dependency>
<groupId>com.yan.rxbus</groupId>
<artifactId>rxbus</artifactId>
<version>1.2.1</version>
<type>pom</type>
</dependency>
Ivy:
<dependency org='com.yan.rxbus' name='rxbus' rev='1.2.1'>
<artifact name='$AID' ext='pom'></artifact>
</dependency>
how to use:
// 普通响应发送
RxBus.getInstance().post(AnyType);
// Sticky发送
RxBus.getInstance().postSticky(AnyType);
// 注册
@Override
protected void onCreate(Bundle savedInstanceState) {
...
RxBus.getInstance().register(this);
}
// 注销
@Override
protected void onDestroy() {
super.onDestroy();
RxBus.getInstance().unRegister(this);
}
// 响应
@Subscribe(thread = EventThread.MAIN_THREAD)
public void show(AnyType str) {
Toast.makeText(this, str+"", Toast.LENGTH_SHORT).show();
}
结尾
最后,本人第二个在项目中比较有用的库,如果有问题希望能给我提issues,博主一定第一时间处理,开源不易,望多多支持!