![](/img/trans.png)
[英]http/1.1 406 not acceptable on android app sendind data via json
[英]Sendind http json request from AsyncTask
這是一個了解我的問題的小例子:
public class InitSettings_Task extends AsyncTask<Void, Void, Integer> {
@Override
protected Integer doInBackground(Void... params) {
request1result = request1;
if (request1result) {
result = httprequest2;
} else {
result = httprequest3;
}
return result;
}
@Override
protected void onPostExecute(Integer result) {
//do something with result
}
}
我知道Volley是一個超級庫,但是在這里我不能使用它,因為我的AsyncTask可以在我收到第一個請求的答案之前結束。
有人可以幫助我了解針對此邏輯發送http請求的最佳樣式是什么?
在我將Volley與Sleep()結合使用來等待答案之前,但是從我的角度來看,這不是最好的解決方案
聽起來您正在嘗試執行此操作-
public class InitSettings_Task1 extends AsyncTask<Void, Void, Integer> {
@Override
protected Integer doInBackground(Void... params) {
request1result = request1;
return result;
}
@Override
protected void onPostExecute(Integer result) {
//do something with result
if (request1result) {
result = new InitSettings_Task2().execute(httprequest2);
} else {
result = new InitSettings_Task2().execute(httprequest3);
}
}
}
public class InitSettings_Task2 extends AsyncTask<Void, Void, Integer> {
@Override
protected Integer doInBackground(Void... params) {
return result;
}
@Override
protected void onPostExecute(Integer result) {
//do what you want with result ?
}
}
但是我建議你不要這樣做。 最好使用更適合這種情況的RxJava甚至EventBus之類的框架來做到這一點。
我已經用OkHTTP庫實現了它。 感謝“ Selvin”的正確指導)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.