RxJava2 / RxAndroid2操作符ofType:根据类型选择输出结果
RxJava2 / RxAndroid2操作符ofType:根据类型选择输出结果
例如:
package zhangphil.app; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.util.Log; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.observers.DisposableObserver; import io.reactivex.schedulers.Schedulers; public class MainActivity extends AppCompatActivity { private final String TAG = getClass().getSimpleName(); private CompositeDisposable mCompositeDisposable = new CompositeDisposable(); private Object[] test_data = { 1, "zhang", 2, 3, "phil", 5, 5, 6, 7, 7, 8, 9 }; // 故意设置若干重复的数据,等待去重复数据 @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); test(); } private void test() { DisposableObserver disposableObserver = new DisposableObserver<Object>() { @Override public void onNext(Object o) { Log.d(TAG, "#####开始#####"); Log.d("数据", String.valueOf(o)); Log.d(TAG, "#####结束#####"); } @Override public void onComplete() { Log.d(TAG, "onComplete"); } @Override public void onError(Throwable e) { Log.e(TAG, e.toString(), e); } }; Observable<Object> observable = Observable.fromArray(test_data); mCompositeDisposable.add(observable .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .ofType(String.class) //只显示字符串类型 .subscribeWith(disposableObserver)); } @Override protected void onDestroy() { super.onDestroy(); // 如果退出程序,就清除后台任务 mCompositeDisposable.clear(); } }
输出:
05-18 10:28:43.170 14762-14762/zhangphil.app D/MainActivity: #####开始##### 05-18 10:28:43.170 14762-14762/zhangphil.app D/数据: zhang 05-18 10:28:43.170 14762-14762/zhangphil.app D/MainActivity: #####结束##### 05-18 10:28:43.170 14762-14762/zhangphil.app D/MainActivity: #####开始##### 05-18 10:28:43.170 14762-14762/zhangphil.app D/数据: phil 05-18 10:28:43.170 14762-14762/zhangphil.app D/MainActivity: #####结束##### 05-18 10:28:43.171 14762-14762/zhangphil.app D/MainActivity: onComplete
结果如预期,只输出字符串类型的数据。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RxJava2 / RxAndroid2操作符distinct去重
RxJava2 / RxAndroid2操作符distinct去重 distinct去除重复的数据,例如: package zhangphil.app; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.util.Log; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.observers.DisposableObserver; import io.reactivex.schedulers.Schedulers; public class MainActivity extends AppCompat...
- 下一篇
RxJava2 / RxAndroid2操作符distinct与distinctUntilChanged去重结果异同
RxJava2 / RxAndroid2操作符distinct与distinctUntilChanged去重结果异同 代码例如: package zhangphil.app; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.util.Log; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.observers.DisposableObserver; import io.reactivex.schedulers.Schedulers; public class MainActivity extend...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- CentOS7安装Docker,走上虚拟化容器引擎之路