1.导入依赖

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

2.上代码:我们自己定义了三个方法。

//第一种方法是  Observerprivate void a() {//1.创建一个观察者Observer<String> observer = new Observer<String>(){//方法的执行顺序,如果订阅成功,则执行完onNext(),再执行onCompleted(),订阅失败则执行onError()@SuppressLint("LongLogTag")@Overridepublic void onCompleted() {Log.i(TAG, "Completed1");}@SuppressLint("LongLogTag")@Overridepublic void onError(Throwable e) {Log.i(TAG, "Error");}@SuppressLint("LongLogTag")@Overridepublic void onNext(String s) {Log.i(TAG, s);}};//2.使用Observable.create()创建被观察者Observable<String> observable = Observable.create(new Observable.OnSubscribe<String>() {@Overridepublic void call(Subscriber<? super String> subscriber) {subscriber.onNext("Hello1");subscriber.onNext("Wrold1");subscriber.onCompleted();}});//3.订阅observable.subscribe(observer);}
//第二种方法是 Subscriberprivate void b(){//1.创建一个观察者Subscriber<String> subscriber = new Subscriber<String>(){@SuppressLint("LongLogTag")@Overridepublic void onCompleted() {Log.i(TAG, "Completed2");}@SuppressLint("LongLogTag")@Overridepublic void onError(Throwable e) {Log.i(TAG, "Error");}@SuppressLint("LongLogTag")@Overridepublic void onNext(String s) {Log.i(TAG, s);}};//2.使用Observable.create()创建被观察者Observable<String> observable = Observable.create(new Observable.OnSubscribe<String>() {@Overridepublic void call(Subscriber<? super String> subscriber) {subscriber.onNext("Hello2");subscriber.onNext("Wrold2");subscriber.onCompleted();}});//3.订阅observable.subscribe(subscriber);}
 //第三种方法是 Subscriberprivate void c(){//1.创建一个观察者Subscriber<String> subscriber = new Subscriber<String>(){@SuppressLint("LongLogTag")@Overridepublic void onCompleted() {Log.i(TAG, "Completed3");}@SuppressLint("LongLogTag")@Overridepublic void onError(Throwable e) {Log.i(TAG, "Error");}@SuppressLint("LongLogTag")@Overridepublic void onNext(String s) {Log.i(TAG, "onNext: *******************/");Log.i(TAG, s);}};//2.使用Observable.just()创建被观察者Observable observable2 = Observable.just("Hello3", "World3","asdasd",1);//        subscribeOn() 就是对被观察者的线程的一个选择,一般都是后台的网络,数据流之类的。
//        observeOn() 就是观察者接受事件的一个线程选择,一般都是前台的UI,View更新之类的。observable2.subscribeOn(new Scheduler() {@Overridepublic Worker createWorker() {return null;}});observable2.observeOn(new Scheduler() {@Overridepublic Worker createWorker() {return null;}});//3.订阅observable2.subscribe(new Observable.OnSubscribe() {@SuppressLint("LongLogTag")@Overridepublic void call(Object o) {Log.i(TAG, "call:订阅成功**** "+o);}});/*Observable.just("Hello", ", RxJava!!").subscribe(new Action1<String>() {@Overridepublic void call(String s) {Log.e("LHC", "Action1:"+ s);}});*/}

RXJava的简单使用相关推荐

  1. 关于Rxjava的简单使用

    本篇只是讲一下Rxjava的简单入门使用,想要详解的请移步其他博主文章,关于RxJava详解的文章网上一大堆,本片文章内容适合小白学习. 首先理解什么是RxJava,官方概念是RxJava 是一个在 ...

  2. RxJava的简单学习(学习自扔物线)

    首先说明下面这个是看扔物线大大的学习笔记,请直接前往 这里看极其详细的入门版这里先给出这个歌开源库的github地址 前言 当前RxJava可是越来越火,也越来越多的人开始学习RxJava,越来越多的 ...

  3. 使用Spring Boot和RxJava的构建响应式REST API

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 我不打算解释什么是响应式编程,也不解释为什么要使用它.我希望你已经在其他地方了解过,如果没有 ...

  4. 继续谈谈从Rxjava迁移到Flow的背压策略

    前言 对于背压问题不久前就讨论过了,这里就不过多介绍了,总之它是一个非常复杂的话题,本文的主要目的是分析我们如何从Rxjava迁移到Flow并且使用其背压方案,由于本身技术的限制以及协程内部的复杂性, ...

  5. Retrofit框架简单学习使用(举例:酷狗搜索和歌曲详情接口)

    2019.09.24 说明:获取歌曲详情接口已失效,大家可根据自己实际url来测试. 首先先看效果图: 然后上Retrofit的注解表:(图片转自简书:https://www.jianshu.com/ ...

  6. RxJava VS kotlin flow

    1.基础概念介绍 1.1 观察者模式 观察者模式,其实对于Android开发者而言,并不陌生,button的setOnClickListener,就是一个典型的观察者模式.控件button是被观察者, ...

  7. Rxjava 学习总结

    https://www.jianshu.com/p/52cd2d514528 RxJava的使用(三)转换--map.flatMap https://blog.csdn.net/wenyingzhi/ ...

  8. RxJava2.0的生动形象的分析

    响应式编程最近几年忽然间火起来了,尤其是RxJava出来以后,我也前前后后看了好多资料学习,最终总结出自己可以方便理解的文字,不想网上好多帖子写的那么高大上得文字.其实RxJava很简单,说白了他就是 ...

  9. Retrofit响应数据及异常处理策略

    今天我们来谈谈客户端对通讯协议的处理,主要分为三部分:约定响应数据格式,响应数据的自动映射以及错误处理三部分.由于数据协议采用json的居多,因此我们在此基础上进行说明. 约定响应数据格式 协议格式 ...

最新文章

  1. python学会了可以做什么菜_python学习之路(24)
  2. LVS+Keepalived-DR模式负载均衡高可用集群
  3. 英语 interactive tutorial unary
  4. 代码回滚:Reset、Checkout、Revert 的选择
  5. AbpZero之企业微信---登录(拓展第三方auth授权登录)---第一步:查看AbpZero的auth第三方登录的底层机制...
  6. 数据库基础知识——视图
  7. 美国科学院公布新一批院士名单,中科院曹晓风及五名华裔教授当选
  8. Linux find命令 查找文件、目录
  9. win10环境eclipse安装包双击无反应的解决方案
  10. linux flash文件系统,需要了解Linux flash文件系统
  11. [原创] vlc视频播放插件使用总结
  12. selenium+java+TestNG 使用enabled 参数 —— 禁止执行一些case
  13. 微软联合创始人,花花公子保罗·艾伦的传奇一生
  14. 走进Linux 操作系统(之一)
  15. 第三方android 模拟器哪个好用吗,PC安卓模拟器哪个好用 电脑手游助手模拟器测评排行...
  16. Java web框架
  17. 正点原子 核心板IMX6ULL IIC RTC驱动 PCF8563
  18. 基于百度ai的抑郁症分析_AI根据脑波模式预测有效的抑郁症治疗
  19. 解决牛客网在线编程,本地编译结果正确,提交结果不正确问题!!!
  20. 吉林出差所见、所闻、所感

热门文章

  1. 用python实现滤波器_python实现低通滤波器代码
  2. 普华永道曾经的2012奥运会态势感知
  3. Genesis软件免用户名密码进入
  4. 如何在ArcGIS中构建生成三维地形地貌场景
  5. linux打开gaussian16软件,win平台下最新版Gaussian16使用经验分享
  6. 年度绩效考核系统(一)
  7. 【Python数据处理】用pandas将dataframe写入excel中
  8. 现在联盟哪个服务器有无限乱斗,2020年lol国服无限乱斗延长_英雄联盟国服无限乱斗延长开放时间详情_3DM网游...
  9. Java int数据类型数组降序排列的方法
  10. Linux高性能计算集群 - 概述