成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Flex調用Webservice實現天氣預報

開發 后端
本文向大家描述一下Flex如何調用Webservice實現天氣預報,Flex調用Webservice有多種方法,可以通過FlexBuilder提供的管理Webservices的工具解析WSDL文檔生成本地調用類。

你對Flex調用Webservice實現天氣預報的方法是否熟悉,這里和大家分享一下,Flex調用Webservice有多種方法,可以通過ActionScript中Webservice類來實現。還有就是使用<Webservice>組件實現。

Flex調用Webservice實現天氣預報

Flex調用Webservice有多種方法,可以通過FlexBuilder提供的管理Webservices的工具解析WSDL文檔生成本地調用類。也可以通過ActionScript中Webservice類來實現。還有就是使用<Webservice>組件實現。這次我使用的是最后一種,感覺這種方法較為簡潔。

1.構建界面

用于接受用戶輸入及結果輸出。包括:1個Text輸入組件,1個按鈕組件,10個標簽組件

2.添加Webservice組件

根據Web服務提供者的說明,構建Webservice組件。代碼如下:

  1. <mx:WebServiceidmx:WebServiceid="ws"wsdl="http://www.webxml.com.cn/  
  2. WebServices/WeatherWebService.asmx?wsdl"  
  3. useProxy="false"showBusyCursor="true"> 
  4. <mx:operationnamemx:operationname="getWeatherbyCityName" 
  5. result="resultOK()"> 
  6. <mx:request> 
  7. <theCityName> 
  8. {city.text.toString()}  
  9. </theCityName> 
  10. </mx:request> 
  11. </mx:operation> 
  12. </mx:WebService> 

注意:operation組件中的name屬性需要和待使用的方法的名字相同。result的屬性是在調用方法成功后執行的ActionScript方法。operation還有其他屬性,鑒于例子很簡單,就不一一使用了。

3.編寫ActionScript方法

本例中使用了三個方法:resultOK()用于顯示結果的,showMessage()用于顯示說明,getfocus()用于當輸入欄得到焦點時清空輸入欄內容的。下面是resultOK()的分析:

  1. publicfunctionresultOK():void{//顯示接受的結果  
  2. arrayResult=newArrayCollection();  
  3. arrayResult=ws.getWeatherbyCityName.lastResult;  
  4.  
  5. //顯示今天的情況  
  6. jin1.text=arrayResult[6].toString().substring(0,arrayResult[6].toString().indexOf(""));  
  7. jin2.text=arrayResult[6].toString().substring((arrayResult[6].toString().indexOf(""))+1);  
  8. jin3.text=arrayResult[5];  
  9. jin4.text=arrayResult[7];  
  10.  
  11. //顯示明天的情況  
  12. ming1.text=arrayResult[13].toString().substring(0,arrayResult[13].toString().indexOf(""));  
  13. ming2.text=arrayResult[13].toString().substring((arrayResult[13].toString().indexOf(""))+1);  
  14. ming3.text=arrayResult[12];  
  15. ming4.text=arrayResult[14];  
  16.  
  17. //顯示后天的情況  
  18. hou1.text=arrayResult[18].toString().substring(0,arrayResult[18].toString().indexOf(""));  
  19. hou2.text=arrayResult[18].toString().substring((arrayResult[18].toString().indexOf(""))+1);  
  20. hou3.text=arrayResult[17];  
  21. hou4.text=arrayResult[19];  
  22. }  
  23.  

在使用Web服務返回的結果時,發現其結果保存在字符數組中的,在WSDL中是ArrayOfString,而Flex沒有這種格式,在試過String,Array類型后,發現ArrayCollection類可以使用。然后就是顯示結果,可根據WSDL說明來挑選信息。

4.使用按鈕調用Webservice組件,發送Web服務信息。

即調用ws.getWeatherbyCityName.send()方法。

◆編譯發布swf文件

求助:在使用swf文件的時候有這樣的問題,不曉得怎么把flex導出的swf嵌入Html中。普通的嵌入,不能實現調用Web服務的功能,使用項目生成的文件包中的Html文件倒是可以,但是如果把文件包復制出來,放到另外的地方,又無法使用Web服務了。那位高手能夠給予幫助,在下將不勝感激。

完整代碼如下:

  1. <?xmlversionxmlversion="1.0"encoding="gb2312"?> 
  2. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"width="330"  
  3. height="155"layout="absolute"fontSize="12"viewSourceURL="srcview/index.html"> 
  4. <mx:Script> 
  5. <![CDATA[  
  6. importmx.controls.Alert;  
  7. importmx.collections.ArrayCollection;  
  8. publicvararrayResult:ArrayCollection;//保存接收到的結果  
  9. publicfunctionresultOK():void{//顯示接受的結果  
  10. arrayResult=newArrayCollection();  
  11. arrayResult=ws.getWeatherbyCityName.lastResult;  
  12.  
  13. //顯示今天的情況  
  14. jin1.text=arrayResult[6].toString().substring(0,arrayResult[6].toString().indexOf(""));  
  15. jin2.text=arrayResult[6].toString().substring((arrayResult[6].toString().indexOf(""))+1);  
  16. jin3.text=arrayResult[5];  
  17. jin4.text=arrayResult[7];  
  18.  
  19. //顯示明天的情況  
  20. ming1.text=arrayResult[13].toString().substring(0,arrayResult[13].toString().indexOf(""));  
  21. ming2.text=arrayResult[13].toString().substring((arrayResult[13].toString().indexOf(""))+1);  
  22. ming3.text=arrayResult[12];  
  23. ming4.text=arrayResult[14];  
  24.  
  25. //顯示后天的情況  
  26. hou1.text=arrayResult[18].toString().substring(0,arrayResult[18].toString().indexOf(""));  
  27. hou2.text=arrayResult[18].toString().substring((arrayResult[18].toString().indexOf(""))+1);  
  28. hou3.text=arrayResult[17];  
  29. hou4.text=arrayResult[19];  
  30. }  
  31.  
  32. //顯示說明  
  33. publicfunctionshowMessage():void{  
  34. varalert:Alert=Alert.show("請輸入城市中文名稱(國外城市可用英文)。web服務來源于http://www.webxml.com.cn,數據來源于中國氣象局"+  
  35. ",包括340多個中國"+  
  36. "主要城市和60多個國外主要城市三日內的天氣情況。作者EMAIL:anhulife@gmail.com","說明",Alert.YES);  
  37. }  
  38.  
  39. //處理當輸入欄獲得焦點時,輸入欄清空  
  40. publicfunctiongetfocus():void{  
  41. city.text="";  
  42. }  
  43. ]]> 
  44. </mx:Script> 
  45.  
  46.  
  47. <mx:WebServiceidmx:WebServiceid="ws"wsdl="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl"  
  48. useProxy="false"showBusyCursor="true"> 
  49. <mx:operationnamemx:operationname="getWeatherbyCityName"result="resultOK()"> 
  50. <mx:request> 
  51. <theCityName> 
  52. {city.text.toString()}  
  53. </theCityName> 
  54. </mx:request> 
  55. </mx:operation> 
  56. </mx:WebService> 
  57.  
  58. <mx:TextInputidmx:TextInputid="city"text="請輸入城市名,支持國內外主要城市"  
  59. width="200"x="10"y="10"focusIn="getfocus()"fontSize="12"color="#909697"/> 
  60.  
  61. <mx:Buttonidmx:Buttonid="check"x="230"y="10"label="查詢"click="ws.getWeatherbyCityName.send()"/> 
  62.  
  63. <!--顯示結果的Label--> 
  64. <mx:Labelxmx:Labelx="10"y="42"text=""width="90"id="jin1"/> 
  65. <mx:Labelxmx:Labelx="10"y="70"text=""width="90"id="jin2"/> 
  66. <mx:Labelxmx:Labelx="10"y="98"text=""width="90"id="jin3"/> 
  67. <mx:Labelxmx:Labelx="10"y="126"text=""width="90"id="jin4"/> 
  68. <mx:Labelxmx:Labelx="120"y="42"text=""width="90"id="ming1"/> 
  69. <mx:Labelxmx:Labelx="120"y="70"text=""width="90"id="ming2"/> 
  70. <mx:Labelxmx:Labelx="120"y="98"text=""width="90"id="ming3"/> 
  71. <mx:Labelxmx:Labelx="120"y="126"text=""width="90"id="ming4"/> 
  72. <mx:Labelxmx:Labelx="230"y="41"text=""width="90"id="hou1"/> 
  73. <mx:Labelxmx:Labelx="230"y="69"text=""width="90"id="hou2"/> 
  74. <mx:Labelxmx:Labelx="230"y="97"text=""width="90"id="hou3"/> 
  75. <mx:Labelxmx:Labelx="230"y="125"text=""width="90"id="hou4"/> 
  76.  
  77. <!--顯示說明的Label--> 
  78. <mx:Labelxmx:Labelx="288"y="12"text="說明"width="32"textDecoration="underline"color="#FAFBFB"click="showMessage()"/> 
  79. </mx:Application> 
  80.  

 想學習Webservice,所以先研究一下Flex怎么調用WebService.看了這篇文章感覺不錯,先測試一下。

【編輯推薦】

  1. 學習筆記 用Flash和Flex創建WebService客戶端
  2. 深入剖析Flex字體樣式定義方法
  3. 全面認識Flex應用程序的六大元素
  4. 揭開Flex正則表達式的神秘面紗
  5. Flex數據綁定及其使用頻繁的幾種情況 

 

責任編輯:佚名 來源: 163.com
相關推薦

2016-03-14 10:29:38

天氣預報各類工具源碼

2013-03-26 13:20:27

Android天氣預報

2009-12-02 15:45:04

PHP抓取天氣預報

2017-08-01 10:10:32

人工智能智能天氣預報

2009-07-07 09:25:08

Linux開發FOSS開發項目

2020-01-16 15:13:40

AI預測天氣預報

2018-01-29 11:25:37

LinuxASCII 字符天氣預報

2020-02-11 20:00:29

開源開源工具天氣預報

2022-02-21 11:02:54

5G通信網絡天氣預報

2012-07-16 13:36:54

交換機數據中心核心交換機氣象衛星

2013-04-10 17:59:50

微信公眾平臺接口開發

2009-04-17 17:11:18

ASP.NET新浪天氣

2015-10-19 17:16:10

天氣預報命令行Linux

2009-08-26 16:59:44

Web Service

2019-10-25 19:42:41

華為

2012-03-13 16:45:09

超級計算機沃森Deep Thunde

2012-06-18 15:40:32

jQuery

2013-09-09 10:52:10

2022-02-21 15:07:48

氣象學人工智能AI

2023-10-27 16:15:35

鴻蒙天氣服務功能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产日韩视频在线 | 国产精品亚洲成在人线 | 91久久久久久久久久久 | 亚洲一区二区三区在线 | 日韩免费高清视频 | 日韩欧美在线播放 | 国产精品视频一二三区 | 一级毛片免费看 | 欧美视频 亚洲视频 | 国产高清在线 | 极品在线 | 四虎影院在线免费观看 | 国产在线一级片 | 久久久精品一区二区三区 | 国产一区二区三区视频在线观看 | 亚洲精品一区二区三区中文字幕 | 男女一区二区三区 | 国产黄色免费网站 | 嫩草视频网 | 1级黄色大片 | 日韩成人中文字幕 | 国产在线视频99 | 欧美日韩久 | 久久亚洲天堂 | 超碰一区二区 | 亚洲午夜久久久 | 91久久网站 | 日韩欧美中文字幕在线观看 | 欧美性猛片aaaaaaa做受 | 欧美日韩高清免费 | 激情婷婷成人 | 国产免费a | 欧产日产国产精品国产 | 欧美日韩不卡 | 欧美日韩国产一区二区三区不卡 | 一区二区三区日 | 欧美美乳 | 成人免费淫片aa视频免费 | 久久精品一区 | 成人午夜激情 | 色综合久久天天综合网 |