1
0
mirror of https://github.com/yexuejc/rrxjava.git synced 2025-06-07 21:54:03 +08:00
rrxjava/.svn/pristine/62/62985442181c3a68b9da588df0b69f7ca7a7f0fb.svn-base
2017-07-07 15:50:45 +08:00

94 lines
3.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.yexue.android.rrxjava;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import rx.Observable;
import rx.Subscriber;
import rx.functions.Action0;
import rx.functions.Action1;
public class ActionActivity extends AppCompatActivity {
private static String log = "ActionActivityLOG";
Button action_btn1, action_btn2, action_btn3;
Observable<String> observable;
Action0 onCompletedAction;
Action1<Throwable> onErrorAction;
Action1<String> onNextAction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_action);
action_btn1 = (Button) findViewById(R.id.action_btn1);
action_btn2 = (Button) findViewById(R.id.action_btn2);
action_btn3 = (Button) findViewById(R.id.action_btn3);
method1();
action_btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 自动创建 Subscriber ,并使用 onNextAction 来定义 onNext()
observable.subscribe(onNextAction);
}
});
action_btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 自动创建 Subscriber ,并使用 onNextAction 和 onErrorAction 来定义 onNext() 和 onError()
observable.subscribe(onNextAction, onErrorAction);
}
});
action_btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 自动创建 Subscriber ,并使用 onNextAction、 onErrorAction 和 onCompletedAction 来定义 onNext()、 onError() 和 onCompleted()
observable.subscribe(onNextAction, onErrorAction, onCompletedAction);
}
});
}
/**
* 除了 subscribe(Observer) 和 subscribe(Subscriber)
* subscribe() 还支持不完整定义的回调RxJava 会自动根据定义创建出 Subscriber 。形式如下:
*/
private void method1() {
//onNext
onNextAction = new Action1<String>() {
@Override
public void call(String s) {
Log.d(log, s);
}
};
//onError
onErrorAction = new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
Log.d(log, throwable.getMessage());
}
};
//onCompleted
onCompletedAction = new Action0() {
@Override
public void call() {
Log.d(log, "onCompletedAction");
}
};
observable = Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
subscriber.onNext("he");
subscriber.onCompleted();
//TODO 未执行onErrorAction原因未知
int a[] = {1, 3, 5, 6, 5, 4, 54, 8, 4};
Log.d(log, a[100] + "");
}
});
}
}