偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Flex調(diào)用Webservice實(shí)現(xiàn)天氣預(yù)報(bào)

開(kāi)發(fā) 后端
本文向大家描述一下Flex如何調(diào)用Webservice實(shí)現(xiàn)天氣預(yù)報(bào),F(xiàn)lex調(diào)用Webservice有多種方法,可以通過(guò)FlexBuilder提供的管理Webservices的工具解析WSDL文檔生成本地調(diào)用類(lèi)。

你對(duì)Flex調(diào)用Webservice實(shí)現(xiàn)天氣預(yù)報(bào)的方法是否熟悉,這里和大家分享一下,F(xiàn)lex調(diào)用Webservice有多種方法,可以通過(guò)ActionScript中Webservice類(lèi)來(lái)實(shí)現(xiàn)。還有就是使用<Webservice>組件實(shí)現(xiàn)。

Flex調(diào)用Webservice實(shí)現(xiàn)天氣預(yù)報(bào)

Flex調(diào)用Webservice有多種方法,可以通過(guò)FlexBuilder提供的管理Webservices的工具解析WSDL文檔生成本地調(diào)用類(lèi)。也可以通過(guò)ActionScript中Webservice類(lèi)來(lái)實(shí)現(xiàn)。還有就是使用<Webservice>組件實(shí)現(xiàn)。這次我使用的是最后一種,感覺(jué)這種方法較為簡(jiǎn)潔。

1.構(gòu)建界面

用于接受用戶(hù)輸入及結(jié)果輸出。包括:1個(gè)Text輸入組件,1個(gè)按鈕組件,10個(gè)標(biāo)簽組件

2.添加Webservice組件

根據(jù)Web服務(wù)提供者的說(shuō)明,構(gòu)建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的屬性是在調(diào)用方法成功后執(zhí)行的ActionScript方法。operation還有其他屬性,鑒于例子很簡(jiǎn)單,就不一一使用了。

3.編寫(xiě)ActionScript方法

本例中使用了三個(gè)方法:resultOK()用于顯示結(jié)果的,showMessage()用于顯示說(shuō)明,getfocus()用于當(dāng)輸入欄得到焦點(diǎn)時(shí)清空輸入欄內(nèi)容的。下面是resultOK()的分析:

  1. publicfunctionresultOK():void{//顯示接受的結(jié)果  
  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服務(wù)返回的結(jié)果時(shí),發(fā)現(xiàn)其結(jié)果保存在字符數(shù)組中的,在WSDL中是ArrayOfString,而Flex沒(méi)有這種格式,在試過(guò)String,Array類(lèi)型后,發(fā)現(xiàn)ArrayCollection類(lèi)可以使用。然后就是顯示結(jié)果,可根據(jù)WSDL說(shuō)明來(lái)挑選信息。

4.使用按鈕調(diào)用Webservice組件,發(fā)送Web服務(wù)信息。

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

◆編譯發(fā)布swf文件

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

完整代碼如下:

  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;//保存接收到的結(jié)果  
  9. publicfunctionresultOK():void{//顯示接受的結(jié)果  
  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. //顯示說(shuō)明  
  33. publicfunctionshowMessage():void{  
  34. varalert:Alert=Alert.show("請(qǐng)輸入城市中文名稱(chēng)(國(guó)外城市可用英文)。web服務(wù)來(lái)源于http://www.webxml.com.cn,數(shù)據(jù)來(lái)源于中國(guó)氣象局"+  
  35. ",包括340多個(gè)中國(guó)"+  
  36. "主要城市和60多個(gè)國(guó)外主要城市三日內(nèi)的天氣情況。作者EMAIL:anhulife@gmail.com","說(shuō)明",Alert.YES);  
  37. }  
  38.  
  39. //處理當(dāng)輸入欄獲得焦點(diǎn)時(shí),輸入欄清空  
  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="請(qǐng)輸入城市名,支持國(guó)內(nèi)外主要城市"  
  59. width="200"x="10"y="10"focusIn="getfocus()"fontSize="12"color="#909697"/> 
  60.  
  61. <mx:Buttonidmx:Buttonid="check"x="230"y="10"label="查詢(xún)"click="ws.getWeatherbyCityName.send()"/> 
  62.  
  63. <!--顯示結(jié)果的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. <!--顯示說(shuō)明的Label--> 
  78. <mx:Labelxmx:Labelx="288"y="12"text="說(shuō)明"width="32"textDecoration="underline"color="#FAFBFB"click="showMessage()"/> 
  79. </mx:Application> 
  80.  

 想學(xué)習(xí)Webservice,所以先研究一下Flex怎么調(diào)用WebService.看了這篇文章感覺(jué)不錯(cuò),先測(cè)試一下。

【編輯推薦】

  1. 學(xué)習(xí)筆記 用Flash和Flex創(chuàng)建WebService客戶(hù)端
  2. 深入剖析Flex字體樣式定義方法
  3. 全面認(rèn)識(shí)Flex應(yīng)用程序的六大元素
  4. 揭開(kāi)Flex正則表達(dá)式的神秘面紗
  5. Flex數(shù)據(jù)綁定及其使用頻繁的幾種情況 

 

責(zé)任編輯:佚名 來(lái)源: 163.com
相關(guān)推薦

2016-03-14 10:29:38

天氣預(yù)報(bào)各類(lèi)工具源碼

2013-03-26 13:20:27

Android天氣預(yù)報(bào)

2009-12-02 15:45:04

PHP抓取天氣預(yù)報(bào)

2017-08-01 10:10:32

人工智能智能天氣預(yù)報(bào)

2009-07-07 09:25:08

Linux開(kāi)發(fā)FOSS開(kāi)發(fā)項(xiàng)目

2020-01-16 15:13:40

AI預(yù)測(cè)天氣預(yù)報(bào)

2018-01-29 11:25:37

LinuxASCII 字符天氣預(yù)報(bào)

2020-02-11 20:00:29

開(kāi)源開(kāi)源工具天氣預(yù)報(bào)

2022-02-21 11:02:54

5G通信網(wǎng)絡(luò)天氣預(yù)報(bào)

2012-07-16 13:36:54

交換機(jī)數(shù)據(jù)中心核心交換機(jī)氣象衛(wèi)星

2013-04-10 17:59:50

微信公眾平臺(tái)接口開(kāi)發(fā)

2009-04-17 17:11:18

ASP.NET新浪天氣

2015-10-19 17:16:10

天氣預(yù)報(bào)命令行Linux

2009-08-26 16:59:44

Web Service

2019-10-25 19:42:41

華為

2012-03-13 16:45:09

超級(jí)計(jì)算機(jī)沃森Deep Thunde

2012-06-18 15:40:32

jQuery

2013-09-09 10:52:10

2022-02-21 15:07:48

氣象學(xué)人工智能AI

2023-10-27 16:15:35

鴻蒙天氣服務(wù)功能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)