Android Rxjava2基础

加入Rxjava包
implementation 'io.reactivex:rxandroid:1.2.1'
implementation 'io.reactivex:rxjava:1.2.1'
public class MainActivity extends AppCompatActivity {

    @BindView(R.id.text_tv)
    TextView textTv;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);

        //第一步创建被观察者
        Observable myObservable = Observable.create(new Observable.OnSubscribe<String>() {
            @Override
            public void call(Subscriber<? super String> subscriber) {
                subscriber.onNext("2018添加数据");
                subscriber.onCompleted();

            }
        });
        //创建观察者
        Subscriber subscriber = new Subscriber<String>() {
            @Override
            public void onCompleted() {
                Log.i("Log_","onCompleted");

            }

            @Override
            public void onError(Throwable e) {
                Log.i("Log_","onError");

            }

            @Override
            public void onNext(String str) {
                textTv.setText(str);

            }
        };
        //订阅者
        myObservable.subscribe(subscriber);


    }


}

布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
    android:id="@+id/text_tv"
    android:layout_width="match_parent"
    android:layout_height="122dp"
     android:textSize="18sp"
    android:gravity="center"/>


</LinearLayout>

模拟器显示数据

猜你喜欢

转载自blog.csdn.net/yineng7758258/article/details/85323977