Я применяю XML-анализатор для использования XML-файла по этому URL-адресу: http://www.emmebistudio.com/markers.xml, чтобы сохранить данные маркеров для карты в приложении Android. Это мой код, который должен его разобрать, но с отладчиком eclipse я видел, что он возвращает connected = false во второй строке, так, где я ошибаюсь?Почему мой XML-анализатор не открывает соединение?
try{
URL url = new URL("http://www.emmebistudio.com/markers.xml");
URLConnection conn = url.openConnection();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new InputSource(url.openStream()));
doc.getDocumentElement().normalize();
//Document doc = builder.parse(conn.getInputStream());
NodeList markers = doc.getElementsByTagName("marker");
for (int i = 0; i < markers.getLength(); i++) {
Element item = (Element) markers.item(i);
String name = item.getAttribute("name");
String address = item.getAttribute("address");
String stringLat = item.getAttribute("lat");
String stringLong = item.getAttribute("long");
String icon = item.getAttribute("icon"); //assigned variable for the XML icon attribute
Double lat = Double.valueOf(stringLat);
Double lon = Double.valueOf(stringLong);
map = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMyLocationEnabled(true);
map.addMarker(new MarkerOptions()
.position(new LatLng(lat, lon))
.title(name)
.snippet(address));
}
}catch (Exception e){
// If I can't connect to the file I only see the map with my position
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMyLocationEnabled(true);
e.printStackTrace();
}
бежит, что фрагмент кода на UI тему? – Blackbelt
да, это только для того, чтобы попробовать .. если он будет работать гладко, я сделаю класс java –
Это на самом деле проблема. Вероятно, вы получаете NetworOnMainThreadException, но поскольку вы не печатаете стоп-трассу, трудно точно сказать, что происходит – Blackbelt