RxJava1.0的RxBus使用
来源:互联网 发布:sc2020网络打印机设置 编辑:程序博客网 时间:2024/05/21 14:41
依赖:
compile 'io.reactivex:rxjava:1.0.14'compile 'io.reactivex:rxandroid:1.0.1'
RxBus工具类
package com.example.rxbus10;import rx.Observable;import rx.subjects.PublishSubject;import rx.subjects.SerializedSubject;/** * Created by xsj on 2017/12/6. */public class RxBus { private SerializedSubject<Object, Object> bus; //单列模式 private static volatile RxBus instance; public static RxBus getInstance() { if (instance == null) { synchronized (RxBus.class) { if (null == instance) { instance = new RxBus(); } } } return instance; } public RxBus() { bus=new SerializedSubject<Object,Object>(PublishSubject.create()); } //传入数据 public void post(Object o){ bus.onNext(o); } //返回类型--被观察者 public <T> Observable<T> tObservable(Class<T> event) { return bus.ofType(event); }}MainActivitypackage com.example.rxbus10;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import rx.Observable;import rx.Subscription;import rx.android.schedulers.AndroidSchedulers;import rx.functions.Action1;import rx.schedulers.Schedulers;public class MainActivity extends AppCompatActivity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button but= (Button) findViewById(R.id.but); tv = (TextView) findViewById(R.id.tv); //点击事件 but.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Person p = new Person(1, "zhangsan", 24); RxBus.getInstance().post(p); } }); //得到被观察者 Observable<Person> observable = RxBus.getInstance().tObservable(Person.class); //观察者查看 Subscription subscribe = observable .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Action1<Person>() { @Override public void call(Person person) { tv.setText("接收到的名字是" + person.getName()); } }); }}
阅读全文
0 0
- RxJava1.0的RxBus使用
- RxJava1.0的创建
- RxBus在rxjava2.0 的使用
- RxBus的使用(基于RxJava2.0)
- RxJava+RxBus的使用
- RXBUS的简单使用
- RxBus的使用示例
- Android Rxbus的使用
- Rxbus的简单使用
- Android RxBus的使用
- RxJava1.0+Retrofit结合使用
- RxBus的实现和使用
- RxJava1.0 flatMap方法的源码分析
- RxBus使用
- RxBus 基于 RxJava1.x 实现消息传递机制
- 关于RxBus的一些使用心得
- RxBus的实现及简单使用
- Rxbus的使用 亲测可以
- 一个简单的input离焦事件验证
- postgresql 查看wal生成频率和大小
- ext使用
- iOS APP上架被拒重新提交审核教程
- 自定义view实现炸弹效果
- RxJava1.0的RxBus使用
- 【视频开发】伽马校正(gamma correction)学习笔记
- unity shader-基本函数
- 听云安装手册
- POI文档
- Android6.0 显示系统(六) 图像的输出过程
- 关于tomcat启动时 JDK的配置
- 中福光彩工程管理集团主创的初心
- 连接数据库及相关操作工具类