Rxjava学习项目

    xiaoxiao2021-03-25  100

    1.gradel添加:

    compile 'io.reactivex.rxjava2:rxjava:2.0.7' compile 'io.reactivex.rxjava2:rxandroid:2.0.1'

    2.activity_main.xml添加一个button:

    <Button android:id="@+id/buttonPanel" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="query"/>

    3.MainActivity.java

    public class MainActivity extends AppCompatActivity { private Button btnClick; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); InitView(); myOnclick(); } private void InitView(){ btnClick = (Button)findViewById(R.id.buttonPanel); tvShow = (TextView)findViewById(R.id.text_view); } 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("第一条"); e.onNext("第二条"); e.onNext("第三条"); e.onComplete(); } }); return observable; } public Observer<String> getObserver(){ Observer<String> observer = new Observer<String>() { @Override public void onSubscribe(Disposable d) { Log.e("LOG","onSubscribe"); } @Override public void onNext(String s) { Log.d("LOG",s); } @Override public void onError(Throwable e) { Log.e("LOG","onError"); } @Override public void onComplete() { Log.e("LOG","onComplete"); } }; return observer; } }
    转载请注明原文地址: https://ju.6miu.com/read-22974.html

    最新回复(0)