前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flex3加载外部数据1

Flex3加载外部数据1

作者头像
py3study
发布2020-01-08 18:33:23
6620
发布2020-01-08 18:33:23
举报
文章被收录于专栏:python3

1.加载文本文件中的纯文本:

LoadData1.mxml

<?xml version="1.0" encoding="utf-8"?> <!--通过Bind绑定,使用了MXML的HTTPService标签,结果格式为text文本格式--> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="txtLoader.send();">   <mx:Style>     Application{font-size:12px;}   </mx:Style>   <mx:HTTPService id="txtLoader" url="test1.txt" resultFormat="text"/>   <mx:VBox>     <mx:Text text="{txtLoader.lastResult}" />   </mx:VBox> </mx:Application>

文本文件test1.txt:

这是用于Flex的一段测试文本

运行结果:

2.这里不是用MXML标签,而采用类

<?xml version="1.0" encoding="utf-8"?> <!--使用HTTPService类得到同样的结果--> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="loadTxt(event);">   <mx:Style>     Application{fontSize:14px;}   </mx:Style>   <mx:Script>     <![CDATA[       import mx.rpc.events.ResultEvent;       import mx.events.FlexEvent;       import mx.rpc.http.HTTPService;       private var txtLoader:HTTPService=new HTTPService();       //加载文本代码如下       private function loadTxt(evt:FlexEvent):void       {         txtLoader.url="test1.txt";//文件路径         txtLoader.resultFormat="text";//结果的格式是纯文本         txtLoader.addEventListener(ResultEvent.RESULT,resultHandler);         txtLoader.send();       }       private function resultHandler(evt:ResultEvent):void       {         myTxt.text=evt.target.lastResult;//这里为文本控件赋值       }     ]]>   </mx:Script>   <mx:VBox>     <mx:Text id="myTxt"/>   </mx:VBox> </mx:Application>

结果同上。

3.使用URLLoader类加载数据

<?xml version="1.0" encoding="utf-8"?> <!--使用URLLoader类从文本文件加载文本数据到Flex中,无法通过MXML标签使用该类--> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="loadTxt(event)">   <mx:Script>     <![CDATA[       import mx.events.FlexEvent;       private var loader:URLLoader=new URLLoader();       private function loadTxt(evt:FlexEvent):void       {         loader.addEventListener(Event.COMPLETE,handleData);         loader.load(new URLRequest("test1.txt"));       }       //数据加载完毕,为文本赋值       private function handleData(evt:Event):void       {         myTxt.text=evt.target.data;//URLLoader对象的data域       }     ]]>   </mx:Script>   <mx:VBox>     <mx:Text id="myTxt" fontSize="18"/>   </mx:VBox> </mx:Application>

结果同上。

4.加载url编码值对数据:

<?xml version="1.0" encoding="utf-8"?> <!--使用HTTPService标签,加载值对(url编码的)到Flex的标签和组合框控件--> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="svc.send();">   <mx:Style>     Application{fontSize:14px;}   </mx:Style>   <mx:HTTPService id="svc" url="test2.txt" resultFormat="flashvars"/>   <mx:HBox>     <mx:Label text="{svc.lastResult.lbl}"/>     <mx:ComboBox dataProvider="{svc.lastResult.jobs.split(',')}" />   </mx:HBox> </mx:Application>

test2.txt:

lbl=职位&jobs=网页设计师,软件工程师,项目经理

结果:

5.使用HTTPService类加载值对:

<?xml version="1.0" encoding="utf-8"?> <!--使用HTTPService类,加载URL编码数据--> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="loadVal(event);">   <mx:Style>     Application{fontSize:12px;color:#ff0000;}   </mx:Style>   <mx:Script>     <![CDATA[       import mx.rpc.events.ResultEvent;       import mx.events.FlexEvent;       import mx.rpc.http.HTTPService;       private var svc:HTTPService=new HTTPService();       private function loadVal(evt:FlexEvent):void       {         svc.url="test2.txt";         svc.resultFormat="flashvars";//结果格式-值对         svc.addEventListener(ResultEvent.RESULT,handleResult);         svc.send();       }       private function handleResult(evt:ResultEvent):void       {         lbl.text=svc.lastResult.lbl;         combox.dataProvider=svc.lastResult.jobs.split(",");       }     ]]>   </mx:Script>   <mx:HBox>     <mx:Label id="lbl"/>     <mx:ComboBox id="combox"/>   </mx:HBox> </mx:Application>

结果:

6.使用URLLoader类加载值对数据:

<?xml version="1.0" encoding="utf-8"?> <!--使用URLLoader类,加载URL编码数据--> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="loadVal(event);">   <mx:Style>     Application{font-size:14px;color:green;}   </mx:Style>   <mx:Script>     <![CDATA[       import mx.events.FlexEvent;       import flash.net.URLLoader;       private var loader:URLLoader=new URLLoader();       private function loadVal(evt:FlexEvent):void       {         loader.addEventListener(Event.COMPLETE,handleComplete);         loader.load(new URLRequest("test2.txt"));       }       private function handleComplete(evt:Event):void       {         var value:URLVariables=new URLVariables(evt.target.data);         lbl.text=value.lbl;         combox.dataProvider=value.jobs.split(",");       }     ]]>   </mx:Script>   <mx:HBox>     <mx:Label id="lbl"/>     <mx:ComboBox id="combox"/>   </mx:HBox> </mx:Application>

结果:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档