您的位置:首页 > 移动开发 > Android开发

RxAndroid使用入门记录

2016-04-07 22:49 357 查看
网上看到rxjava挺火的,而且同学也都在用它,所以自学一下

首先要弄明白rxjava干的是什么

rxjava解决的主要问题是代码的简洁性。当然在一开始的理解上会比较困难。我现在也是一知半解,所以就不忽悠大家了

大家可以先看这篇文章http://gank.io/post/560e15be2dca930e00da1083,对于理解上会有很大帮助

1、先添加依赖

compile 'io.reactivex:rxjava:1.0.14'
compile 'io.reactivex:rxandroid:1.0.1'
2、声明一个Subscriber。我个人理解是Subscriber是用于处理接收到消息,在Subscriber特定方法中实现页面上UI操作

private Subscriber<String> subscriber = new Subscriber<String>() {

@Override
public void onCompleted() {
Log.d(TAG, "onCompleted");
}

@Override
public void onError(Throwable e) {
e.printStackTrace();
Log.d(TAG, "onError");
}

@Override
public void onNext(String t) {
Log.d(TAG, "onNext:" + t);
// mHello.setText(t);
}
};

3、创建一个Observable。在Observable中调用Subscriber中的方法。Observable 即被观察者,它决定什么时候触发事件以及触发怎样的事件。 RxJava 使用 create() 方法来创建一个 Observable ,并为它定义事件触发规则。
Observable<String> stringObservable = Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {

String s = "ni hao";
subscriber.onNext(s);
subscriber.onCompleted();

}
});

4、将Subscriber注入Observable中
stringObservable.subscribeOn(Schedulers.io())//在非UI线程中执行getUser
.observeOn(AndroidSchedulers.mainThread())//在UI线程中执行结果
.subscribe(subscriber);

还需要好好深入了解观察者模式
贴出代码地址https://git.oschina.net/gxw2/RxJavaTest
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: