1)引用
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1' implementation 'io.reactivex.rxjava2:rxjava:2.1.5'
2)创建 方法
public final class RxBus {//this how to create our bus
private static final BehaviorSubject<Object> behaviorSubject
= BehaviorSubject.create();
public static Disposable subscribe(@NonNull Consumer<Object> action) {
return behaviorSubject.subscribe(action);
}
//use this method to send data
public static void publish(@NonNull Object message) {
behaviorSubject.onNext(message);
}
}
3)发送消息
RxBus.publish( "发送消息");
4)接收消息
Disposable disposable = null;@Override protected void onCreate(Bundle savedInstanceState) {disposable = RxBus.subscribe(new io.reactivex.functions.Consumer<Object>() { @Override public void accept(Object o) throws Exception { if (o instanceof String) { String data = (String) o;//接收消息 } } });}
@Override protected void onDestroy() { super.onDestroy(); if (disposable != null) { disposable.dispose(); } }
本文介绍了一种基于RxJava的轻量级事件总线RxBus的实现方式,包括依赖库引入、创建方法、发送与接收消息的具体实现过程。
3万+

被折叠的 条评论
为什么被折叠?



