RxJava

Rxjava的随笔记录

2016-10-09  本文已影响57人  zzj丶

简单学习介绍rxjava的入门使用

添加依赖包

compile'io.reactivex:rxjava:1.0.9'5

compile'io.reactivex:rxandroid:0.24.0'

简单介绍

RxJava的强大之处,在于它提供了非常丰富且功能强悍的操作符,通过使用和组合这些操作符,可以完成想要的结果

通过欢迎界面介绍:

需求:app启动时显示一张图片(一般是app的logo),也就是我们所说的欢迎页,2-3秒后自动跳转到主页面。

通常我们所写代码如下

```

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_welcome);

ImageView view = (ImageView) findViewById(R.id.iv_welcome);

view.setImageResource(R.drawable.welcome);

Handler handler =newHandler();

handler.postDelayed(newRunnable() {

@Override

publicvoidrun() {

startActivity(newIntent(WelcomeActivity.this, MainActivity.class));

finish();

}

},2000);

```

rxjava代码如下:

rxJava最核心的两个东西是Observables(被观察者,事件源)和Subscribers(观察者)。Observables发出一系列事件,Subscribers处理这些事件。这里的事件可以是任何你感兴趣的东西(触摸事件,web接口调用返回的数据。。。)

一个Observable可以发出零个或者多个事件,知道结束或者出错。每发出一个事件,就会调用它的Subscriber的onNext方法,最后调用Subscriber.onNext()或者Subscriber.onError()结束。

Rxjava的看起来很想设计模式中的观察者模式,但是有一点明显不同,那就是如果一个Observerble没有任何的的Subscriber,那么这个Observable是不会发出任何事件的。

Observable和Subscriber可以做任何事情

Observable可以是一个数据库查询,Subscriber用来显示查询结果;Observable可以是屏幕上的点击事件,Subscriber用来响应点击事件;Observable可以是一个网络请求,Subscriber用来显示请求结果。

Observable和Subscriber是独立于中间的变换过程的。

在Observable和Subscriber中间可以增减任何数量的map。整个系统是高度可组合的,操作数据是一个很简单的过程。

上一篇下一篇

猜你喜欢

热点阅读