Я разбираю XML файл.
Один из методов приведен ниже:
public static String getXML(){
String line = null;
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://p-xr.com/xml/");
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
line = EntityUtils.toString(httpEntity);
} catch (UnsupportedEncodingException e) {
line = "<results status=\"error\"><msg>Can't connect to server</msg></results>";
} catch (MalformedURLException e) {
line = "<results status=\"error\"><msg>Can't connect to server</msg></results>";
} catch (IOException e) {
line = "<results status=\"error\"><msg>Can't connect to server</msg></results>";
}
return line;
}
Здесь я хочу заменить
HttpPost httpPost = new HttpPost("http://p-xr.com/xml/");
от
HttpPost httpPost = new HttpPost("http://127.0.0.1/myfile.xml");
Поскольку я могу просматривать http://127.0.0.1/myfile.xml
в своем браузере. Но когда я пишу этот адрес в код выше, он работает. Зачем? Мой проект требует, чтобы http-метод имел доступ к файлу xml.
В этом случае используйте 10.0.2.2, проверьте сеть эмуляторов.
В эмуляторе localhost - это сам эмулятор, а не ваша система, запускающая эмулятор. Так что это не сработает.
Вместо этого используйте 10.0.2.2.
Если вы хотите сделать это с помощью устройства Android:
Вы можете узнать IP-адрес своего компьютера, используя ifconfig
на Mac или Linux или ipconfig
в Windows.
Затем вы можете заменить p -xr.com/127.0.0.1 на этот IP-адрес.
Вам нужно убедиться, что на вашем компьютере не установлен брандмауэр, и если это так, вам нужно разрешить доступ к вашему устройству Android, чтобы связаться с вашим местным HTTP-сервером.
В эмуляторе есть некоторые специально определенные псевдонимы адресов, используемые для доступа к сетям вне самого эмулятора.
Для доступа к локальному хосту в системе, на которой запущен эмулятор (то есть хост-система), используйте 10.0.2.2
Ссылка здесь:
http://developer.android.com/guide/developing/devices/emulator.html#emulatornetworking
http://10.0.2.2/myfile.xml
наhttp://p-xr.com/xml/
никакая сила закрытия не появляется. Спасибо!