Pakiet | flash.external |
Klasa | public final class ExtensionContext |
Dziedziczenie | ExtensionContext EventDispatcher Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.5 |
Klasa ExtensionContext zawiera również metodę statyczną getExtensionDirectory()
umożliwiającą uzyskanie dostępu do katalogu, w którym rozszerzenie jest zainstalowane na urządzeniu. Zawiera także właściwość actionScriptData
pozwalającą współużytkować dane z natywną implementacją rozszerzenia.
Uwaga: Aplikacje AIR korzystające z profilu extendedDesktop
mogą wykonywać procesy macierzyste przy użyciu klasy NativeProcess.
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
actionScriptData : Object
Obiekt ActionScript (o ile istnieje) związany z tym kontekstem. | ExtensionContext | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
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 funkcję macierzystą określoną przez właściwość functionName. | ExtensionContext | ||
[statyczny]
Tworzy wystąpienie klasy ExtensionContext dla danego identyfikatora rozszerzenia i typu kontekstu. | ExtensionContext | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Zwalnia wystąpienie klasy ExtensionContext. | ExtensionContext | ||
[statyczny]
Zwraca katalog, w którym rozszerzenie jest zainstalowane na urządzeniu. | ExtensionContext | ||
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 | ||
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 | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
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 |
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 | |||
Klasa ExtensionContext udostępnia interfejs dla wywoływania funkcji w implementacji natywnej rozszerzenia natywnego środowiska Adobe AIR. | ExtensionContext |
actionScriptData | właściwość |
actionScriptData:Object
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.5 |
Obiekt ActionScript (o ile istnieje) związany z tym kontekstem.
Dowolny obiekt ActionScript można skojarzyć z wystąpieniem klasy ExtensionContext. Implementacja macierzysta również może pobierać i ustawiać ten obiekt ActionScript. Dzięki temu za pomocą właściwości actionScriptData
można współużytkować dane między stroną ActionScript a stroną macierzystą rozszerzenia.
Wartość właściwości actionScriptData
można również ustawić na null
.
Implementacja
public function get actionScriptData():Object
public function set actionScriptData(value:Object):void
Zgłasza
IllegalOperationError — Dla tego wystąpienia klasy ExtensionContext wywołano już metodę dispose() .
|
call | () | metoda |
public function call(functionName:String, ... args):Object
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.5 |
Wywołuje funkcję macierzystą określoną przez właściwość functionName
. Wszelkie dodatkowe argumenty są przekazywane do funkcji macierzystej.
Parametry
functionName:String — Nazwa odpowiada funkcji w implementacji macierzystej. Ta nazwa może nie być rzeczywistą nazwą funkcji macierzystej, a dowolną nazwą ustaloną między stroną ActionScript i stroną macierzystą rozszerzenia.
| |
... args — Lista argumentów dla funkcji macierzystej. Tymi argumentami mogą być dowolne obiekty ActionScript — typów pierwotnych lub obiekty klasy ActionScript. Typy i kolejność argumentów są ustalane między stroną ActionScript a stroną macierzystą rozszerzenia.
|
Object — Wartość zwracana przez funkcję macierzystą. Jest zwracana wartość null , jeśli funkcja macierzysta nie zwraca żadnej wartości lub zwraca nieprawidłowe odniesienie do obiektu.
|
Zgłasza
ArgumentError — Żadna funkcja nie odpowiada nazwie podanej we właściwości functionName .
| |
IllegalOperationError — Dla tego wystąpienia klasy ExtensionContext wywołano już metodę dispose() . Ten błąd jest również generowany w przypadku, gdy funkcja macierzysta zwraca nieprawidłowe odniesienie do obiektu.
|
createExtensionContext | () | metoda |
public static function createExtensionContext(extensionID:String, contextType:String):ExtensionContext
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.5 |
Tworzy wystąpienie klasy ExtensionContext dla danego identyfikatora rozszerzenia i typu kontekstu.
Parametry
extensionID:String — Identyfikator rozszerzenia. Ten identyfikator ma wartość taką samą jak element id w pliku deskryptora rozszerzenia. Programiści aplikacji mogą również korzystać z tej wartości w elemencie extensionID pliku deskryptora aplikacji. Wszystkie rozszerzenia korzystają z tej samej, globalnej przestrzeni nazw. Dlatego — w celu uniknięcia konfliktów nazw — należy użyć w identyfikatorze rozszerzenia odwrotnej notacji DNS.
| |
contextType:String — Typ kontekstu rozszerzenia. W zależności od typu kontekstu implementacja macierzysta może przeprowadzać różne operacje inicjowania. Różnice te mogą obejmować określenie przez implementację macierzystą innego zestawu dostępnych funkcji macierzystych, jakie może wywołać strona ActionScript. Wartość typu kontekstu to dowolny ciąg uzgodniony między stroną ActionScript a stroną macierzystą rozszerzenia. W przypadku prostych rozszerzeń inne typy kontekstu w ogóle nie mają zastosowania. W takich przypadkach należy przekazać pusty ciąg "" lub wartość null jako wartość contextType .
|
ExtensionContext — Nowe wystąpienie klasy ExtensionContext. Zwraca wartość null , jeśli nie jest dostępne żadne rozszerzenie z daną wartością extensionID albo nie można znaleźć lub uruchomić funkcji inicjowania kontekstu określonej w dokumencie extension.xml dla danej wartości extensionID .
|
Zgłasza
ArgumentError — Parametr extensionID ma wartość null lub nie jest prawidłowym identyfikatorem rozszerzenia.
|
dispose | () | metoda |
public function dispose():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.5 |
Zwalnia wystąpienie klasy ExtensionContext.
Środowisko wykonawcze powiadamia implementację macierzystą, która może zwolnić skojarzone zasoby macierzyste. Po wywołaniu metody dispose()
kod nie może wywołać metody call()
i nie może pobierać ani ustawiać właściwości actionScriptData
.
getExtensionDirectory | () | metoda |
public static function getExtensionDirectory(extensionID:String):File
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.5 |
Zwraca katalog, w którym rozszerzenie jest zainstalowane na urządzeniu.
Czasami rozszerzenie obejmuje zasoby, takie jak obrazy, do których trzeba uzyskać dostęp w kodzie ActionScript rozszerzenia. Czasami kod wymaga też informacji dostępnych w pliku deskryptora rozszerzenia, na przykład numeru wersji rozszerzenia. Korzystając z tej metody, można uzyskać dostęp do katalogu głównego rozszerzenia.
Niezależnie od tego, gdzie rozszerzenie znajduje się na urządzeniu, pliki rozszerzenia są zawsze w tej samej lokalizacji względem katalogu głównego rozszerzenia. Korzystając z wystąpienia klasy File zwróconego przez tę metodę, można przejść do określonych plików dołączonych do rozszerzenia i wykonać na nich operacje.
Struktura katalogu rozszerzenia jest następująca:
extension base directory/ platform independent files META-INF/ ANE/ extension.xml platform name/ platform-dependent files and directories
Lokalizacja katalogu rozszerzenia zależy od tego, czy rozszerzenie jest dostępne jako część pakietu aplikacji czy jako część pakietu urządzenia:
- W przypadku rozszerzeń dostępnych jako część pakietu aplikacji katalog rozszerzenia znajduje się w katalogu aplikacji.
- W przypadku rozszerzeń dostępnych jako część pakietu urządzenia lokalizacja katalogu rozszerzenia zależy od urządzenia.
Wyjątkiem w stosowaniu metody getExtensionDirectory()
są rozszerzenia natywne dla urządzeń z systemem iOS. Zasoby dla takiego rozszerzenia nie są zlokalizowane w katalogu rozszerzenia. Znajdują się one w katalogu aplikacji najwyższego poziomu.
Parametry
extensionID:String — Identyfikator rozszerzenia. Identyfikator ma taką samą wartość jak parametr extensionID metody createExtensionContext() .
|
File — Wystąpienie klasy File dla katalogu, w którym jest zainstalowane rozszerzenie.
|
Zgłasza
TypeError — Parametr extensionID nie może przyjmować wartości null.
| |
ArgumentError — Wartość określona dla argumentu extensionID jest nieprawidłowa. Katalog nie istnieje.
|
status | Zdarzenie |
flash.events.StatusEvent
właściwość StatusEvent.type =
flash.events.StatusEvent.STATUS
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.5 |
Klasa ExtensionContext udostępnia interfejs dla wywoływania funkcji w implementacji natywnej rozszerzenia natywnego środowiska Adobe AIR. Tej klasy można używać tylko w klasach języka ActionScript należących do rozszerzenia.
Obsługa profilów AIR: Ta funkcja jest obsługiwana na urządzeniach przenośnych w środowisku AIR 3 i nowszych wersjach. Jest ona również obsługiwana, począwszy od środowiska AIR 3, na komputerach w przypadku aplikacji używających profilu urządzeń extendedDesktop
. Obsługa tej funkcji jest także oferowana w środowisku AIR dla urządzeń telewizyjnych, począwszy od wersji 2.5, w przypadku aplikacji używających profilu urządzeń extendedTV
.
Elementy składowe rozszerzenia natywnego:
- Klasy ActionScript.
- Kod macierzysty. Kod macierzysty jest to kod wykonywany na urządzeniu poza środowiskiem wykonawczym. Kodem macierzystym jest na przykład kod napisany w języku C.
Rozszerzenia natywne można tworzyć w następujących celach:
- Udostępnienie aplikacji AIR funkcji specyficznych dla urządzeń
- Ponowne użycie istniejącego kodu macierzystego
- Uzyskanie większej wydajności przetwarzania przez użycie kodu macierzystego zamiast kodu ActionScript
Po stronie rozszerzenia języka ActionScript klasa ExtensionContext pozwala uzyskać dostęp do natywnej strony rozszerzenia. Najpierw należy utworzyć wystąpienie klasy ExtensionContext. Aby to zrobić, należy wywołać metodę statyczną ExtensionContext.createExtensionContext()
.
Po utworzeniu wystąpienia klasy ExtensionContext należy wywołać funkcję macierzystą za pomocą metody call()
.
Po wykonaniu działań w wystąpieniu klasy ExtensionContext należy wywołać metodę dispose()
, aby zwolnić powiązane zasoby macierzyste. Jeśli nie zostanie jawnie wywołana metoda dispose()
, proces czyszczenia pamięci środowiska wykonawczego wywoła metodę dispose()
podczas zwalniania wystąpienia. Zwykle jawne wywołanie metody dispose()
następuje znacznie wcześniej niż w przypadku czekania na proces czyszczenia pamięci.
Wystąpienie ExtensionContext może wykrywać zdarzenia StatusEvent wywoływane przez kod macierzysty wtedy, gdy występuje zdarzenie asynchroniczne w implementacji kodu macierzystego rozszerzenia. Klasa ExtensionContext dziedziczy po klasie EventDispatcher, dzięki czemu ona również pozwala na wywoływanie zdarzeń.
Definiuje wartość właściwościtype
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