我尝试了所有可能的解决方案,但是当代码到达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:无法执行活动的方法
答案 0 :(得分:1)
首先是你得到的异常,在catch块中打印出来,这样你就可以知道问题是什么了。
答案 1 :(得分:1)
谢谢@katmanco 不允许操作在主UI线程上,所以如果你在活动的主线程上执行此方法调用,则会出现错误,将您的方法取出到AsyncTask内部将解决问题。请参阅AsyncTask链接]开发人员。 android.com/reference/android/os/AsyncTask.html