Android——深入浅出RxJava 1和RxAndroid(一)
2017-12-19 10:40
375 查看
关于RxJava和RxAndroid,首先先想到是为什么要用它呢?原因有4点
1.RxJava能提高工作效率。
2.RxJava能优雅解决复杂业务场景。
3.RxJava使用越来越流行。
4.RxJava屌爆了。。。
RxJava文档:https://github.com/ReactiveX/RxJava/wiki
http://reactivex.io/documentation/operators.html
RxJava中文文档:https://github.com/mcxiaoke/RxDocs
RxJava经典资料:https://github.com/lzyzsd/Awesome-RxJava(强烈推荐)
1、响应式编程:
RxJava是一种响应式编程,是一种基于异步数据流概念的编程模式。里面关键概念是一个事件,和现实生活中事件一样,一个事件可以被触发,也可以触发另一个事件,一个词概括RxJava,就是异步,RxJava 的异步实现,是通过一种扩展的观察者模式来实现的。。
2、RxJava特点
3、RxAndroid
RxAndroid其实是Rxjava针对Android平台的一个扩展,用于Android开发,提供响应式扩展组件快速、易于开发android应用程序,说白了其实就是RxJava的一部分,给android平台提供的一个库。
之后会通过代码展现。
4、观察者模式的四大要素:
Observable(被观察者)、Observer(观察者)、subscribe(订阅)、事件。Observable 和 Observer 通过 subscribe() 方法实现订阅关系,从而 Observable 可以在需要的时候发出事件来通知 Observer。
接下来代码展示helloworld,
添加依赖:
onCompleted方法和onError方法是不能同时出现的,当把注释的异常打开,是不会直线onerror的,因为已经执行过oncompleted方法,如果去掉oncompleted将会执行onError方法。
1.RxJava能提高工作效率。
2.RxJava能优雅解决复杂业务场景。
3.RxJava使用越来越流行。
4.RxJava屌爆了。。。
RxJava文档:https://github.com/ReactiveX/RxJava/wiki
http://reactivex.io/documentation/operators.html
RxJava中文文档:https://github.com/mcxiaoke/RxDocs
RxJava经典资料:https://github.com/lzyzsd/Awesome-RxJava(强烈推荐)
1、响应式编程:
RxJava是一种响应式编程,是一种基于异步数据流概念的编程模式。里面关键概念是一个事件,和现实生活中事件一样,一个事件可以被触发,也可以触发另一个事件,一个词概括RxJava,就是异步,RxJava 的异步实现,是通过一种扩展的观察者模式来实现的。。
2、RxJava特点
特点: 1、RxJava的jar包是小于1Mb的。 2、它是一种轻量级框架。 3、支持Java 8 lambda表达式。 4、支持java 6+ &Android 2.3+ 5、支持同步和异步。
3、RxAndroid
RxAndroid其实是Rxjava针对Android平台的一个扩展,用于Android开发,提供响应式扩展组件快速、易于开发android应用程序,说白了其实就是RxJava的一部分,给android平台提供的一个库。
RxJava用Schedulers(调度器)来解决Android主线程问题,解决多线程线程问题。
之后会通过代码展现。
4、观察者模式的四大要素:
Observable(被观察者)、Observer(观察者)、subscribe(订阅)、事件。Observable 和 Observer 通过 subscribe() 方法实现订阅关系,从而 Observable 可以在需要的时候发出事件来通知 Observer。
接下来代码展示helloworld,
添加依赖:
compile 'io.reactivex:rxjava:1.0.14' compile 'io.reactivex:rxandroid:1.0.1'
public class HelloWorld { public static void main(String[] args) { //第一步,创建被观察者 Observable observable=Observable.create(new Observable.OnSubscribe<String>(){ @Override public void call(Subscriber<? super String> subscriber) { subscriber.onNext("Hello World"); subscriber.onCompleted(); //throw new NullPointerException(); } }); //创建观察者 Subscriber subscriber= new Subscriber<String>() { @Override public void onCompleted() { System.out.println("onCompleted:"); } @Override public void onError(Throwable e) { System.out.println("onError:"); } @Override public void onNext(String s) { System.out.println("onNext:"+s); } }; observable.subscribe(subscriber); } }
onCompleted方法和onError方法是不能同时出现的,当把注释的异常打开,是不会直线onerror的,因为已经执行过oncompleted方法,如果去掉oncompleted将会执行onError方法。
相关文章推荐
- Android——深入浅出RxJava 和RxAndroid(操作符)
- RxAndroid和RxJava结合OkGo示例请求网络图片加载到不同ImageView
- RxJava/RxAndroid:ConnectableObservable & replay(long time, TimeUnit unit)
- Retrofit2.0+RxJava+RxAndroid——强强联合的网络请求框架
- RxAndroid深入浅出——lambda
- 响应式函数编程_RxJava & RxAndroid
- RxJava笔记--02(Android中使用RxAndroid)
- RxJava&&RxAndroid学习地址备忘
- RxJava(RxAndroid)基本使用入门
- Retrofit2.0+RxJava+RxAndroid——强强联合的网络请求框架
- RxJava & RxAndroid简单使用(2)
- Android-->RxJava/RxAndroid 入门初体验
- RxJava和RxAndroid
- RxJava+RxAndroid+MVP入坑实践(一:基础篇)
- RxJava 和 RxAndroid 二(操作符的使用)
- 开源库之RxJava & RxAndroid基本使用
- Days46 Retrofit&rxjava&rxandroid
- RxJava 和 RxAndroid 三(生命周期控制和内存优化)
- rxJava,rxAndroid实现1秒内只能进行一次有效点击
- Android RxJava+Retrofit+OkHttp深入浅出-终极封装二(网络请求)