Android中rxjava2的基本使用

来源:互联网 发布:安卓内核优化修改 编辑:程序博客网 时间:2024/05/17 21:46

  1.添加rx-java2的依赖库

    compile 'io.reactivex.rxjava2:rxjava:2.0.0-RC5'

    compile 'io.reactivex.rxjava2:rxandroid:2.0.0-RC1'

 2.核心代码

package android.test.zhh.com.rxjava2demo;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;import io.reactivex.Observable;import io.reactivex.ObservableEmitter;import io.reactivex.ObservableOnSubscribe;import io.reactivex.Observer;import io.reactivex.disposables.Disposable;public class MainActivity extends Activity {    private Button btnClick;    private TextView tvShow;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();        myOnclick();    }    /**     * 初始化控件     */    private void initView(){        btnClick = (Button)findViewById(R.id.btnClick);        tvShow = (TextView)findViewById(R.id.tvShow);    }    /**     *点击事件     */    private void myOnclick(){        btnClick.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {//              订阅//              拿到发送器对象                Observable<String> observable =getObservable();//              拿到接受者对象                Observer<String> observer=getObserver();//              把内容传到接受者当中                observable.subscribe(observer);            }        });    }    /**     * 消息发射器     */    public Observable<String> getObservable(){        Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {            @Override            public void subscribe(ObservableEmitter<String> e) throws Exception {                e.onNext("我是翟浩浩1");                e.onComplete();//              和onComplete互斥(调用onComplete,不在调用onComplete)            }        });        return observable;    }    /**     * 消息接受者     */    public Observer<String> getObserver(){        Observer<String>observer=new Observer<String>() {            @Override            public void onSubscribe(Disposable d) {                Log.e("111","onSubscribe");            }            @Override            public void onNext(String value) {                tvShow.setText(value);            }            @Override            public void onError(Throwable e) {                Log.e("111","onError");            }            @Override            public void onComplete() {               Log.e("111","onComplete");            }        };        return observer;    }}//class

 3.源码下载

   http://u.download.csdn.net/upload/success

4rxjava中文文档:
  https://github.com/mcxiaoke/RxDocs




0 0
原创粉丝点击