Java 从android应用程序响应时间向服务器发送php查询

Java 从android应用程序响应时间向服务器发送php查询,java,php,android,eclipse,http,Java,Php,Android,Eclipse,Http,我正试图在数据库中输入一个条目。这是我正在使用的代码 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 = n

我正试图在数据库中输入一个条目。这是我正在使用的代码

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 "";
        }
String url=String.format(“http://xxxxxxx/xxx/index.php?home=yes&pid=%s“,pid);
//创建一个新的HttpClient和Post头
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(url);
试一试{
ResponseHandler ResponseHandler=新BasicResponseHandler();
String response=httpclient.execute(httppost,responseHandler);
Log.e(“abc”,答复);
返回响应;
}捕获(客户端协议例外)
{   
Log.e(“x”,es.getMessage());
返回“”;
}捕获(IOE异常)
{
Log.e(“aasx”,e.getMessage());
返回“”;
}
这段代码运行良好。现在,当出现internet连接问题时,代码卡在
httpclient.execute(httppost,responseHandler)超过2分钟


有没有什么方法可以让它只检查几秒钟,如果没有响应,那么
捕获异常

我对Java不太熟悉,但是在Actionscript 3中执行类似操作时,通常可以在HTTP请求上设置一个超时值,在一定时间后停止尝试。对于应该快速返回的请求,我通常将其设置为15-30秒。

您的问题与前面的问题类似

您只需要为HttpClient设置一个超时,如答案所示。这可以通过将HttpParams对象传递给HttpClient构造函数来完成