博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RxJava 入门
阅读量:6657 次
发布时间:2019-06-25

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

  hot3.png

RxJava最近两年在Android移动端使用越发的流行起来,但是学习成本稍高。

这一篇博客主要从一个简单的例子开始,设计一下内容:

  1. RxJava类库的导入
  2. RxJava小例子
  3. RxJava简单分析

1、RxJava类库的导入

Android开发中使用RxJava首先需要在gradle文件中导入类库

implementation 'io.reactivex.rxjava2:rxjava:2.0.1'implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'

2、RxJava小例子

Observable
observable = Observable.create(new ObservableOnSubscribe
() { @Override public void subscribe(ObservableEmitter
e) throws Exception { e.onNext("hello!"); e.onNext("world!"); e.onNext("are you ok!"); } }); Observer
observer = new Observer
() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(String value) { Log.d(TAG, "onNext " + value + ""); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }; /** * 测试rxjava测试 */ private void rxTest() { observable.subscribe(observer); }

 

结果:

09-12 19:35:45.920 30215-30215/hq.demo.net D/NewOkHttpFragment: onNext hello!09-12 19:35:45.920 30215-30215/hq.demo.net D/NewOkHttpFragment: onNext world!09-12 19:35:45.920 30215-30215/hq.demo.net D/NewOkHttpFragment: onNext are you ok!

 

或者采用链式调用

/**     * 测试rxjava测试链式调用     */    private void rxTestChain() {        Observable.create(new ObservableOnSubscribe
() { @Override public void subscribe(ObservableEmitter
e) throws Exception { e.onNext("hello!"); e.onNext("world!"); e.onNext("are you ok!"); } }).subscribe(new Observer
() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(String value) { Log.d(TAG, "onNext " + value + ""); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); }

 

3、RxJava简单分析

RxJava涉及几个角色:

1)Observable :被观察者

2)Observer:观察者

3)subscribe:订阅方法

4)事件

Observer通过subscribe与Observable关联,Observable 可以在其产生变化的时候发出事件来通知 Observer,其实就是使用了通用的观察者模式。

 

转载于:https://my.oschina.net/goboy/blog/2046369

你可能感兴趣的文章
ajax
查看>>
iOS Development Sites
查看>>
2018-2019-1 20165320 《信息安全系统设计基础》第四周学习总结
查看>>
Church 整数前驱的推导
查看>>
git push之后回滚(撤销)代码
查看>>
暑假练习赛 006 E Vanya and Label(数学)
查看>>
Toxophily
查看>>
C# 中的委托和事件(转)
查看>>
专业实训题目需求分析
查看>>
MyEclipse定位class文件
查看>>
Wireshark的过滤规则
查看>>
bzoj1592[Usaco2008 Feb]Making the Grade 路面修整*
查看>>
ios中PagedFlowView的用法
查看>>
pcl_view简单使用
查看>>
[数据安全] 一个简洁快速的去数据特征的混淆算法(obfuscate)
查看>>
Android开源框架:初识ButterKnife
查看>>
[待补充]面向接口编程,数据驱动编程
查看>>
bzoj1502: [NOI2005]月下柠檬树
查看>>
拓扑排序
查看>>
100道java基础面试题
查看>>