使用android从php webservice url获取xml

时间:2011-12-30 14:27:52

标签: android xml http-get

我想从服务网址读取xml,我写了代码,我的网址没问题,从浏览器中看到,

    public String getXML(){
    String line = null;
    try {
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpGet httpPost = new HttpGet("http://localhost/simplewebservice/index.php?user=1");

        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();
        line = EntityUtils.toString(httpEntity);
    } catch (Exception ex) {
        Log.d("Error reading xml", ex.toString());
    }
    return line;
}

但它给了我以下错误java.net.SocketException: Permission denied。 任何人都可以有更好的解决方案吗?

亲切的问候,

Pritom。

2 个答案:

答案 0 :(得分:4)

在manifest.xml中添加此描述

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

答案 1 :(得分:2)

我确信您使用的模拟器。

Andriod模拟器本身就是独立的虚拟机。如果我们提供localhost/127.0.0.1作为主机名,那么模拟器将尝试在其环境中搜索网址。为了避免这个问题,我们需要提供本地机器的ipaddress。

请注意,机器名称作为主机名也会产生问题。

127.0.0.1 refers to localhost in the Emulator, not your machine.

Use 10.0.2.2 to connect to your host machine.