参考书籍:flash actionscript 3 殿堂之路 孙颖 p311 -320
数据格式:文本、值对、二进制
要建立一个成功能通信请求,通信请求对象必须知道足够的信息--------请求对象、方式、数据等,
主要包括:1、请求的有效URL地址 2、请求方式(get or post)
读取文本数据例子(带注释核心代码部分)与读取对值对格式的例子(不带注释)
public class SampleXML extends Sprite { // private var title_txt:TextField ; public function SampleXML():void { //var targetURL:String = "http://feeds.feedburner.com/Kingda"; // var targetURL:String = "test2.xml" ; var targetURL:String = "test1.txt" ; var reques:URLRequest = new URLRequest(targetURL); var variables:URLLoader; try { variables = new URLLoader(); }catch(err:Error) { trace("err"); }; variables.dataFormat = URLLoaderDataFormat.VARIABLES ; variables.addEventListener(Event.COMPLETE ,completeHandle); variables.addEventListener(ProgressEvent.PROGRESS ,test); try { trace("loading ......"); variables.load(reques); } catch(error:Error) { trace("uable to load url"); } /* title_txt = new TextField(); title_txt.autoSize = "left" ; addChild(title_txt); */ } public function completeHandle(evn:Event):void { /* trace(evn.target.data is String); var res:XML = new XML(evn.target.data); var titlelist:XMLList = res.channel.item.title; for each(var title:XML in titlelist) { title_txt.appendText("*" + title+"'\n"); trace (title.toString()); } */ trace(evn.target.data); var loader:URLLoader = evn.target as URLLoader ; var i:String; for( i in loader.data) { trace(i+"\t:"+ loader.data[i] ); } } public function test(evn:ProgressEvent):void { trace(evn.bytesTotal + "\t" +evn.bytesLoaded); // trace(evn.); // loader. if(evn.bytesLoaded >= 1024*1024) { trace("over"); } } }
public class SampleBinary extends Sprite { private var loader:Loader ; private var loader2:Loader; public function SampleBinary():void { // var targetURL:String = "test2.xml" ; var targetURL:String = "D:/OSMF/OSMFPlayer/bin/OSMFPlayer.swf" ; var reques:URLRequest = new URLRequest(targetURL); var variables:URLLoader; variables = new URLLoader(); variables.dataFormat = URLLoaderDataFormat.BINARY ; variables.addEventListener(Event.COMPLETE ,completeHandle); variables.addEventListener(ProgressEvent.PROGRESS ,test); try { trace("loading ......"); variables.load(reques); } catch(error:Error) { trace("uable to load url"+error); } } public function completeHandle(evn:Event):void { trace("loaded"); loader = new Loader(); var content:ByteArray = evn.target.data as ByteArray ; loader.contentLoaderInfo.addEventListener(Event.COMPLETE ,convertHandle); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,test2); loader.loadBytes(content); // trace(content); loader2 = new Loader(); loader2.contentLoaderInfo.addEventListener(Event.COMPLETE,convertHandle); loader2.loadBytes(content); } public function convertHandle(evn:Event):void { this.addChild(evn.target.loader as Loader); evn.target.loader.y = 50; evn.target.loader.x =200*Math.random() ; // this.addChild(evn.target.loader2 as Loader); // evn.target.loader2.y =100 ; // evn.target.loader2.x = 50; } public function test(evn:ProgressEvent):void { // trace(evn.bytesTotal + "\t" +evn.bytesLoaded); // trace(evn.); // loader. /* if(evn.bytesLoaded >= 1024*1024) { trace("over"); }*/ // var loader:URLLoader = evn.target as URLLoader ; //trace(loader.data); } public function test2(evn:ProgressEvent):void { trace(evn.bytesTotal + "\t" +evn.bytesLoaded); } }