RxJAVA使用util包的类实现简易观察者与被观察者通信
来源:互联网 发布:python gui自动化 编辑:程序博客网 时间:2024/05/16 15:03
转载自老罗安卓视频
API为我们提供了一个观察者接口Observer和一个被观察者类Observable,
1.定义一个被观察者类:
public class SimpleObserveable extends Observable { private int data = 0; public int getData() { return data; } public int setData(int i){ if (i!=data){ //被观察者数据改变 data = i; //设置改变 setChanged(); //通知观察者状态改变 notifyObservers(); } return data; }}
2.定义观察者类:
public class SimpleObserver implements Observer { //重写构造器,绑定被观察者 public SimpleObserver(SimpleObserveable observeable){ observeable.addObserver(this); } //重写update,在被观察者状态改变时会调用这个方法 @Override public void update(Observable observable, Object o) { //将参数中被观察者强转成我们自定义的被观察者,获得他的数据并输出 System.out.println(((SimpleObserveable)observable).getData()); }}3.进行测试:
public class MyTest { public static void main(String[] args){ SimpleObserveable observeable = new SimpleObserveable(); SimpleObserver observer = new SimpleObserver(observeable); observeable.setData(1); observeable.setData(1); observeable.setData(12); observeable.setData(133); //结果显示为 // 1 // 12 // 133 }}右键运行这个main方法。
逻辑也是比较清晰的,在观察者的构造方法中传入被观察者并让被观察者订阅观察者,当被观察者数据改变时自身调用setChanged和notify方法(两个都要调用)通知观察者,触发观察者的update.。这个update以被观察者作为参数,从而可以得到需要处理的被观察者。
0 0
- RxJAVA使用util包的类实现简易观察者与被观察者通信
- 安卓中Rxjava(观察者模式、异步)的简单使用(1) 观察者与被观察者线程之间的关系
- RxJava与RxAndroid 被观察者的创建
- 【RxJava 实践系列】(二)创建观察者与被观察者
- RxJava结合Retrofit实现的网络请求(Observable被观察者和 Subscriber观察者)
- 观察者与被观察者模式实现模型
- 利用观察者模式实现Service与Activity的通信
- Android 简单的观察者与被观察者
- 安卓,Rxjava观察者被观察者操作
- Rxjava--create流程(被观察者)
- Android 观察者与被观察者
- 一个简易的java自带的观察者模式实现
- 实现观察者与被观察者设计模式在事件处理上的应用
- Rxjava 被观察者Observable的建立方式,含义
- 观察者模式-气象台的实现与应用
- 使用观察者模式完美解决activity与fragment通信问题
- 使用观察者模式完美解决activity与fragment通信问题
- GOF23设计模式之观察者模式的理解与实现2(使用java自带的观察者类和接口)
- SQL简介
- rabbitmq基础
- IE,FF获取文件绝对路径方法
- 对于line-height的理解
- Shadowsocks OSX无法使用,解决
- RxJAVA使用util包的类实现简易观察者与被观察者通信
- 第29周-鸟哥的Linux私房菜基础篇第三版-第五章 首次登入与在线求助 man page
- 此诚危急存亡之秋也
- jQuery之实战(checkbox,table)
- Android 使用FFmpeg 裁剪出正方形视频
- 随机化算法-数值随机化算法
- Frameset导致Cookies和Session丢失的原因及解决办法
- form中onsubmit的使用
- EMNLP2016关键词统计