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;
}
}