01_RxJava操作符示例代码
来源:互联网 发布:位面淘宝txt下载 编辑:程序博客网 时间:2024/05/29 13:11
抽时间研究了下RxJava,因为网络博文讲述描述性文字较多,示例较少,很多时候不知道怎么开始入手学习RxJava,因此在此发文让想入门的看了博文之后实操一下,步骤很简单:
1.在网上下载一个RxJava的jar包,我找到一个1.1.5jar包,也不用管版本的高低,先入门是没问题的,写几个例子一点问题没有,什么RxJava2,大家大可不必慌张去学习,研究低版本的,是让我们知道低层版本是怎样做的,在发展到RxJava2的时候,又做了哪些改进,所以遵从一个由低到高的顺序,你不会吃亏的。(扯远了)
2.在Eclipse里面建一个java工程,新建一个libs目录,将下载到的RxJava 的jar包放到该目录下,然后添加到构建路径(add lib to build path).
3.接下来就可以建一个包,然后建一个类,开始在main()里面写示例代码了,学东西先让它运行起来再看是怎么回事儿。接下来贴一下我学习时写的hello world与操作符使用的示例代码,供大家参考,希望对入门的人有所帮助。
package com.gdc.rxjava;import java.util.ArrayList;import java.util.concurrent.TimeUnit;import rx.Observable;import rx.Observable.OnSubscribe;import rx.functions.Func0;import rx.Subscriber;public class HelloWorld {public static void main(String[] args) {// helloworld();// create();// just();// from();// defer();// empty();// never();// throwtest();// interval();// range();repeat();}private static void create() {Observable.create(new OnSubscribe<String>() {@Overridepublic void call(Subscriber<? super String> subscriber) {subscriber.onNext("中华人民共和国 RxJava学习");}}).subscribe(new Subscriber<String>() {@Overridepublic void onCompleted() {System.out.println("onCompleted()");}@Overridepublic void onError(Throwable arg0) {System.out.println("onError():" + arg0);}@Overridepublic void onNext(String arg0) {System.out.println("onNext():" + arg0);}});}private static void just() {Observable.just("中华人民共和国 RxJava学习").subscribe(new Subscriber<String>() {@Overridepublic void onCompleted() {System.out.println("onCompleted()");}@Overridepublic void onError(Throwable arg0) {System.out.println("onError():" + arg0);}@Overridepublic void onNext(String arg0) {System.out.println("onNext():" + arg0);}});}private static void from() {// 1: 数组、// 2:列表// 3:Iterable// 4:Future// 5:Future,Scheduler// 6:Future,timout,timeUnitInteger[] a = new Integer[] { 1, 2, 3, 4, 5, 6, 7 };// 支持2ArrayList<Integer> items = new ArrayList<Integer>();items.add(1);items.add(2);items.add(3);items.add(4);items.add(5);items.add(6);Observable.from(items).subscribe(new Subscriber<Integer>() {@Overridepublic void onCompleted() {System.out.println("onCompleted()");}@Overridepublic void onError(Throwable arg0) {System.out.println("onError():" + arg0);}@Overridepublic void onNext(Integer arg0) {System.out.println("onNext():" + arg0);}});}private static String valuestr;private static void defer() {// Observable observable = Observable.just(valuestr);Observable observable = Observable.defer(new Func0<Observable<String>>() {@Overridepublic Observable<String> call() {return Observable.just(valuestr);}});valuestr = "中华人民共和国RxJava学习";observable.subscribe(new Subscriber<String>() {@Overridepublic void onCompleted() {System.out.println("onCompleted()");}@Overridepublic void onError(Throwable arg0) {System.out.println("onError():" + arg0);}@Overridepublic void onNext(String arg0) {System.out.println("onNext():" + arg0);}});}private static void empty() {Observable.empty().subscribe(new Subscriber() {@Overridepublic void onCompleted() {System.out.println("onCompleted()");}@Overridepublic void onError(Throwable arg0) {System.out.println("onError():" + arg0);}@Overridepublic void onNext(Object arg0) {System.out.println("onNext()");}});}private static void never() {Observable.never().subscribe(new Subscriber() {@Overridepublic void onCompleted() {System.out.println("onCompleted()");}@Overridepublic void onError(Throwable arg0) {System.out.println("onError():" + arg0);}@Overridepublic void onNext(Object arg0) {System.out.println("onNext()");}});}private static void throwtest() {Observable.error(new NullPointerException()).subscribe(new Subscriber() {@Overridepublic void onCompleted() {System.out.println("onCompleted()");}@Overridepublic void onError(Throwable arg0) {System.out.println("onError():" + arg0);}@Overridepublic void onNext(Object arg0) {System.out.println("onNext()");}});}private static void interval(){Observable.interval(1000,TimeUnit.MICROSECONDS).subscribe(new Subscriber() {@Overridepublic void onCompleted() {System.out.println("onCompleted()");}@Overridepublic void onError(Throwable arg0) {System.out.println("onError():" + arg0);}@Overridepublic void onNext(Object arg0) {System.out.println("onNext()");}});}private static void range(){Observable observable = Observable.range(1, 5);observable.subscribe(new Subscriber<Integer>() {@Overridepublic void onCompleted() {System.out.println("onCompleted()");}@Overridepublic void onError(Throwable arg0) {System.out.println("onError():" + arg0);}@Overridepublic void onNext(Integer arg0) {System.out.println("onNext()" + arg0);}});}private static void repeat(){Observable observable = Observable.range(1, 5).repeat(2);observable.subscribe(new Subscriber<Integer>() {@Overridepublic void onCompleted() {System.out.println("onCompleted()");}@Overridepublic void onError(Throwable arg0) {System.out.println("onError():" + arg0);}@Overridepublic void onNext(Integer arg0) {System.out.println("onNext()" + arg0);}});}private static void helloworld() {// s1.创建被观察者Observable myObservable = Observable.create(new OnSubscribe<String>() {@Overridepublic void call(Subscriber<? super String> subscriber) {subscriber.onNext("hello world!!!");// subscriber.onCompleted();throw new NullPointerException();}});// s2.创建观察者Subscriber subscriber = new Subscriber<String>() {@Overridepublic void onCompleted() {System.out.println("onCompleted()");}@Overridepublic void onError(Throwable arg0) {System.out.println("onError()");}@Overridepublic void onNext(String arg0) {System.out.println("onNext():" + arg0);}};// s3.订阅事件myObservable.subscribe(subscriber);}}
阅读全文
0 0
- 01_RxJava操作符示例代码
- 02_RxJava转换操作符代码示例
- 03_RxJava 过滤型操作符(Filtering)代码示例
- 04_RxJava 组合操作符示例
- java逻辑操作符代码示例
- BOS操作SQL代码示例
- JS操作cookies示例代码
- 文件夹操作监听示例代码
- java操作文件示例代码
- JQuery -- Dom操作, 示例代码
- PHP操作xml示例代码
- PHP操作xml示例代码
- solr基本操作代码示例
- solr基本操作代码示例
- java文件操作代码示例
- php操作mysqli(示例代码)
- Avro文件操作示例代码
- Python 操作csv 代码示例
- 《深入理解java虚拟机》学习笔记(5)--虚拟机字节码执行引擎
- shiro讲解之 SpringMVC 集成Shiro
- 教大家如何快速又简单的区分单模与多模光纤收发器
- VS2013封装DLL时出现LINK2019无法解析的外部符号错误
- 【python】python数据结构(七)——排序:快速排序
- 01_RxJava操作符示例代码
- Android Context完全解析
- IO模型(1)
- 解析xml的方法以及方式
- Androidstudio布局预览功能不能使用的问题
- frameset框架的入门
- Chrome 控制面板加強
- android省市区三级联动实现
- c语言指针详解