Rxjava简单Demo

首先导入依赖

compile 'io.reactivex:rxjava:1.0.14'
compile 'io.reactivex:rxandroid:1.0.1'

然后是 观察者 和被观察者

//    被观察者     设置成子线程   进行耗时操作
Observable observable = Observable.create(new Observable.OnSubscribe<String>() {
    @Override
    public void call(Subscriber<? super String> subscriber) {

        subscriber.onNext("第一个事件");
        subscriber.onNext("第二个事件");
        subscriber.onCompleted();
    }
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread());

//观察者    让她运行在主线程里面,更新UI
Observer<String> observer = new Observer<String>() {
    @Override
    public void onCompleted() {

    }

    @Override
    public void onError(Throwable e) {

    }

    @Override
    public void onNext(String s) {
        Log.e("TAG","--->"+s);
    }
};

最后调用者 关联 观察者和被观察者

observable.subscribe(observer);

转载于:https://my.oschina.net/u/3737161/blog/1631926

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以!以下是一个简单RxJava 示例: ```java import io.reactivex.rxjava3.core.Observable; import io.reactivex.rxjava3.core.Observer; import io.reactivex.rxjava3.disposables.Disposable; public class RxJavaDemo { public static void main(String[] args) { Observable<String> observable = Observable.just("Hello, World!"); Observer<String> observer = new Observer<String>() { @Override public void onSubscribe(Disposable d) { // 在订阅时被调用 System.out.println("onSubscribe"); } @Override public void onNext(String s) { // 当收到数据时被调用 System.out.println("onNext: " + s); } @Override public void onError(Throwable e) { // 当发生错误时被调用 System.out.println("onError: " + e.getMessage()); } @Override public void onComplete() { // 当完成时被调用 System.out.println("onComplete"); } }; observable.subscribe(observer); } } ``` 这个示例中,我们创建了一个简单的 Observable 对象,它只发射了一个字符串 "Hello, World!"。然后我们创建了一个 Observer 对象,它定义了在收到数据、发生错误或完成时的行为。最后,我们通过调用 `observable.subscribe(observer)` 来订阅 Observable。 运行这个示例,你将会看到以下输出: ``` onSubscribe onNext: Hello, World! onComplete ``` 这表明在订阅时,`onSubscribe` 被调用;然后收到了数据 "Hello, World!",`onNext` 被调用;最后,`onComplete` 被调用,表示完成了数据的发射过程。 请注意,这只是 RxJava 的一个简单示例,RxJava 还有很多更强大的操作符和功能可以使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值