Android 请求后,改装2未收到响应
我正在将改型2 whit OkHttpClient应用到我的Android应用程序中。这是一个邮寄请求 请求必须是同步的Android 请求后,改装2未收到响应,android,http,post,retrofit2,Android,Http,Post,Retrofit2,我正在将改型2 whit OkHttpClient应用到我的Android应用程序中。这是一个邮寄请求 请求必须是同步的 This is the code: ResultObject<Integer, List<OrderResult>> resultcall = restclient.getApiService().createUpdateOrders(companyId,
This is the code:
ResultObject<Integer, List<OrderResult>> resultcall =
restclient.getApiService().createUpdateOrders(companyId,
orderList).execute().body();
请,有什么建议吗???您可以这样做,而不是执行调用
call.enqueue(new Callback<List<OrderResult>>() {
@Override
public void onResponse(Call<List<OrderResult>> call, Response<List<OrderResult>> response) {
// do something
}
@Override
public void onFailure(Call<List<OrderResult>> call, Throwable t) {
Log.e("call failed", t.toString());
Toast.makeText(getApplicationContext(), "call faild ", Toast.LENGTH_LONG).show();
}
});
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
//做点什么
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
Log.e(“调用失败”,t.toString());
Toast.makeText(getApplicationContext(),“调用失败”,Toast.LENGTH_LONG.show();
}
});
只需更正响应并发送类型,我没有关注它Ok。所以你认为我可以把错误带入“失败”中?但是如果我想执行同步请求,我应该怎么做?我没有这样做,但我认为这不是一个好方法,因为获取响应可能需要一些时间,如果锁定UI线程超过5秒,您将得到一个ANR错误。我只是将其改为异步模式,问题仍然存在,有其他建议吗??请求大于10秒,onFailure抛出
06-08 11:36:03.219 24584 25168 D OkHttp : --> POST http://93.90.20.171:8080/tpv/rest/order/create?companyId=1 http/1.1
06-08 11:36:03.219 24584 25168 D OkHttp : Content-Type: application/json; charset=UTF-8
06-08 11:36:03.219 24584 25168 D OkHttp : Content-Length: 604
06-08 11:36:03.219 24584 25168 D OkHttp : Connection:
06-08 11:36:03.219 24584 25168 D OkHttp : --> END POST
06-08 11:36:10.089 24584 24584 V ActivityThread: updateVisibility : ActivityRecord{6082a59 token=android.os.BinderProxy@463ef68 {com.six.and.cbo/com.six.and.cbo.OrdercomunnicationTabWidget}} show : true
06-08 11:36:16.343 24584 24584 D ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=2
06-08 11:37:11.634 24584 24584 I ORDERLISTVIEW: --> OnResume
call.enqueue(new Callback<List<OrderResult>>() {
@Override
public void onResponse(Call<List<OrderResult>> call, Response<List<OrderResult>> response) {
// do something
}
@Override
public void onFailure(Call<List<OrderResult>> call, Throwable t) {
Log.e("call failed", t.toString());
Toast.makeText(getApplicationContext(), "call faild ", Toast.LENGTH_LONG).show();
}
});