我们正在eclipse中开发一个Android应用程序。我们的计算机上有一个Web服务,应用程序从中获取数据。
在索尼Xperia Z1移动设备的调试过程中,调试器表现得很奇怪。它会跳过行,并在输入第一个命令后在try / catch语句中直接转到最后。
代码在
之下 1 // Make the request.
> 2 CloseableHttpResponse httpResponse = null;
3 try {
> 4 httpResponse = httpClient.execute(httpPost, context);
5 // Set status.
> 6 response.setStatus(httpResponse.getStatusLine().getStatusCode());
7 // Read the body.
> 8 response.setBody(EntityUtils.toString(httpResponse.getEntity(), "UTF-8"));
9 // Get the cookies.
10 response.setCookieList(context.getCookieStore().getCookies());
11 } catch (IOException ex) {
12 // logger.error("", ex);
13 } finally {
> 14 if (httpResponse != null) {
15 try {
16 httpResponse.close();
17 httpClient.close();
18 } catch (IOException ex) {
19 }
20 }
21 }
从第2个断点开始,第4个断开,然后转到第14行。我们尝试了两个" Step Into"和"跳过"并点击恢复按钮,但我们得到相同的结果。
我们清理了项目并重新构建了它。创建了一个新项目并再次编写代码。从手机上卸载/安装应用程序。
我们如何解决这个问题?
答案 0 :(得分:0)
问题是在android清单文件中没有任何声明该应用程序使用互联网,因此移动设备拒绝了http请求。
我们在AndroidManifest.xml中添加了以下行:
<uses-permission android:name="android.permission.INTERNET" />
一定不要忘记,对于Android应用程序,声明在android清单中需要哪些服务至关重要。
在此处找到上面的代码:What permission do I need to access Internet from an android application?