<"/>

文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Flex3加载外部数据1

2023-01-31 05:11

关注
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>
 
结果:
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯