Rxjava2~RXbus~学渣带你扣rxjava2

public class RxBus {

public RxBus() {
}

private PublishSubject<Object> bus = PublishSubject.create();

public void send(Object o) {
    bus.onNext(o);
}

public Observable<Object> toObservable() {
    return bus;
}

public boolean hasObservers() {
    return bus.hasObservers();
}

}

在你的Application

public class MyApplication extends Application {

public static final String TAG = "MyApplication";
private RxBus bus;

@Override
public void onCreate() {
    super.onCreate();
    bus = new RxBus();
}

public RxBus bus() {
    return bus;
}

public void sendAutoEvent() {
    Observable.timer(2, TimeUnit.SECONDS)
            .subscribe(new Consumer<Long>() {
                @Override
                public void accept(Long aLong) throws Exception {
                    bus.send(new Events.AutoEvent());
                }
            });
}

}

你发送的时候
((MyApplication) getApplication()).sendAutoEvent();

需要的时候

 disposables.add(((MyApplication) getApplication())
            .bus()
            .toObservable()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<Object>() {
                @Override
                public void accept(Object object) throws Exception {
                    if (object instanceof Events.AutoEvent) {
                        textView.setText("Auto Event Received");
                    } else if (object instanceof Events.TapEvent) {
                        textView.setText("Tap Event Received");
                    }
                }
            }));

<pre>
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((MyApplication) getApplication())
.bus()
.send(new Events.TapEvent());
}
});
</pre>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,777评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,153评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,843评论 25 709
  • 【两张毕业照】 文/我心飞翔 时间久了, 翻出来, 饱一饱眼福, 换一换心情, 两张很旧的相纸, 打开了记忆的目光...
    我心飞翔XF阅读 2,924评论 2 1
  • 从记事起,因为家庭原因,爸爸妈妈只要在一起,就吵吵闹闹,砸东西,甚至因为一点小事,常常说要离婚。妈妈就说,我要大的...
    心情小屋阅读 1,924评论 0 1