package com.xmobileapp.android.weatherforecast; import java.io.StringBufferInputStream; import java.util.HashMap; import java.util.Map; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.InputSource; import org.xml.sax.XMLReader; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.sax.Element; import android.sax.EndTextElementListener; import android.sax.RootElement; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.TextView; import com.xmobileapp.android.weatherforecast.meta.CityWeather; import com.xmobileapp.android.weatherforecast.meta.Constant; import com.xmobileapp.android.weatherforecast.transport.WebServiceCaller; public class WeatherResult extends Activity { private CityWeather cityWeather; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.result); TextView tv = (TextView) this.findViewById(R.id.resultText); cityWeather = new CityWeather(); final StringBuffer sb = new StringBuffer(); Intent queryIntent = getIntent(); String cityName = queryIntent.getStringExtra("CityName"); // String countryName = queryIntent.getStringExtra("CountryName"); Map map = new HashMap(); map.put("CityName", cityName); map.put("CountryName", "China"); String xmlStr = WebServiceCaller.doCallWebService( Constant.SOAP_ACTION2, Constant.METHOD_NAME2, map); // Log.d("xmlStr", xmlStr); RootElement root = new RootElement("CurrentWeather"); Element entry = root.getChild("Location"); entry.setEndTextElementListener(new EndTextElementListener() { public void end(String body) { System.out.println("prop: " + body); cityWeather.setLocation(body); sb.append("位置:" + body + "\n"); } }); Element entry2 = root.getChild("Time"); entry2.setEndTextElementListener(new EndTextElementListener() { public void end(String body) { System.out.println("prop: " + body); cityWeather.setTime(body); sb.append("时间:" + body + "\n"); } }); Element entry3 = root.getChild("Wind"); entry3.setEndTextElementListener(new EndTextElementListener() { public void end(String body) { System.out.println("prop: " + body); cityWeather.setWind(body); sb.append("风向:" + body + "\n"); } }); Element entry4 = root.getChild("Visibility"); entry4.setEndTextElementListener(new EndTextElementListener() { public void end(String body) { System.out.println("prop: " + body); cityWeather.setVisibility(body); sb.append("能见度:" + body + "\n"); } }); Element entry5 = root.getChild("Temperature"); entry5.setEndTextElementListener(new EndTextElementListener() { public void end(String body) { System.out.println("prop: " + body); cityWeather.setTemperature(body); sb.append("气温:" + body + "\n"); } }); Element entry6 = root.getChild("DewPoint"); entry6.setEndTextElementListener(new EndTextElementListener() { public void end(String body) { System.out.println("prop: " + body); cityWeather.setDewPoint(body); // sb.append("位置:"+body+"\n"); } }); Element entry7 = root.getChild("RelativeHumidity"); entry7.setEndTextElementListener(new EndTextElementListener() { public void end(String body) { System.out.println("prop: " + body); cityWeather.setRelativeHumidity(body); sb.append("相对湿度:" + body + "\n"); } }); Element entry8 = root.getChild("Pressure"); entry8.setEndTextElementListener(new EndTextElementListener() { public void end(String body) { System.out.println("prop: " + body); cityWeather.setPressure(body); sb.append("气压:" + body + "\n"); } }); try { // create the factory SAXParserFactory factory = SAXParserFactory.newInstance(); // create a parser SAXParser parser = factory.newSAXParser(); XMLReader xmlreader = parser.getXMLReader(); xmlreader.setContentHandler(root.getContentHandler()); // get our data via the xml string InputSource is = new InputSource( new StringBufferInputStream(xmlStr)); xmlreader.parse(is); } catch (Exception e) { e.printStackTrace(); } tv.setText(sb); } // @Override // public boolean onCreateOptionsMenu(Menu menu) { // if (choiceMode == true) { // MenuInflater inflater = getMenuInflater(); // inflater.inflate(R.menu.gal_menu, menu); // menu.findItem(R.id.GAL_menu_OK_Item).setEnabled(false); // } // return true; // } // // @Override // public boolean onMenuItemSelected(int featureId, MenuItem item) { // // TODO Auto-generated method stub // return super.onMenuItemSelected(featureId, item); // } }
by: ETmanwenhan 发表于:2013-04-18 14:17:56 顶(0) | 踩(0) 回复
import com.example.weatherforecast.meta.CityWeather;
里面是什么啊!?
初级程序员
by: ETmanwenhan 发表于:2013-04-18 14:16:08 顶(0) | 踩(0) 回复
回复评论