android 创建被观察者
时间: 2023-11-19 17:06:08 浏览: 88
在 Android 中,创建被观察者可以使用 Observable 或者 Flowable。这里演示使用 Observable 的方式:
1. 导入 RxJava 依赖库
在 app 模块的 build.gradle 文件中添加以下依赖库:
```
dependencies {
implementation 'io.reactivex.rxjava2:rxjava:2.2.19'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
}
```
2. 创建被观察者
创建一个 Observable 对象并定义它的行为:
```
Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> emitter) throws Exception {
emitter.onNext("Hello");
emitter.onNext("World");
emitter.onComplete();
}
});
```
这个被观察者会发送两个字符串 "Hello" 和 "World",然后结束。
3. 订阅被观察者
订阅被观察者以接收它发出的事件:
```
observable.subscribe(new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
// 订阅时回调,可以在这里保存 Disposable 对象以便取消订阅
}
@Override
public void onNext(String s) {
// 接收到事件时回调
Log.d(TAG, "onNext: " + s);
}
@Override
public void onError(Throwable e) {
// 发生错误时回调
}
@Override
public void onComplete() {
// 完成时回调
}
});
```
在这里,我们创建了一个观察者对象,并在其中实现了接收到事件时的操作。
现在,当我们订阅被观察者时,它会输出 "Hello" 和 "World",然后完成。
阅读全文