client.execute在android中没有响应

时间:2015-02-18 11:28:42

标签: android

我尝试了所有可能的解决方案,但是当代码到达client.execute时应用程序崩溃,并且在异常情况下它只是跳转到捕获并正常结束但没有响应

 public static String getUrlResponse(String url) {
    try {
        HttpGet get = new HttpGet(url);
        HttpClient client = new DefaultHttpClient();
        HttpResponse response = client.execute(get);
        HttpEntity entity = response.getEntity();
        return convertStreamToString1(entity.getContent());
    } catch (Exception e) {
    }
    return null;
}

private static String convertStreamToString1(InputStream is) {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is),8 * 1024);
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    } catch (IOException e) {
    } finally {
        try {
            is.close();
        } catch (IOException e) {
        }
    }
    return sb.toString();
}

这是例外

02-18 15:43:13.246 1951-1951 / com.example.munawarhussain.alphacar E / AndroidRuntime:FATAL EXCEPTION:main     过程:com.example.munawarhussain.alphacar,PID:1951     java.lang.IllegalStateException:无法执行活动的方法

2 个答案:

答案 0 :(得分:1)

首先是你得到的异常,在catch块中打印出来,这样你就可以知道问题是什么了。

答案 1 :(得分:1)

谢谢@katmanco 不允许操作在主UI线程上,所以如果你在活动的主线程上执行此方法调用,则会出现错误,将您的方法取出到AsyncTask内部将解决问题。请参阅AsyncTask链接]开发人员。 android.com/reference/android/os/AsyncTask.html