android得到restful api总是超时

时间:2013-06-03 06:53:22

标签: java android rest httpclient

我在开发Android应用时使用httpclient(apache)获取了一个非常好的API,就像

一样
HttpGet httpget = new HttpGet("http://9.123.151.73:4414/apiv1/data");
HttpResponse response = httpclient.execute(httpget);

和xml,我已设置权限:

`<uses-permission android:name="android.permission.INTERNET" />`

但它总是超时。

然后我尝试这些案例:

  1. 在浏览器中打开网址,它可以正常工作
  2. 使用相同的代码新建一个简单的java项目,它可以正常工作
  3. 将网址替换为其他其他API,例如: http://api.search.yahoo.co/NewsSearchService/V1/,正常工作
  4. 那么,你能不能就这个问题给我任何建议,我想知道为什么其他API不能在Android应用中使用,这是什么错误?

1 个答案:

答案 0 :(得分:0)

我相信这是因为没有设置权限来建立网络连接。以下是您需要添加到AndroidMainfest.xml文件以允许访问互联网的内容:

<manifest xlmns:android...>
 ...
 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>

以下是权限说明:

  

INTERNET 允许应用程序打开网络套接字。

您可以从链接中查看有关权限的更多信息:

如果您正在使用eclipse,以下是如何设置权限:

  

如果您正在使用Eclipse ADT插件进行开发,请打开   Android Manifest Editor中的“AndroidManifest.xml”(应该是   从项目文件中打开androidmanifest.xml的默认操作   列表),选择编辑器底部的“权限”选项卡   (清单 - 应用程序 - 权限 - 仪表 -   AndroidManifest.xml),然后“添加...”一个“使用权限”并选择   从右侧下拉列表中获得所需的权限,或者只是复制粘贴   在必要的一个(如“android.permission.INTERNET”)   您需要的许可

http://developer.android.com/reference/android/Manifest.permission.html