我有下面的代碼,如果沒有連接到互聯網擊中catch,但崩潰與主題中的錯誤的應用程序。有沒有一種優雅的方式來檢測連接正在進行或者忽略這一點?Android unknownhostexception
try {
GeoPoint center = myMapView.getMapCenter();
double minLat = (double) (center.getLatitudeE6() - (myMapView
.getLatitudeSpan()/2))/1E6;
double maxLat = (double) (center.getLatitudeE6() + (myMapView
.getLatitudeSpan()/2))/1E6;
double minLng = (double) (center.getLongitudeE6() - (myMapView
.getLongitudeSpan()/2))/1E6;
double maxLng = (double) (center.getLongitudeE6() + (myMapView
.getLongitudeSpan()/2))/1E6;
/* Create a URL we want to load some xml-data from. */
URL url = new URL(
"http://www.test.com/feed.asp?maxlat="
+ Double.toString(maxLat) + "&maxlon="
+ Double.toString(maxLng) + "&minlat="
+ Double.toString(minLat) + "&minlon="
+ Double.toString(minLng));
/* Get a SAXParser from the SAXPArserFactory. */
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
/* Get the XMLReader of the SAXParser we created. */
XMLReader xr = sp.getXMLReader();
/* Create a new ContentHandler and apply it to the XML-Reader */
XMLHandler myXMLHandler = new XMLHandler();
xr.setContentHandler(myXMLHandler);
/* Parse the xml-data from our URL. */
xr.parse(new InputSource(url.openStream()));
/* Parsing has finished. */
/* Our ExampleHandler now provides the parsed data to us. */
/*
* ParsedExampleDataSet parsedExampleDataSet =
* myExampleHandler.getParsedData();
*/
ArrayList<Ship> shipArray = myXMLHandler.getShipArray();
ArrayList<pfOverlayItem> overArray = myXMLHandler.getOverlayArray();
mainOverlayArray = overArray;
pfOverlayItem tempOver = null;
Drawable marker = null;
for (int i = 0; i < mainOverlayArray.size(); i++) {
tempOver = mainOverlayArray.get(i);
// tempOver.setMarker(getIcon(tempOver.getshipTypeInt()));
tempOver.setMarker(getPlaneIcon(tempOver.getcourse()));
}
sites = new SitesOverlay();
} catch (Exception e) {
/* Display any Error to the GUI. */
Log.e("Error", "Problem processing XML", e);
}
有任何例子嗎? – 2010-08-23 21:24:43