1
我決定在我的項目中使用Retrofit 2.0 + RxJava。 主要問題是我不完全理解它應該如何。使用Retrofit + RxJava在請求之間進行數據傳輸
首先,所有請求都發送到我的服務器API,並且每個請求都必須具有accessToken。
比如我想用我的API讓所有的書:
1.Send要求得到的accessToken要求
用的accessToken值2.註冊回覆
3.插入此值getBookRequest
4.發送getBookRequest,然後得到與JSONArray圖書的回覆
問題是我該如何做到這一點?
現在我有隻得到accessTokenValue方法:
public void accessToken() {
ApiMethods methods = ApiFactory.connect();
methods.getAccess(MAIN_URL + ACCESS_URL)
.timeout(15, TimeUnit.SECONDS)
.retry(3)
.subscribeOn(Schedulers.newThread())
.map(new Func1<List<GetAccess>, AccessToken>() {
@NonNull
@Override
public AccessToken call(List<GetAccess> getAccesses) {
double xA = (double) getAccesses.get(0).A;
double xB = (double) getAccesses.get(0).B;
double xC = (double) getAccesses.get(0).C;
passDouble = //...SOME MANIPULATING WITH VALUES...//
id = getAccesses.get(0).ID;
AccessToken token = new AccessToken();
token.setId(String.valueOf(id));
token.setToken(String.valueOf(passDouble));
token.setIsCompleted(true);
return token;
}
})
.onErrorReturn(new Func1<Throwable, AccessToken>() {
@Override
public AccessToken call(Throwable throwable) {
return new AccessToken(String.valueOf(id), String.valueOf(passDouble), false);
}
})
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<AccessToken>() {
@Override
public void call(AccessToken accessToken) {
//EventBus.getDefault().post(accessToken);
}
});
}
我應該用Observable.zip還是其他什麼東西?用第一個請求的值實現對我的服務器的第二個請求的更好方法是什麼?
非常感謝,這正是我所需要的,代碼很棒! – Ololoking