RxJava入门实践②

HonClaypool 8年前
   <p>最近大家都在学习RXJAVA,作为有理想(mei shi gan)的程序员,RxJava还是沈有必要学习下的。</p>    <p>RXJAVA地址:<a href="/misc/goto?guid=4958865750209621132">https://github.com/ReactiveX/RxJava</a></p>    <p><a href="http://www.open-open.com/lib/view/open1460527305158.html">0.什么是观察者模式</a></p>    <p><a href="http://www.open-open.com/lib/view/open1460527305158.html">1.RXJAVA是什么</a></p>    <p>2.最简单的DEMO</p>    <p>3.SCHEDULER线程控制</p>    <p>4.操作符</p>    <p>5.初见RETROFIT </p>    <p> </p>    <h2>2.最简单的DEMO</h2>    <p>在RXJava中的使用需要满足一下几个步骤。</p>    <ul>     <li>创建:Rx可以方便的创建事件流和数据流</li>     <li>组合:Rx使用查询式的操作符组合和变换数据流</li>     <li>监听:Rx可以订阅任何可观察的数据流并执行操作</li>    </ul>    <p>是不是感觉这就是观察者模式啊,没办法,就像前面提到的(<a href="http://www.open-open.com/lib/view/open1460527305158.html">0.什么是观察者模式</a>)因为RxJava就是基于观察者模式的啊。</p>    <p>下面我们使用Rxjava打印一段字符串。</p>    <p><strong>创建</strong></p>    <p>被观察者:</p>    <p>首先是被观察的对象,在RxJava中使用“Observable”来表示</p>    <pre>  Observable observable = Observable.create(new Observable.OnSubscribe<String>() {      @Override      public void call(Subscriber<? super String> subscriber) {          subscriber.onNext("this is a simple Demo");          subscriber.onCompleted();      }  });</pre>    <p>使用Observable的create()方法可以很轻松的创建一个Observable对象。</p>    <p>观察者:</p>    <p>观察者就是需要来进行观察的人,在RxJava中使用“Subscriber”或者”Observer“来表示。</p>    <pre>  Subscriber<String> subscriber = new Subscriber<String>() {      @Override      public void onCompleted() {          Toast.makeText(MainActivity.this, "success", Toast.LENGTH_SHORT).show();      }        @Override      public void onError(Throwable e) {          Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();        }        @Override      public void onNext(String s) {          Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();        }  };</pre>    <p>其中的</p>    <p>onCompleted()方法是方法完成时的回调</p>    <p>onNext()成功的回调</p>    <p>在该方法中接受传递到subscriber 中的参数并做相应的处理,当然传递来的参数 可以在传递到subscriber之前做相应的处理如过滤、变换等。</p>    <p>本例子就直接将传递来的字符串打印出来。</p>    <p>onError()失败的回调</p>    <p><strong>组合:</strong></p>    <p>Rxjava中的变换牵扯到各种复杂的操作符和各种各样的变换操作,在本例子当中不进行操作,在以后的例子中会进行具体的说明。</p>    <p><strong>监听:</strong></p>    <p>在RXJava中订阅采取的是被订阅对象订阅订阅者的方式进行订阅的(流式api原则)。</p>    <pre>  observable.subscribe(subscriber);</pre>    <p>或者</p>    <p> </p>    <pre>  observable.subscribe(observer);</pre>    <p>完成好以上操作,运行程序,你就会发现程序界面上先显示this is a simple Demo,后显示success了</p>    <p>那么恭喜,你已经成功入门Rxjava了。</p>    <p> </p>    <p>来自: <a href="/misc/goto?guid=4959670725731678188" rel="nofollow">http://blog.flyou.ren/?p=268</a></p>