即时通讯使用异步http客户端,可在此处找到:http://loopj.com/android-async-http/
并且除了大约每10个请求中的大约1个我最终给我一个无限进度对话框,我认为无论出于什么原因都没有返回任何类型的响应,因为我已经编写代码来解除onSuccess中的对话框和onFailure所以我有点困惑如何发生这种情况.
这是我设置请求的代码:
public static voID post(String token,String url, RequestParams params, AsynchttpResponseHandler responseHandler) { Log.i(token,"token"); clIEnt.addheader("token", token); clIEnt.setTimeout(3000); clIEnt.post(url, params, responseHandler); }
这是我覆盖onSuccess和onFailure的地方:
@OverrIDe public voID onFailure(Throwable arg0, String arg1) { // Todo auto-generated method stub super.onFailure(arg0, arg1); pdialog.dismiss(); Log.i("Failed to login", arg1.toString()); Toast.makeText(getActivity(), arg1.toString() , Toast.LENGTH_LONG).show(); } @OverrIDe public voID onSuccess(final JsONObject Json) { pdialog.dismiss(); }
解决方法:
该库似乎正在执行您希望它执行的 *** 作,来自AsynchttpClIEnt类的setTimeout代码
public voID setTimeout(int timeout){ final httpParams httpParams = this.httpClIEnt.getParams(); ConnManagerParams.setTimeout(httpParams, timeout); httpconnectionParams.setSoTimeout(httpParams, timeout); httpconnectionParams.setConnectionTimeout(httpParams, timeout);}
如果它不起作用,那么最好报告问题here
总结以上是内存溢出为你收集整理的android – 在异步Http客户端上设置超时全部内容,希望文章能够帮你解决android – 在异步Http客户端上设置超时所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)