我想在数据库中输入一个条目。这是我正在使用的代码
String url = String.format("http://xxxxxxx/xxx/index.php?home=yes&pid=%s", pid);
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
try {
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String response = httpclient.execute(httppost, responseHandler);
Log.e("abc", response);
return response;
} catch (ClientProtocolException es)
{
Log.e("x" , es.getMessage());
return "";
} catch (IOException e)
{
Log.e("aasx" , e.getMessage());
return "";
}
此代码工作正常。现在当出现互联网连接问题时,代码仍然存在
httpclient.execute(httppost, responseHandler);
超过2分钟。
有没有什么方法可以检查几秒钟,如果没有resposne那么catch the exceptions
?
答案 0 :(得分:1)
您的问题类似于here。
您只需要为HttpClient设置超时,如答案所示。这可以通过将HttpParams对象传递给HttpClient构造函数来完成。
答案 1 :(得分:0)
我对Java并不太熟悉,但是在ActionScript 3中做类似的事情时,通常会有一个超时数,通常会在HTTP请求中停止尝试,以便在一定时间后停止尝试。对于应该快速返回的请求,我通常会将此设置为15-30秒。