RxJava2.0的创建

来源:互联网 发布:苹果电脑允许安装软件 编辑:程序博客网 时间:2024/05/18 02:08
依赖:
compile 'com.squareup.retrofit2:retrofit:2.1.0'compile 'com.squareup.retrofit2:converter-gson:2.1.0'
代码文件
package com.example.rxjava20;import android.support.annotation.NonNull;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.Toast;import org.reactivestreams.Subscriber;import org.reactivestreams.Subscription;import io.reactivex.Flowable;import io.reactivex.Observable;import io.reactivex.Observer;import io.reactivex.disposables.Disposable;import io.reactivex.functions.Function;public class MainActivity extends AppCompatActivity implements View.OnClickListener {    private Button btn_conflict_01;    private Button btn_conflict_02;    private Button btn_conflict_03;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btn_conflict_01 = (Button) findViewById(R.id.btn_conflict_01);        btn_conflict_02 = (Button) findViewById(R.id.btn_conflict_02);        btn_conflict_03 = (Button) findViewById(R.id.btn_conflict_03);        btn_conflict_01.setOnClickListener(this);        btn_conflict_02.setOnClickListener(this);        btn_conflict_03.setOnClickListener(this);    }    @Override    public void onClick(View view) {        switch (view.getId()){            case R.id.btn_conflict_01:                //Observable的观察者是Observer                Observable.just(1,2,3,4)                        .subscribe(new Observer<Integer>() {                            @Override                            public void onSubscribe(Disposable d) {                            }                            @Override                            public void onNext(Integer value) {                                Toast.makeText(MainActivity.this,value+"",Toast.LENGTH_SHORT).show();                            }                            @Override                            public void onError(Throwable e) {                            }                            @Override                            public void onComplete() {                            }                        });                break;            case R.id.btn_conflict_02:                //Flowable的观察者是Subscriber                Flowable.just(1,2,3,4)                        .subscribe(new Subscriber<Integer>() {                            @Override                            public void onSubscribe(Subscription s) {                            }                            @Override                            public void onNext(Integer integer) {                                Toast.makeText(MainActivity.this,integer+"",Toast.LENGTH_SHORT).show();                            }                            @Override                            public void onError(Throwable t) {                            }                            @Override                            public void onComplete() {                            }                        });                break;            case R.id.btn_conflict_03:                Observable.just(1, 2, 3, 4)                        // 没有Func1,Func0                        .map(new Function<Integer, String>() {                            @Override                            public String apply(Integer integer) throws Exception {                                return String.valueOf(integer);                            }                        });                break;        }    }}