flex学习小结9

来源:互联网 发布:淘宝nba旗舰店 编辑:程序博客网 时间:2020/11/28 19:38

1 FLASH调用webservice:
   <!--引入WebService标签,设定wsdl。不使用代理名称-->
 <mx:WebService id="ws" wsdl="http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx?

wsdl"
        useProxy="false">
 <!--生命调用的方法以及调用的参数,这里使用"sh000001"代表查询上证指数-->      
        <mx:operation name="getStockInfoByCode">
            <mx:request>
                <theStockCode >sh000001</theStockCode >
            </mx:request>
        </mx:operation>
    </mx:WebService>
//引入远程调用的事件处理
  import mx.rpc.events.FaultEvent;
  import mx.rpc.events.ResultEvent;
  import mx.controls.Alert;
  //向webService发送请求
  private function sendCount():void{
   //添加得到结果事件监听的处理函数
   ws.addEventListener(ResultEvent.RESULT,showResult);
   //添加得到失败事件监听的处理函数
   ws.addEventListener(FaultEvent.FAULT,faultResult);
   //发送请求数据
   ws.getStockInfoByCode.send();
  }
  //显示结果的处理函数
  private function showResult(rs:ResultEvent):void{
   //得到返回结果
   var rsStr:String=new String(rs.result);
   //处理返回结果数据
   var resultArray:Array=rsStr.split(",");
   //显示结果
   shangzheng.text=resultArray[3]; 
  }
  //处理访问不成功的处理函数
  private function faultResult(faultmessage:FaultEvent):void{
   //得到错误信息
   var faultStr:String=new String(faultmessage.message);
   //显示错误信息
   Alert.show(faultStr,"WebService访问错误");
  }

2 FLEX访问httpservice,这个有点象ajax的方式访问了
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"

creationComplete="so_hs.send()">
<mx:Style>
 global{
  fontSize:12pt;
 }
</mx:Style>
<!--声明一个HTTPService,并指明url。不使用别名的方式进行访问-->
<mx:HTTPService id="so_hs" url="http://rss.news.sohu.com/rss/guonei.xml" useProxy="false">
</mx:HTTPService>
<!--声明Panel,标题从HTTPService当中读取-->
<mx:Panel left="10" top="10" bottom="10" right="10" layout="absolute"
  title="BlogReader ({so_hs.lastResult.rss.channel.title})" fontSize="14">
<!--声明DataGrid用于显示内容-->
    <mx:DataGrid id="dgPosts" left="20" right="20" top="20" bottom="219"
     dataProvider="{so_hs.lastResult.rss.channel.item}" change="openLinkButton.visible=true"

fontSize="14">
<!--声明columns用于指明显示的字段-->
       <mx:columns>
         <mx:DataGridColumn headerText="标题" dataField="title" showDataTips="true" />
         <mx:DataGridColumn headerText="日期" dataField="pubDate"/>
       </mx:columns>
    </mx:DataGrid>
 <!--声明TextArea,显示文章摘要-->  
    <mx:TextArea left="20" right="20" bottom="46" height="165"
      htmlText="{dgPosts.selectedItem.description}" fontSize="14"/>
 <!--声明LinkButton显示详细内容-->  
    <mx:LinkButton id="openLinkButton" right="20" bottom="20" label="详细内容"
     click="navigateToURL(new URLRequest(dgPosts.selectedItem.link));"
     visible="false" width="109"/>
</mx:Panel>  

3  弹出窗口的制作
    private function showClass():void {
   //使用PopUpManager创建一个模式的弹出ClassWindow对话框
   var class_win:ClassWindow =ClassWindow(PopUpManager.createPopUp(this,

ClassWindow,true));
   //设定弹出窗口的位置为舞台的中心
   PopUpManager.centerPopUp(class_win);
  }
  然后新建立一个mxml application,classwindow,注意这个classwindow是要继承titlewindows的