用RxJava写的一个Android的小Demo

2 篇文章 0 订阅

之前在微博看到有关RxJava的内容,知道在Android开发中变得越来越流行了,所以找了相关的博客来看看。其实有初略地看了一点,但是感觉比较难理解,还是先写一个小Demo来熟悉一下。

关于RxJava的有关介绍可以看看这个博客http://blog.csdn.net/lzyzsd/article/details/41833541

下面是我摘录的一些有关于RxJava的介绍:RxJava最核心的两个东西是Observable(被观察者,事件源)和Subscribers(观察者)。Observable发出一系列的事件,Subscribers处理这些事件,但是subscriber要订阅对observable进行订阅。

一个Observable可以发出一个或者多个事件,直到结束或者出错。每发出一个事件,他会调用他的Subscriber的OnNext()的方法,最后调用Subscriber.OnComplete()或者Subscriber.OnError()作为结束。

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

接下来便是我写的一个和弱智的HelloWorld的小Demo了,虽然很弱智,就是用TextView输出Observable发出来的字符串,但是还是把整个过程给理解了。

先是在build.gradle中引入依赖

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    //下面两个即为引入的依赖
    compile 'io.reactivex:rxjava:1.0.9'
    compile 'io.reactivex:rxandroid:0.24.0'
}

映入依赖后就可以愉快地编写代码了,首先先创建Observable对象


 //Observable部分,被观察者部分
 Observable<String> myObservable=Observable.create(new
                Observable.OnSubscribe<String>(){

 @Override
       public void call(Subscriber<? super String> subscriber) {
                        subscriber.onNext("John");
                        subscriber.onCompleted();
                    }
                });

然后创建Subscriber对象响应Observable所发出的事件。上面的Observable所发出的事件为John。

//Subscriber部分,观察者部分
        Subscriber<String> mySubscriber=new Subscriber<String>() {
            @Override
            public void onCompleted() {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(String s) {
               textView.setText(s);
            }
        };

最重要的是,将Observable和Subscriber相关联,即完成subscriber和observable的订阅

//将观察者和被观察者相关联,完成subscriber对observable的订阅
        myObservable.subscribe(mySubscriber);

用手机对Android程序进行调试 输出John

即完成了HelloWorld的Rxjava的小Demo。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值