Pakiet | air.net |
Klasa | public dynamic class ServiceMonitor |
Dziedziczenie | ServiceMonitor EventDispatcher Object |
Podklasy | SocketMonitor, URLMonitor |
Wersje środowiska wykonawczego: | AIR 1.0 |
Klasa ta jest zawarta w pliku aircore.swc. Program Adobe® Flash™ Builder™ ładuje tę klasę automatycznie podczas tworzenia projektu dla środowiska Adobe® AIR™. Pakiet Adobe® Flex™ SDK również zawiera plik aircore.swc, który należy dołączyć podczas kompilowania aplikacji, jeśli używany jest pakiet Flex SDK.
W programie Adobe® Flash® CS3 Professional tę klasę zawiera plik ServiceMonitorShim.swc. Aby używać klas z pakietu air.net, należy najpierw przeciągnąć składnik ServiceMonitorShim z panelu Składniki do Biblioteki, a następnie dodać poniższą instrukcję import
do kodu ActionScript 3.0:
import air.net.*;
Aby korzystać z pakietu air.net w programie Adobe® Flash® Professional (CS4 lub nowsza wersja):
- Wybierz polecenie Plik > Ustawienia publikowania.
- W panelu Flash kliknij przycisk Ustawienia dla ActionScript 3.0. Wybierz opcję Ścieżka biblioteki.
- Kliknij przycisk Przejdź do pliku SWC. Przejdź do pliku Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc w folderze instalacyjnym programu Adobe Flash Professional.
- Kliknij przycisk OK.
- Dodaj poniższą instrukcję
import
do kodu ActionScript 3.0:import air.net.*;
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
available : Boolean
Informuje, czy usługa jest obecnie uznawana za dostępną. Wartością początkową jest false. Wartość ta zmienia się, gdy w wyniku sprawdzenia stanu właściwość zostanie ustawiona na true lub gdy właściwość zostanie jawnie zainicjowana wartością true. Zwykle ta właściwość jest ustawiana przez implementację metody checkStatus() w podklasie lub klasie typu specializer, jednak jeśli aplikacja ma z niezależnego źródła informację o dostępności usługi (np. jakieś zadanie zakończyło się właśnie powodzeniem lub niepowodzeniem), właściwość można ustawić jawnie.
| ServiceMonitor | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
lastStatusUpdate : Date [tylko do odczytu]
Czas ostatniej aktualizacji stanu. | ServiceMonitor | ||
pollInterval : Number
Przedział czasowy, w milisekundach, między kolejnymi odpytaniami serwera. | ServiceMonitor | ||
running : Boolean [tylko do odczytu]
Informuje, czy monitor został uruchomiony. | ServiceMonitor |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Tworzy obiekt ServiceMonitor. | ServiceMonitor | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu. | EventDispatcher | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń. | EventDispatcher | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
[statyczny]
Dodaje publiczne metody ServiceMonitor do prototypu funkcji konstruktora JavaScript. | ServiceMonitor | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Usuwa detektor z obiektu EventDispatcher. | EventDispatcher | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Uruchamia monitor usług. | ServiceMonitor | ||
Zatrzymuje monitorowanie usługi. | ServiceMonitor | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
[przesłanianie]
Zwraca ciąg reprezentujący określony obiekt. | ServiceMonitor | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object | ||
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych. | EventDispatcher |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Sprawdza stan usługi. | ServiceMonitor |
Zdarzenie | Podsumowanie | Zdefiniowane przez | ||
---|---|---|---|---|
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny. | EventDispatcher | |||
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny. | EventDispatcher | |||
Określa, że stan usługi uległ zmianie. | ServiceMonitor |
available | właściwość |
available:Boolean
Wersje środowiska wykonawczego: | AIR 1.0 |
Informuje, czy usługa jest obecnie uznawana za dostępną.
Wartością początkową jest false
. Wartość ta zmienia się, gdy w wyniku sprawdzenia stanu właściwość zostanie ustawiona na true
lub gdy właściwość zostanie jawnie zainicjowana wartością true
.
Zwykle ta właściwość jest ustawiana przez implementację metody checkStatus()
w podklasie lub klasie typu specializer, jednak jeśli aplikacja ma z niezależnego źródła informację o dostępności usługi (np. jakieś zadanie zakończyło się właśnie powodzeniem lub niepowodzeniem), właściwość można ustawić jawnie.
Implementacja
public function get available():Boolean
public function set available(value:Boolean):void
lastStatusUpdate | właściwość |
pollInterval | właściwość |
pollInterval:Number
Wersje środowiska wykonawczego: | AIR 1.0 |
Przedział czasowy, w milisekundach, między kolejnymi operacjami pobierania danych z serwera.
Wartość zero powoduje, że serwer nie jest odpytywany okresowo, lecz tylko raz, niezwłocznie po wywołaniu funkcji start()
oraz po zmianie stanu sieci.
Obiekt ServiceMonitor wywołuje zdarzenie status
tylko po zmianie stanu usługi (a nie po upływie każdego przedziału czasowego odpytywania). Obiekt wywołuje również zdarzenie status
w wyniku zmian stanu komunikacji sieciowej (niezależnie od przedziału czasu odpytywania).
Wartością domyślną jest 0.
Implementacja
public function get pollInterval():Number
public function set pollInterval(value:Number):void
running | właściwość |
ServiceMonitor | () | Konstruktor |
public function ServiceMonitor()
Wersje środowiska wykonawczego: | AIR 1.0 |
Tworzy obiekt ServiceMonitor.
Ta klasa zawiera zwykle podklasy, dzięki czemu może monitorować usługi określonych typów.
Po utworzeniu obiektu ServiceMonitor (lub instancji podklasy) należy wywołać metodę start()
, aby rozpocząć monitorowanie stanu usługi.
Podobnie jak w przypadku obiektu Timer, kod wywołujący powinien przechowywać odwołanie do obiektu ServiceMonitor. W przeciwnym razie środowisko wykonawcze usunie obiekt i monitorowanie zostanie zakończone.
checkStatus | () | metoda |
protected function checkStatus():void
Wersje środowiska wykonawczego: | AIR 1.0 |
Sprawdza stan usługi.
Metoda przesłaniania podklasy służąca do sprawdzania stanu usługi.
Zwykle ta metoda inicjuje operację sieciową, której ukończenie lub niepowodzenie będzie podstawą do odpowiedniego ustawienia właściwości available
.
Kod JavaScript może wyspecjalizować tę metodę, definiując metodę checkStatus()
w obiekcie „specializer”.
makeJavascriptSubclass | () | metoda |
public static function makeJavascriptSubclass(constructorFunction:Object):void
Wersje środowiska wykonawczego: | AIR 1.0 |
Dodaje publiczne metody ServiceMonitor do prototypu funkcji konstruktora JavaScript.
Dodaje do prototypu funkcji konstruktora JavaScript funkcje przekazujące publiczne funkcje klasy ServiceMonitor obiektu ServiceMonitor. Takie rozwiązanie jest w przybliżeniu odpowiednikiem tworzenia normalnej podklasy języka JavaScript na podstawie klasy bazowej języka ActionScript.
Klasa JavaScript specjalizująca klasę ServiceMonitor miałaby następującą postać:
// JavaScript Constructor function function MyHTTPMonitor(url, method) { // "that" variable makes "this" available in closures below var that = this; // Required initialization of the service monitor, returns the actual ServiceMonitor object. this.monitor = this.initServiceMonitor(); // Initializes URLStream and event handlers. this._urlStream = new air.URLStream(); this._urlRequest = new air.URLRequest(url); if (method) { this._urlRequest.method = method; } else { this._urlRequest.method = "GET"; } function onStatus(event) { that.monitor.available = Number(event.status) == 200; that._urlStream.close(); } function onError(event) { that.monitor.available = false; that._urlStream.close(); } this._urlStream.addEventListener(air.HTTPStatusEvent.HTTP_RESPONSE_STATUS, onStatus); this._urlStream.addEventListener(air.SecurityErrorEvent.SECURITY_ERROR, onError); this._urlStream.addEventListener(air.IOErrorEvent.IO_ERROR, onError); } // Augment JavaScript prototype with public methods from ServiceMonitor air.ServiceMonitor.makeJavascriptSubclass(MyHTTPMonitor); // Implement specializer functions, just as you would when subclassing a JavaScript class MyHTTPMonitor.prototype.checkStatus = function() { air.trace('OVERRIDDEN checkStatus!', this); this._urlStream.load(this._urlRequest); }
Aby użyć klasy języka JavaScript:
var httpMon = new MyHTTPMonitor('http://www.adobe.com')
Należy koniecznie załadować pliki AIRAliases.js oraz aircore.swf ze znacznikami script
.
Parametry
constructorFunction:Object — Właściwość prototype obiektu JavaScript. Na przykład, jeśli obiekt JavaScript używany jako obiekt typu specializer ma nazwę MyHTTPMonitor, należy jako wartość tego parametru przekazać MyHTTPMonitor.prototype .
|
start | () | metoda |
stop | () | metoda |
toString | () | metoda |
override public function toString():String
Wersje środowiska wykonawczego: | AIR 1.0 |
Zwraca ciąg znaków reprezentujący określony obiekt.
Uwaga: Metody klasy Object są tworzone dynamicznie w prototypie klasy Object. Do ponownego zdefiniowania tej metody w podklasie Object, nie należy używać słowa kluczowego override
. Na przykład zamiast nadpisania klasy podstawowej dla podklasy Object implementowana jest funkcja function toString():String
.
String — Ciąg znaków reprezentujący obiekt.
|
status | Zdarzenie |
flash.events.StatusEvent
właściwość StatusEvent.type =
flash.events.StatusEvent.STATUS
Wersje środowiska wykonawczego: | AIR 1.0 |
Wskazuje, że stan usługi uległ zmianie.
Właściwość code
ma wartość "Service.available"
albo "Service.unavailable"
, ale w praktyce sprawdza się wartość właściwości ServiceMonitor.available
.
type
obiektu zdarzenia status
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
code | Opis stanu obiektu. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
level | Kategoria komunikatu, np. "status" , "warning" lub "error" . |
target | Obiekt informujący o swoim stanie. |
Tue Jun 12 2018, 12:06 PM Z