Flex3加载外部数据1
生活随笔
收集整理的這篇文章主要介紹了
Flex3加载外部数据1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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>
結果:
<!--通過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>
結果:
轉載于:https://blog.51cto.com/xcf007/102134
總結
以上是生活随笔為你收集整理的Flex3加载外部数据1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# Tips 2------ToolS
- 下一篇: Exchange 2007 OWA中出现