urlservice.as
来自「as30的详细例子,包含了大量的例子,是不可多得的学习AS3的好资料」· AS 代码 · 共 91 行
AS
91 行
package com.example.programmingas3.podcastplayer
{
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.SecurityErrorEvent;
import flash.events.HTTPStatusEvent;
import flash.events.ProgressEvent;
import flash.events.IOErrorEvent;
import flash.events.DataEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
/**
* A convenience class that loads data from a URL and handles
* all the resulting events.
*/
public class URLService extends EventDispatcher
{
public var url:String;
//public var rssData:String;
public var loader:URLLoader;
public function URLService(url:String):void
{
this.url = url;
}
public function send():void
{
loader = new URLLoader();
var request:URLRequest = new URLRequest(this.url);
loader.addEventListener(Event.COMPLETE, onLoadComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.addEventListener(ProgressEvent.PROGRESS, onLoadProgress);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);
loader.load(request);
}
public function onLoadComplete(event:Event):void
{
var loaded:URLLoader = event.target as URLLoader;
if (loaded != null && loaded.data != null)
{
//this.rssData = loaded.data;
var dataEvent:DataEvent = new DataEvent(DataEvent.DATA);
dataEvent.data = loaded.data;
dispatchEvent(dataEvent);
}
else
{
trace("No data was received.");
var errorEvent:IOErrorEvent = new IOErrorEvent(IOErrorEvent.IO_ERROR);
errorEvent.text = "No data was received.";
dispatchEvent(errorEvent);
}
}
public function onHTTPStatus(event:HTTPStatusEvent):void
{
trace("HTTPStatus: " + event.status);
var newEvent:Event = event.clone();
dispatchEvent(newEvent);
}
public function onLoadProgress(event:ProgressEvent):void
{
trace("Progress: " + event.bytesLoaded + "/" + event.bytesTotal + " = " + 100 * (event.bytesLoaded / event.bytesTotal) + "%");
var newEvent:Event = event.clone();
dispatchEvent(newEvent);
}
public function onIOError(event:IOErrorEvent):void
{
trace("IOError: " + event.text);
var newEvent:Event = event.clone();
dispatchEvent(newEvent);
}
public function onSecurityError(event:SecurityErrorEvent):void
{
trace("SecurityError: " + event.text);
var newEvent:Event = event.clone();
dispatchEvent(newEvent);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?