第10章综合示例设计与开发总结.ppt

* 11.3 程序开发 11.3.4 后台服务 GetWeatherData()函数首先根据指定的URL地址,从网络获取字节流数据,然后调用轻量级XML解析器XmlPullParser对天气数据进行解析,并将解析结果保存在Weather类的公有静态属性中 GetWeatherData()函数的代码如下 public static void GetWeatherData() throws IOException, Throwable { String queryString = /ig/api?weather= + Config.CityName; URL aURL = new URL(queryString.replace( , %20)); URLConnection conn = aURL.openConnection(); conn.connect(); InputStream is = conn.getInputStream(); XmlPullParserFactory factory = XmlPullParserFactory.newInstance() factory.setNamespaceAware(true); XmlPullParser parser = factory.newPullParser(); parser.setInput(is,UTF-8); 11.3 程序开发 11.3.4 后台服务 12. int dayCounter = 0; while(parser.next()!= XmlPullParser.END_DOCUMENT){ String element = parser.getName(); if (element != null element.equals(forecast_information)){ while(true){ int eventCode = parser.next(); element = parser.getName(); if (eventCode == XmlPullParser.START_TAG){ if (element.equals(city)){ Weather.city = parser.getAttributeValue(0); 23. }else if (element.equals(current_date_time)){ Weather.current_date_time = parser.getAttributeValue(0); 25 .} } 11.3 程序开发 11.3.4 后台服务 28. if (element.equals(forecast_information) eventCode == XmlPullParser.END_TAG){ break; } } } 11.3 程序开发 11.3.4 后台服务 if (element != null element.equals(current_conditions)){ while(true){ int eventCode = parser.next(); element = parser.getName(); if (eventCode == XmlPullParser.START_TAG){ if (element.equals(condition)){ Weather.current_con

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档