博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android RxJava小结
阅读量:5159 次
发布时间:2019-06-13

本文共 4019 字,大约阅读时间需要 13 分钟。

一、如何使用

在build.gradle中添加依赖

1 dependencies { 2     api 'io.reactivex:rxandroid:1.2.1' 3     api 'io.reactivex:rxjava:1.3.0' 4     implementation fileTree(include: ['*.jar'], dir: 'libs') 5     implementation 'com.android.support:appcompat-v7:27.1.1' 6     implementation 'com.android.support.constraint:constraint-layout:1.1.3' 7     testImplementation 'junit:junit:4.12' 8     androidTestImplementation 'com.android.support.test:runner:1.0.2' 9     androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'10 }

这里有一个小坑,直接用latest.release没有办法用,不知道为什么

二、代码实现

2.1 使用just+Action1+Action0来实现

1  Observable.just(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 2                     .subscribeOn(Schedulers.io()) // Observable运行的线程 3                     .observeOn(AndroidSchedulers.mainThread()) //监听者运行的线程 4                     .subscribe(new Action1
() { 5 //onNext 6 @Override 7 public void call(Integer integer) { 8 log("call 1:" + integer); 9 }10 }, new Action1
() {11 //onError12 @Override13 public void call(Throwable throwable) {14 log("call 2");15 }16 }, new Action0() {17 //onCompleted18 @Override19 public void call() {20 log("call 3");21 }22 });

运行结果如下,很简单,就不一一解释了。

1 10-05 11:05:45.955 23619 23619 E MainActivity: yanlog msg:call 1:1 2 10-05 11:05:45.955 23619 23619 E MainActivity: yanlog msg:call 1:2 3 10-05 11:05:45.955 23619 23619 E MainActivity: yanlog msg:call 1:3 4 10-05 11:05:45.955 23619 23619 E MainActivity: yanlog msg:call 1:4 5 10-05 11:05:45.955 23619 23619 E MainActivity: yanlog msg:call 1:5 6 10-05 11:05:45.955 23619 23619 E MainActivity: yanlog msg:call 1:6 7 10-05 11:05:45.955 23619 23619 E MainActivity: yanlog msg:call 1:7 8 10-05 11:05:45.955 23619 23619 E MainActivity: yanlog msg:call 1:8 9 10-05 11:05:45.956 23619 23619 E MainActivity: yanlog msg:call 1:910 10-05 11:05:45.956 23619 23619 E MainActivity: yanlog msg:call 1:1011 10-05 11:05:45.956 23619 23619 E MainActivity: yanlog msg:call 3

 2.2 使用Just+Subscriber来实现

代码如下:

Observable.just(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)                    .subscribeOn(Schedulers.io()) // Observable运行的线程                    .observeOn(AndroidSchedulers.mainThread()) //监听者运行的线程                    .subscribe(new Subscriber
() { @Override public void onCompleted() { log("onCompleted"); } @Override public void onError(Throwable e) { log("onError"); } @Override public void onNext(Integer integer) { log("onNext:" + integer); } });

运行结果如下:

1 10-05 19:56:09.991   982   982 E MainActivity: yanlog msg:onNext:1 2 10-05 19:56:09.991   982   982 E MainActivity: yanlog msg:onNext:2 3 10-05 19:56:09.991   982   982 E MainActivity: yanlog msg:onNext:3 4 10-05 19:56:09.992   982   982 E MainActivity: yanlog msg:onNext:4 5 10-05 19:56:09.992   982   982 E MainActivity: yanlog msg:onNext:5 6 10-05 19:56:09.992   982   982 E MainActivity: yanlog msg:onNext:6 7 10-05 19:56:09.992   982   982 E MainActivity: yanlog msg:onNext:7 8 10-05 19:56:09.992   982   982 E MainActivity: yanlog msg:onNext:8 9 10-05 19:56:09.992   982   982 E MainActivity: yanlog msg:onNext:910 10-05 19:56:09.992   982   982 E MainActivity: yanlog msg:onNext:1011 10-05 19:56:09.992   982   982 E MainActivity: yanlog msg:onCompleted

 

转载于:https://www.cnblogs.com/yanyojun/p/9745675.html

你可能感兴趣的文章
创建数据库,表
查看>>
工厂模式
查看>>
计算机网络基础知识
查看>>
C#里如何遍历枚举所有的项
查看>>
如何在键盘出现时滚动表格,以适应输入框的显示
查看>>
超级强大的鼠标手势工具
查看>>
常用Dockerfile举例
查看>>
jquery的ajax用法
查看>>
设计模式-策略模式(Strategy)
查看>>
django orm 数据查询详解
查看>>
JarvisOJ Basic 熟悉的声音
查看>>
C# list导出Excel(二)
查看>>
CAS 单点登录模块学习
查看>>
跟着辛星用PHP的反射机制来实现插件
查看>>
Android应用开发-网络编程①
查看>>
input中的name,value以及label中的for
查看>>
静态库制作-混编(工程是oc为基础)
查看>>
jQuery 显示加载更多
查看>>
代理模式
查看>>
Confluence 6 系统运行信息中的 JVM 内存使用情况
查看>>