W poniższym przykładzie ładowane są dane wyszukane w lokalnym pliku tekstowym. Śledzone są także informacje o obsłudze zdarzeń.
Uwaga: aby uruchomić ten przykład, należy umieścić plik o nazwie example.txt w tym samym katalogu, co plik SWF. Plik powinien być prostym plikiem tekstowym zawierającym kilka wyrazów lub wierszy tekstu.
Przykładowy kod realizuje następujące zadania:
- Funkcja konstruktora tworzy instancję URLLoader o nazwie
loader
. - Obiekt
loader
przekazywany jest do metody configureListeners()
, która dodaje detektory dla każdego z obsługiwanych zdarzeń URLLoader: - Tworzona jest instancja URLRequest o nazwie
request
, która określa nazwę pliku do ładowania. - Właściwość
method
żądania ustawiana jest na URLRequestMethod.POST
. - Następnie obiekt
request
jest przekazywany do metody loader.load()
, która wczytuje plik tekstowy. - Po zakończeniu ładowania przez obiekt URLLoader pliku tekstowego, wywoływane jest zdarzenie
Event.COMPLETE
, które powoduje wywołanie metody completeHandler()
. Metoda completeHandler()
śledzi właściwość data
, treść pliku tekstowego.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.*;
public class URLRequestMethodExample extends Sprite {
private var loader:URLLoader;
public function URLRequestMethodExample() {
loader = new URLLoader();
configureListeners(loader);
var request:URLRequest = new URLRequest("example.txt");
request.method = URLRequestMethod.POST;
loader.load(request);
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
private function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
trace("completeHandler: " + loader.data);
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function httpStatusHandler(event:HTTPStatusEvent):void {
trace("httpStatusHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
}
}