RxAndroid的使用方式1-基础

RxAndroid的使用方式

RxAndroid是RxJava的扩展, 可以优雅地处理异步请求. 以前的文章讲述过一些, 这次再补充些内容, 熟悉RxAndroid的使用方法.

对应github的网址

https://github.com/ReactiveX/RxJava
https://github.com/ReactiveX/RxAndroid
https://github.com/JakeWharton/butterknife
https://github.com/evant/gradle-retrolambda

添加Gradle配置
在app下的build.gradle如下:

{% highlight null %}
apply plugin: ‘android-apt’

android {

}

dependencies {
compile ‘io.reactivex:rxandroid:1.2.1’
compile ‘io.reactivex:rxjava:1.1.6’
compile ‘com.jakewharton:butterknife:8.2.1’
apt ‘com.jakewharton:butterknife-compiler:8.2.1’
}

{% endhighlight %}
在根目录下的build.gradle如下:
{% highlight null %}
buildscript {
repositories {
jcenter()
}
dependencies {
classpath ‘com.android.tools.build:gradle:2.1.0’
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’
}
}
{% endhighlight %}

1.SimpleActivity

先定义全局变量
{% highlight java %}

Observable.OnSubscribe<String> mOnSubscribe;//观察者
Subscriber<String> mSubscriber1;//订阅者
Subscriber<String> mSubscriber2;
//ButterKnife控件查找
@BindView(R.id.textView)
TextView mTvText;

{% endhighlight %}
首先要绑定nutterknife,然后初始化对应观察者和订阅者,最后绑定到一起
{% highlight java %}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_simple);

    ButterKnife.bind(this);
    initObservable();
    initSubscriber1();
    initSubscriber2();
    bindinit();
}

{% endhighlight %}
初始化的代码如下:创建一个观察者, 收到字符串的返回。创建两个订阅者, 使用字符串输出信息。
{% highlight java %}
private void initObservable(){
mOnSubscribe = new Observable.OnSubscribe() {
@Override public void call(Subscriber

展开阅读全文

没有更多推荐了,返回首页