这次 尝试下新的rxJava写法,后续慢慢补充:
1.不完全observer订阅 代码如下:
/**
* 重新延迟读卡Observable
*/
private Observable observableReadCard = Observable.create(new Observable.OnSubscribe<Integer>() {
@Override
public void call(Subscriber<? super Integer> subscriber) {
IMateManager.getInstance(mContext).peripheralcancel();
subscriber.onNext(readType);
}
});
/**
* 不完全observer
*/
Action1<Integer> actionReadCard = new Action1<Integer>() {
@Override
public void call(Integer type) {
if (type == READ_CT_CARD) {
reInitCTCard();
} else {
reInitCard();
}
}
};
/**
* 重新读卡
*
* @param type 刷卡类型
*/
public void reReadCard(int type) {
readType = type;
observableReadCard.delay(1, TimeUnit.SECONDS)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
// .subscribe(observerReadCard);
.subscribe(actionReadCard);
}
看到没 ,这样也是可以的,没有用observer,而是自定义一个 action,然后 subscribe一下就好了 哈哈!
牛叉吧,好了 你已经练会乾坤大挪移第二层了。