![](/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.