理解RxJava,RxAndroid的观察者模式
来源:互联网 发布:ug自动编程 编辑:程序博客网 时间:2024/05/17 06:27
这响应式编程好像也是挺厉害挺好用的样子,作为菜鸟肯定要多学一些东西
在网上查阅了一些资料 ,记录一下自己的一些理解,有错误的地方请指教。
由Android开发中的点击事件的观察者模式理解RxJava的观察者模式
点击事件
view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } });
//被观察者 相当于点击时间中的 View Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(@NonNull ObservableEmitter<String> e) throws Exception { //这一部分应该类似 调用的 onClick(View v) v的传递 应该在view源码中有这样的接口回调 e.onNext("1"); e.onNext("2"); e.onComplete(); } }); //观察者 相当于点击事件中的监听 setOnClickListener(this) 中的this(new OnClickListener()) //其中 String为传递的参数类型 类似 onClick(View v) 中的view Observer<String> obsetver = new Observer<String>() { @Override public void onSubscribe(@NonNull Disposable d) { //这个方法是在订阅后发送数据之前执行的 (这个暂时不知道有什么使用场景) //Disposable用于取消订阅 关于Disposable d 的使用方法 //设置一个全局的Disposable d ,然后 disposable = d; //在不使用的时候取消订阅(比如在Activity的onDestory()等) if(disposable!=null && disposable.isDisposed()) disposable.dispose(); //不知道我这样理解Disposable d 的使用方法对不对 还请指教 LogUtils.w("obsetver", "onSubscribe"); } @Override public void onNext(@NonNull String s) { LogUtils.w("obsetver", "onNext"); } @Override public void onError(@NonNull Throwable e) { } @Override public void onComplete() { } }; //订阅 也就是view.setOnClickListener()设置监听 observable.subscribe(obsetver);
阅读全文
0 0
- 理解RxJava,RxAndroid的观察者模式
- RxJava与RxAndroid 被观察者的创建
- Rxandroid观察者模式(三)
- 观察者模式的理解
- 观察者模式的理解
- 从观察者模式的角度看RxJava
- 观察者模式->EventBus->Rxjava
- RxJava & RxAndroid
- RxAndroid+RxJava
- RxJava /RxAndroid
- 对观察者模式的理解
- Java观察者模式的理解
- Android观察者模式的理解
- Android观察者模式的理解
- 观察者模式的生动理解
- RxJava系列之一:观察者模式
- 观察者模式实践 rxjava+retrofit
- RxJava的使用基础教学 四 RxAndroid
- PHP那些琐碎的知识点
- 对 jquery bind on 事件的理解
- hadoop 安装与环境搭建
- C++string中有关字符串内容修改和替换的函数浅析
- 数据库存储与文件存储
- 理解RxJava,RxAndroid的观察者模式
- bond
- 基于深度学习的车辆信息识别(一):车辆颜色识别
- 用switch添加多个button的onclicklistener
- c++中的静态变量,静态指针,静态类指针,静态类对象使用和原理
- Struts2学习之处理结果
- PLSQL Developer中文显示乱码的解决方法
- linux 安装mysql
- kafka topic