com.ttsea.jrxbus2
jrxbus2
最新版本号
pom
2.Gradle
compile 'com.ttsea.jrxbus2:jrxbus2:最新版本号'
3.Ivy
如何获取最新版本号,有两种方式,如下:
使用步骤:
1.在Activity或者Fragment的onCreate中调用 register(Object) 进行注册
2.在Activity或者Fragment的onDestroy中调用 unRegister(Object) 进行反注册
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//注册
RxBus2.getInstance().register(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
//反注册
RxBus2.getInstance().unRegister(this);
}
3.使用@Subscribe来标识订阅方法,订阅方法允许有且只有一个参数
//默认普通事件
@Subscribe
public void onRxBusEvent(String msg) {
Log.d(TAG, "msg:" + msg);
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
}
//普通事件,并且设定该方法运行的线程和设定只接收指定code的事件
@Subscribe(threadMode = ThreadMode.IO, code = 2)
public void onRxBusEvent2(String msg) {
Log.d(TAG, "msg:" + msg + "\ncode 2\n" + Thread.currentThread().getName());
}
//只接收粘性事件
@Subscribe(receiveStickyEvent = true)
public void onRxBusEvent3(String msg) {
Log.d(TAG, "msg:" + msg);
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
}
4.使用post(Object)或者使用post(int, Object)来发送一个普通事件
RxBus2.getInstance().post("normal event");
5.使用 postStickyEvent(Object) 或者使用 postStickyEvent(int, Object) 来发送一个粘性事件
RxBus2.getInstance().post(2, "normal event");
6.使用 debugMode(boolean) 来设置 RxBus2 是否打印日志
RxBus2.getInstance().debugMode(true);
注意事项