博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RxJava2 / RxAndroid2操作符ofType:根据类型选择输出结果
阅读量:6824 次
发布时间:2019-06-26

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

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() {            @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 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/数据: zhang05-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/数据: phil05-18 10:28:43.170 14762-14762/zhangphil.app D/MainActivity: #####结束#####05-18 10:28:43.171 14762-14762/zhangphil.app D/MainActivity: onComplete

结果如预期,只输出字符串类型的数据。

转载地址:http://oclzl.baihongyu.com/

你可能感兴趣的文章
在ASP.NET MVC 4中使用Kendo UI Grid
查看>>
SpringCloud_概述与入门
查看>>
vim精简版教程
查看>>
干货 | 用python3+dlib教你的程序察言观色
查看>>
Kafka的Consumer负载均衡算法
查看>>
换个姿势学数学:二次函数与拆弹部队
查看>>
React-事件机制杂记
查看>>
演示:如何编译tbox
查看>>
分享插件
查看>>
线性插值针对位置量和角度量
查看>>
JBPM4或Activiti5的流程任务分发与汇总
查看>>
android4.0 在ubuntu10.04(64位)上的下载与编译
查看>>
记一次在 Linux 上创建 Django 应用的过程
查看>>
翻译WifiConfiguration类
查看>>
伍雨霏-懂游戏的云服务如何保驾护航
查看>>
Lua-5.3.2 安装 luasocket 的正确姿势
查看>>
MFC界面库BCGControlBar v25.1新版亮点四:网格控件等
查看>>
ssh 连接非22端口服务器的方法:
查看>>
Linux基础入门
查看>>
org.hibernate.hql.internal.ast.QuerySyntaxException: user is not mapped
查看>>