Last active
December 17, 2015 15:39
-
-
Save taywils/5633166 to your computer and use it in GitHub Desktop.
QueryGooglePlaces onPostExecute method
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
protected void onPostExecute(String result) { | |
super.onPostExecute(result); | |
try { | |
Document xmlResult = loadXMLFromString(result); | |
NodeList nodeList = xmlResult.getElementsByTagName("result"); | |
for(int i = 0, length = nodeList.getLength(); i < length; i++) { | |
Node node = nodeList.item(i); | |
if(node.getNodeType() == Node.ELEMENT_NODE) { | |
Element nodeElement = (Element) node; | |
Place place = new Place(); | |
Node name = nodeElement.getElementsByTagName("name").item(0); | |
Node vicinity = nodeElement.getElementsByTagName("vicinity").item(0); | |
Node rating = nodeElement.getElementsByTagName("rating").item(0); | |
Node reference = nodeElement.getElementsByTagName("reference").item(0); | |
Node id = nodeElement.getElementsByTagName("id").item(0); | |
Node geometryElement = nodeElement.getElementsByTagName("geometry").item(0); | |
NodeList locationElement = geometryElement.getChildNodes(); | |
Element latLngElem = (Element) locationElement.item(1); | |
Node lat = latLngElem.getElementsByTagName("lat").item(0); | |
Node lng = latLngElem.getElementsByTagName("lng").item(0); | |
float[] geometry = {Float.valueOf(lat.getTextContent()), | |
Float.valueOf(lng.getTextContent())}; | |
int typeCount = nodeElement.getElementsByTagName("type").getLength(); | |
String[] types = new String[typeCount]; | |
for(int j = 0; j < typeCount; j++) { | |
types[j] = nodeElement.getElementsByTagName("type").item(j).getTextContent(); | |
} | |
place.setVicinity(vicinity.getTextContent()); | |
place.setId(id.getTextContent()); | |
place.setName(name.getTextContent()); | |
if(null == rating) { | |
place.setRating(0.0f); | |
} else { | |
place.setRating(Float.valueOf(rating.getTextContent())); | |
} | |
place.setReference(reference.getTextContent()); | |
place.setGeometry(geometry); | |
place.setTypes(types); | |
places.add(place); | |
} | |
} | |
PlaceAdapter placeAdapter = new PlaceAdapter(HttpTestActivity.this, R.layout.httptestrow, places); | |
listView = (ListView)findViewById(R.id.httptestlist_listview); | |
listView.setAdapter(placeAdapter); | |
} catch (Exception e) { | |
Log.e("ERROR", e.getMessage()); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment