工程需要依賴的包
compile 'com.jakewharton.rxbinding:rxbinding:0.4.0'
compile 'io.reactivex:rxjava:1.2.7'
compile 'io.reactivex:rxandroid:1.2.1'
代碼
private class LoginInfo {
private String token;
}
private class UserInfo {
private String userInfoJson;
}
Observable.just(1).flatMap(new Func1<Integer, Observable<LoginInfo>>() {
@Override
public Observable<LoginInfo> call(Integer integer) {
// 從網(wǎng)絡(luò)獲取數(shù)據(jù)
LoginInfo loginInfo = new LoginInfo();
return Observable.just(loginInfo);
}
}).flatMap(new Func1<LoginInfo, Observable<UserInfo>>() {
@Override
public Observable<UserInfo> call(LoginInfo loginInfo) {
// 從網(wǎng)絡(luò)獲取用戶信息,帶入token 啥的滔岳。声邦。
UserInfo userInfo = new UserInfo();
return Observable.just(userInfo);
}
}).observeOn(AndroidSchedulers.mainThread()) // 線程切換
.subscribeOn(Schedulers.io())
.subscribe(new Subscriber<UserInfo>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(UserInfo o) {
// 從網(wǎng)絡(luò)獲取到用戶數(shù)據(jù),本地保存谅畅,然后 do something
}
});
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者