<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > Android手機天氣預報系統設計及實(shí)現

Android手機天氣預報系統設計及實(shí)現

作者: 時(shí)間:2012-03-22 來(lái)源:網(wǎng)絡(luò ) 收藏
有一個(gè)項目ksoap2-android(http://code.google.com/p/ksoap2-android/)可用在 平臺上實(shí)現輕量級的SOAP 庫,即使用ksoap2-android 的API 來(lái)調用遠端Web Service 的服務(wù)。

  因此需要在CitiesWeatherForecast.java 的onCreate()中進(jìn)行數據獲取的初始化工作。通過(guò)定義一個(gè)方法public ListgetAllCitiesNAMEs()可獲得中國城市名稱(chēng)列表。也就是說(shuō),采用它提供的獲得全球各個(gè)國家城市的方法GetCitiesByCountry,通過(guò)http://www.webservicex.net/globalweather.asmx 上的WebService 可提供服務(wù)。譬如,通過(guò)Constant.java 中的public class Constant{},設置SOAP Action 要調用的方法名、命名空間以及Web Service URL值,其源代碼為:

  public static final String SOAP_ACTION=

  "http://www.webserviceX.NET/GetCitiesByCountry";

  public static final String METHOD_NAME=

  "GetCitiesByCountry";

  public static final String SOAP_ACTION2=

  "http://www.webserviceX.NET/GetWeather";

  public static final String METHOD_NAME2="GetWeather";

  public static final String NAMESPACE=

  "http://www.webserviceX.NET";

  public static final String URL=

  http://www.webservicex.net/globalweather.asmx;

  然后在WebServiceCaller.java 中實(shí)例化一個(gè)SoapSerializationEnvelope對象,設置SoapObject 的命名空間、方法名、參數等;并通過(guò)實(shí)例化一個(gè)HttpTransport 對象來(lái)調用WebService,并獲得xml 字符串數據,其代碼段如下:

  HttpTransport androidHttpTransport=

  new AndroidHttpTransport (Constant.URL);

  try {

  androidHttpTransport.call(soapAction, envelope);

  Object result=envelope.getResponse();

  xmlStr=result.toString();

  } catch(Exception e) {

  e.printStackTrace();

  }

 ?、?解析數據列表

  Android 操作系統對xml 字符串數據的操作功能很強,提供了dom、sax 以及xmlpul 3 種方式。Android SDK 提供了android.sax 包以方便SAX Handler 的開(kāi)發(fā),可用來(lái)解析xml 結果字符串。在本設計實(shí)例的CitiesWeatherForecast.java 文件中,解析xml 數據時(shí),先通過(guò)RootElement root=new RootElement("NewDataSet")獲得xml 數據的根節點(diǎn);然后再尋找其子節點(diǎn)直到找到City 子節點(diǎn),并設置一個(gè)監聽(tīng)器setEndTextElementListener()來(lái)獲得City 子節點(diǎn)的值;最后使用org.xml.sax 的SAXParser 來(lái)解析xml 數據,把數據存入List并返回:

  SAXParserFactory factory=SAXParserFactory.newInstance();

  SAXParser parser=factory.newSAXParser();

  XMLReader xmlreader=parser.getXMLReader();

  xmlreader.setContentHandler(root.getContentHandler());

  InputSource is=new InputSource

  (new StringBufferInputStream(xmlStr));

  xmlreader.parse(is);

 ?、?在UI上呈現城市列表數據

  當獲得List類(lèi)型的數據之后,就可以把它綁定到main.xml 定義的ListView 組件上,然后使用ListActivity 呈現列表數據。在CitiesWeatherForecast.java 中的代碼段為:

  List cityList=getAllCitiesNames();

  setListAdapter(new ArrayAdapter(this,

  android.R.layout.simple_list_item_1, cityList));

  即使用方法setListAdapter()把一個(gè)ListActivity 填充進(jìn)去。

  2.3 城市天氣實(shí)況預報系統的調試

  城市天氣實(shí)況預報系統的測試結果如下。在Eclipse 的Package Explorer 窗口中用鼠標右鍵選擇CitiesWeatherForecast工程名,在彈出的窗口中選擇"Run As"→"Android Application"安裝該應用程序到Android 模擬器并啟動(dòng)它。然后單擊所要查詢(xún)的城市名稱(chēng)列表項,稍等片刻便會(huì )顯示出該城市的天氣實(shí)況信息。也可以在文本框中直接輸入所要查詢(xún)的城市名稱(chēng),單擊"Search"同樣會(huì )獲得相應城市的信息。

  3 結束語(yǔ)

  本文在介紹基于A(yíng)ndroid 平臺的應用程序設計原理的基礎上,提出了Android 用戶(hù)界面設計、獲取并解析城市列表數據的一種方法,給出了在用戶(hù)界面上呈現數據的原理與設計過(guò)程,最后通過(guò)模擬器進(jìn)行了應用程序的調試。當然,基于A(yíng)ndroid 平臺的開(kāi)發(fā)技術(shù)還需要進(jìn)一步完善,需要在日后的工作中不斷探索、研究,以建立實(shí)用的城市天氣實(shí)況預報系統。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: Android 天氣預報 系統設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>