Rxjava 自学笔记(希望能帮到想学的小伙伴)在此感谢 jack 大神们的开源贡献精神

来源:互联网 发布:淘宝直播平台扶持 编辑:程序博客网 时间:2024/06/05 18:07
package com.jisi.keji.rxjavademo;import android.os.Bundle;import android.support.design.widget.FloatingActionButton;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Toast;import rx.Observable;import rx.Subscriber;import rx.functions.Action1;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolbar);        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);        fab.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                // getraxjavaMethod();                raxjavaSecondMethod();            }        });    }    private void raxjavaSecondMethod() {        Observable<String> myObservable = Observable.just("Hello, world!");        //Action1观察者的一个封装类        Action1<String> onNextAction = new Action1<String>() {            @Override            public void call(String s) {                Toast.makeText(getApplication(), "内容=" + s, Toast.LENGTH_SHORT).show();            }        };        //一下代码为上边代码的链式编程写法        myObservable.subscribe(onNextAction);        Observable.just("hello gsc!").subscribe(new Action1<String>() {            @Override            public void call(String s) {                Toast.makeText(getApplication(), "内容=" + s, Toast.LENGTH_SHORT).show();            }        });    }    //Rxjava 第一版hello    private void getraxjavaMethod() {        //创建一个被观察者        Observable<String> string = Observable.create(new Observable.OnSubscribe<String>() {            @Override            public void call(Subscriber<? super String> subscriber) {                  subscriber.onNext("Hello world!");                subscriber.onCompleted();            }        });        //创建一个订阅者(观察者)        Subscriber<String> sub=new Subscriber<String>() {            @Override            public void onCompleted() {            }            @Override            public void onError(Throwable e) {            }            @Override            public void onNext(String s) {                System.out.println("输入内容"+s);                Toast.makeText(getApplication(),"内容="+s,Toast.LENGTH_SHORT).show();            }        };        //重要一句话        string.subscribe(sub);//没有这句话无法两者关联        //如果订阅者(观察者)与被观察者没有关联不会弹出Toast    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.menu_main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        //noinspection SimplifiableIfStatement        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }}
4 0
原创粉丝点击