Pakiet | air.update |
Klasa | public class ApplicationUpdater |
Dziedziczenie | ApplicationUpdater EventDispatcher Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Ta klasa jest zawarta w pliku applicationupdater_ui.swc dostępnym w zestawie SDK środowiska Adobe AIR. Plik applicationupdater_ui.swc znajduje się w katalogu frameworks/libs/air środowiska AIR SDK.
Program Adobe® Flex™ Builder™ ładuje tę klasę automatycznie podczas tworzenia projektu dla środowiska Adobe AIR. Plik SWC należy uwzględnić podczas kompilowania aplikacji za pomocą środowiska Adobe® Flex™ SDK.
Zarządzanie aktualizowaniem aplikacji może być skomplikowanym zagadnieniem. Architektura aktualizacji aplikacji AIR obejmuje elementy interfejsu API pomagające programistom w tworzeniu sprawnych mechanizmów aktualizacji. Funkcje architektury aktualizacji środowiska AIR wspomagają realizację następujących zadań:
-
Regularne sprawdzanie, czy są dostępne aktualizacje — w stałych odstępach czasu lub na żądanie użytkownika.
-
Pobieranie plików AIR (aktualizacji) ze źródła w sieci WWW.
-
Powiadamianie użytkownika o nowo zainstalowanej wersji przy pierwszym uruchomieniu.
-
Potwierdzanie, czy użytkownik chce sprawdzić dostępność aktualizacji.
-
Wyświetlanie informacji o nowej wersji aktualizacji.
-
Wyświetlanie postępu pobierania i informacji o błędach.
Architektura aktualizacji aplikacji AIR umożliwia przechowywanie informacji o wersji aktualizacji aplikacji AIR w prostych plikach konfiguracyjnych XML. W przypadku większości aplikacji przygotowanie tych plików konfiguracyjnych i dodanie prostego kodu wystarczy do zapewnienia użytkownikom końcowym odpowiedniej funkcjonalności aktualizacji.
Z klasy AIRUpdater należy korzystać, jeśli planowane jest zdefiniowanie własnego interfejsu użytkownika współpracującego z architekturą aktualizacji aplikacji AIR.
W procesie aktualizacji występuje kolejno szereg stanów. Wartość właściwości currentState
obiektu Updater odzwierciedla bieżący stan tego obiektu:
Wartość currentState | Opis |
---|---|
"UNINITIALIZED" | Obiekt Updater nie został zainicjowany. |
"INITIALIZING" | Trwa inicjowanie obiektu Updater. |
"READY" | Obiekt Updater został zainicjowany. |
"BEFORE_CHECKING" | Obiekt Updater nie sprawdził jeszcze, czy istnieje plik deskryptora aktualizacji. |
"CHECKING" | Obiekt Updater sprawdza, czy istnieje plik deskryptora aktualizacji. |
"AVAILABLE" | Plik deskryptora aktualizacji jest dostępny. |
"DOWNLOADING" | Obiekt Updater pobiera plik AIR. |
"DOWNLOADED" | Obiekt Updater pobrał plik AIR. |
"INSTALLING" | Obiekt Updater instaluje plik AIR. |
"PENDING_INSTALLING" | Obiekt Updater jest zainicjowany i istnieją oczekujące aktualizacje. |
Podczas testowania aplikacji za pomocą programu AIR Debug Launcher (ADL) próba zaktualizowania aplikacji spowoduje wygenerowanie wyjątku IllegalOperationError.
Architektura aktualizacji środowiska AIR jest obsługiwana jedynie w profilu aplikacji lokalnej. Nie jest ona obsługiwana w przypadku aplikacji z rozszerzonym profilem aplikacji lokalnej (aplikacji instalowanych za pomocą rodzimego instalatora). Nie jest również obsługiwana w profilu urządzeń przenośnych (aplikacji iPhone napisanych z użyciem języka ActionScript 3.0). Aby w czasie wykonywania dowiedzieć się, czy jest obsługiwana architektura aktualizacji, należy sprawdzić wartość właściwości Updater.isSupported
.
Szczegółowe informacje na temat platformy aktualizacji AIR zawiera rozdział Aktualizowanie aplikacji AIR w dokumencie Budowanie aplikacji dla środowiska Adobe AIR.
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
configurationFile : File
Położenie pliku konfiguracyjnego, w którym określone są wartości właściwości delay i updateURL. | ApplicationUpdater | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
currentState : String [tylko do odczytu]
Wewnętrzny stan obiektu Updater. | ApplicationUpdater | ||
currentVersion : String [tylko do odczytu]
Bieżąca wersja aplikacji. | ApplicationUpdater | ||
delay : Number
Odstęp czasu (w dniach) między sprawdzeniami dostępności nowych aktualizacji. | ApplicationUpdater | ||
isFirstRun : Boolean [tylko do odczytu]
Określa, czy jest to pierwsze uruchomienie po pomyślnej aktualizacji (true), czy nie (false). | ApplicationUpdater | ||
isNewerVersionFunction : Function
Funkcja, której obiekt Updater powinien używać do porównywania wersji. | ApplicationUpdater | ||
previousApplicationStorageDirectory : File [tylko do odczytu]
Poprzednie położenie katalogu magazynu aplikacji, jeśli zmieniło się po aktualizacji. | ApplicationUpdater | ||
previousVersion : String [tylko do odczytu]
Poprzednia wersja aplikacji. | ApplicationUpdater | ||
updateDescriptor : XML [tylko do odczytu]
Treść pliku deskryptora aktualizacji pobranego spod adresu URL aktualizacji. | ApplicationUpdater | ||
updateURL : String
Położenie pliku deskryptora aktualizacji. | ApplicationUpdater | ||
wasPendingUpdate : Boolean [tylko do odczytu]
Określa, czy istniała aktualizacja odłożona w czasie, nawet jeśli jej instalacja nie powiodła się (true); false w przeciwnym wypadku. | ApplicationUpdater |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Funkcja konstruktora. | ApplicationUpdater | ||
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 | ||
Anuluje proces aktualizacji. | ApplicationUpdater | ||
Asynchronicznie pobiera i interpretuje plik deskryptora aktualizacji. | ApplicationUpdater | ||
Rozpoczyna proces aktualizacji. | ApplicationUpdater | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Asynchronicznie pobiera plik aktualizacji. | ApplicationUpdater | ||
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń. | EventDispatcher | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Inicjuje obiekt Updater. | ApplicationUpdater | ||
Rozpoczyna proces aktualizacji przy użyciu lokalnego pliku AIR. | ApplicationUpdater | ||
Instaluje plik aktualizacji. | ApplicationUpdater | ||
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 | |||
Wywoływane tuż przed zainstalowaniem aktualizacji, po wywołaniu metody installUpdate(). | ApplicationUpdater | |||
Wywoływane przed rozpoczęciem procesu aktualizacji, tuż zanim obiekt Updater podejmie próbę pobrania pliku deskryptora aktualizacji. | ApplicationUpdater | |||
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny. | EventDispatcher | |||
Wywoływane po ukończeniu pobierania pliku aktualizacji. | ApplicationUpdater | |||
Wywoływane, jeśli podczas nawiązywania połączenia lub pobierania pliku aktualizacji wystąpi błąd. | ApplicationUpdater | |||
Wywoływane po wywołaniu metody downloadUpdate() i nawiązaniu połączenia z serwerem. | ApplicationUpdater | |||
Wywoływane, gdy wystąpi błąd podczas inicjowania lub podczas procesu aktualizacji (w razie zajścia nieoczekiwanego zdarzenia). | ApplicationUpdater | |||
Wywoływane, gdy wystąpi błąd podczas weryfikacji pliku przekazanego jako parametr airFile w wywołaniu metody installFromAIRFile(). | ApplicationUpdater | |||
Wywoływane po tym, jak obiekt Updater pomyślnie zweryfikuje plik w wywołaniu metody installFromAIRFile(). | ApplicationUpdater | |||
Wywoływane po zakończeniu inicjowania. | ApplicationUpdater | |||
Wywoływane w chwili pobrania pliku aktualizacji. | ApplicationUpdater | |||
Wywoływane, gdy wystąpi błąd przy próbie pobrania lub przeanalizowania pliku deskryptora aktualizacji. | ApplicationUpdater | |||
Wywoływane po tym, jak obiekt Updater pomyślnie pobierze i zinterpretuje plik deskryptora aktualizacji. | ApplicationUpdater |
configurationFile | właściwość |
configurationFile:File
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Położenie pliku konfiguracyjnego, w którym określone są wartości właściwości delay
i updateURL
. Jeśli ta właściwość wskazuje na nieistniejący plik, wywołanie metody initialize()
spowoduje wygenerowanie wyjątku Error.
Oto przykładowy plik konfiguracyjny:
<?xml version="1.0" encoding="utf-8"?> <configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0" > <url>app:/server/update.xml</url> <delay>1</delay> </configuration>
Zamiast ładować plik konfiguracyjny, można za pomocą kodu ActionScript przypisać wartości właściwościom delay
i updateURL
.
Implementacja
public function get configurationFile():File
public function set configurationFile(value:File):void
Powiązane elementy interfejsu API
currentState | właściwość |
currentState:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wewnętrzny stan obiektu Updater. Właściwość może przyjmować następujące wartości:
-
"UNINITIALIZED"
— obiekt Updater nie został zainicjowany. -
"INITIALIZING"
— trwa inicjowanie obiektu Updater. -
"READY"
— obiekt Updater został zainicjowany. -
"BEFORE_CHECKING"
— obiekt Updater nie sprawdził jeszcze, czy istnieje plik deskryptora aktualizacji. -
"CHECKING"
— obiekt Updater sprawdza, czy istnieje plik deskryptora aktualizacji. -
"AVAILABLE"
— plik deskryptora aktualizacji jest dostępny. -
"DOWNLOADING"
— obiekt Updater pobiera plik AIR. -
"DOWNLOADED"
— obiekt Updater pobrał plik AIR. -
"INSTALLING"
— obiekt Updater instaluje plik AIR. -
"PENDING_INSTALLING"
— obiekt Updater jest zainicjowany i istnieją oczekujące aktualizacje.
Implementacja
public function get currentState():String
currentVersion | właściwość |
currentVersion:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Bieżąca wersja aplikacji. Wartość tej właściwości jest przypisywana podczas wywołania metody initialize()
. Przypisana wartość jest równa wersji określonej w pliku deskryptora aplikacji.
Implementacja
public function get currentVersion():String
delay | właściwość |
delay:Number
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Odstęp czasu (w dniach) między sprawdzeniami dostępności nowych aktualizacji.
Wartość 0 (domyślna) oznacza, że licznik czasu nie jest aktywny, a zatem dostępność aktualizacji nie jest regularnie sprawdzana. Wartość można określić za pośrednictwem tej właściwości lub w pliku konfiguracyjnym. Gdy wartość jest określona na oba sposoby, przyjmowana jest wartość przypisana właściwości.
Wartością domyślną jest 0.
Implementacja
public function get delay():Number
public function set delay(value:Number):void
isFirstRun | właściwość |
isFirstRun:Boolean
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Określa, czy jest to pierwsze uruchomienie po pomyślnej aktualizacji (true
), czy nie (false
). Obiekt Updater ustawia tę wartość podczas wywołania metody initialize()
. Program powinien sprawdzać, czy właściwość isFirstRun
jest ustawiona na true
, jeśli istnieje potrzeba migracji danych z jednej wersji do drugiej.
Implementacja
public function get isFirstRun():Boolean
Powiązane elementy interfejsu API
isNewerVersionFunction | właściwość |
isNewerVersionFunction:Function
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Funkcja, której obiekt Updater powinien używać do porównywania wersji. Domyślnie architektura aktualizacji porównuje wersje w celu wykrycia, czy wersja z witryny zdalnej jest nowsza od zainstalowanej wersji aplikacji. Jednak niekiedy domyślny sposób porównywania nie jest zgodny z systemem oznaczania wersji przyjętym przez programistę. Ta właściwość umożliwia określenie nowej funkcji realizującej porównanie.
Domyślna funkcja porównująca przyjmuje numery wersji w postaci x.y.z, gdzie x, y, i z mogą zawierać litery i cyfry. Domyślna funkcja porównująca rozpoznaje pewne sytuacje szczególne. Jeśli funkcja testująca znajdzie w ciągu wersji ciąg znaków "alpha"
, "beta"
, lub "rc"
, to obowiązuje zasada alpha
< beta
< rc
.
Implementacja
public function get isNewerVersionFunction():Function
public function set isNewerVersionFunction(value:Function):void
Przykład ( Sposób korzystania z tego przykładu )
customFn
dla obiektu Updater o nazwie appUpdate
. Przykładowa funkcja jest bardzo uproszczona. Funkcja niestandardowa powinna zwracać wartość typu Boolean wyznaczoną na podstawie reguł porównywania wersji przyjętych przez programistę.
appUpdate.isNewerVersionFunction = customFn; function customFn (currentVersion:String, updateVersion:String):Boolean { return updateVersion > currentVersion; }
previousApplicationStorageDirectory | właściwość |
previousApplicationStorageDirectory:File
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Poprzednie położenie katalogu magazynu aplikacji, jeśli zmieniło się po aktualizacji. Położenie katalogu magazynu aplikacji zmienia się po uaktualnieniu, któremu towarzyszy migracja certyfikatu. Jeśli nie ma miejsca migracja certyfikatu, katalog magazynu aplikacji nie ulega zmianie podczas aktualizacji aplikacji. Wówczas ta właściwość przyjmuje wartość null
. Wartość tej właściwości jest przypisywana podczas wywołania metody initialize()
.
Programista może podpisać nową wersję aplikacji AIR nowym certyfikatem, korzystając z opcji -migrate
podczas tworzenia pakietu z plikiem AIR za pomocą programu ADT. Jeśli do podpisania nowej wersji aplikacji AIR użyty został nowy certyfikat, katalog magazynu lokalnego aplikacji zmieni się, gdy użytkownik zainstaluje nową wersję. Ta właściwość umożliwia przeniesienie danych ze starego katalogu magazynu aplikacji do nowego katalogu magazynu aplikacji (File.applicationStorageDirectory
). Więcej informacji zawiera sekcja „Podpisywanie pliku AIR w celu zmiany certyfikatu aplikacji” w rozdziale „Tworzenie aplikacji AIR za pomocą narzędzi wiersza poleceń” podręcznika programowania w środowisku Adobe AIR.
Implementacja
public function get previousApplicationStorageDirectory():File
previousVersion | właściwość |
previousVersion:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Poprzednia wersja aplikacji. Wartość tej właściwości jest przypisywana podczas wywołania metody initialize()
. Zwraca numer poprzedniej wersji aplikacji przed uaktualnieniem (wartość przypisana tylko wtedy, gdy właściwość isfirstRun
jest równa true
); w przeciwnym razie przyjmuje wartość null
.
Implementacja
public function get previousVersion():String
updateDescriptor | właściwość |
updateDescriptor:XML
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Treść pliku deskryptora aktualizacji pobranego spod adresu URL aktualizacji. Ta właściwość ma wartość różną od null tylko wtedy, gdy obiekt Updater wywołuje zdarzenie updateStatus
.
Implementacja
public function get updateDescriptor():XML
updateURL | właściwość |
updateURL:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Położenie pliku deskryptora aktualizacji. Dozwolone jest każde położenie, jakiego można użyć w ścieżce URLRequest. Jest to jedyne ustawienie obowiązkowe wymagane przez obiekt Updater. Adres URL aktualizacji można określić albo za pośrednictwem tej właściwości, albo w pliku konfiguracyjnym. Gdy wartość jest określona na oba sposoby, obiekt Updater przyjmuje wartość przypisaną tej właściwości.
Implementacja
public function get updateURL():String
public function set updateURL(value:String):void
wasPendingUpdate | właściwość |
wasPendingUpdate:Boolean
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Określa, czy istniała aktualizacja odłożona w czasie, nawet jeśli jej instalacja nie powiodła się (true
); false
w przeciwnym wypadku. Obiekt Updater przypisuje wartość tej właściwości podczas wywołania metody initialize()
. Właściwości wasPendingUpdate
i isFirstRun
umożliwiają sprawdzenie, czy instalacja aktualizacji nie powiodła się (wówczas wasPendingUpdate
przyjmuje wartość true
, a isFirstRun
przyjmuje wartość false
).
Implementacja
public function get wasPendingUpdate():Boolean
Powiązane elementy interfejsu API
ApplicationUpdater | () | Konstruktor |
public function ApplicationUpdater()
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Funkcja konstruktora.
cancelUpdate | () | metoda |
public function cancelUpdate():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Anuluje proces aktualizacji. Wywołanie tej metody anuluje wszystkie oczekujące operacje pobierania, usuwa wszystkie nie w pełni pobrane pliki i ponownie uruchamia zegar odliczający interwał między sprawdzeniami dostępności aktualizacji.
Proces aktualizacji można anulować w dowolnym momencie, o ile tylko maszyna stanu nie jest w stanie "UNINITIALIZED" ani "INITIALIZING". Metoda nie wykonuje żadnych czynności, jeśli zostanie wywołana w stanie "UNINITIALIZED" lub "INITIALIZING".
checkForUpdate | () | metoda |
public function checkForUpdate():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Asynchronicznie pobiera i interpretuje plik deskryptora aktualizacji. Wywołanie tej metody powoduje przejście obiektu Updater w stan "CHECKING". Tę metodę należy wywoływać tylko po anulowaniu zdarzenia checkForUpdate
.
Ta metoda jest wykonywana tylko wtedy, gdy obiekt Updater znajduje się w stanie "BEFORE_CHECKING".
Zdarzenia
updateStatus: — Obiekt Updater pomyślnie pobrał i zinterpretował plik deskryptora aktualizacji.
| |
updateError: — Wystąpił błąd przy próbie pobrania lub przeanalizowania pliku deskryptora aktualizacji.
|
checkNow | () | metoda |
public function checkNow():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Rozpoczyna proces aktualizacji. Wywołanie tej metody nie powoduje zatrzymania licznika czasu opóźnienia między sprawdzaniem dostępności aktualizacji; metoda wykrywa jednak uruchomiony proces aktualizacji i pomija bieżącą iterację.
Ta metoda jest wykonywana tylko wtedy, gdy bieżący stan to "READY".
Wywołanie tej metody może spowodować, że obiekt Updater wywoła następujące zdarzenie:
Zdarzenia
checkForUpdate: — Wywoływane tuż przed rozpoczęciem procesu aktualizacji.
|
downloadUpdate | () | metoda |
public function downloadUpdate():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Asynchronicznie pobiera plik aktualizacji. Wywołanie tej metody powoduje przejście maszyny stanu w stan "DOWNLOADING". Tę metodę trzeba wywoływać tylko jeśli zdarzenie StatusUpdateEvent.UPDATE_STATUS zostało anulowane, gdy właściwość available zdarzenia miała wartość true.
Ta metoda jest wykonywana tylko wtedy, gdy bieżący stan to "AVAILABLE".
Zdarzenia
downloadStart: — Wywoływane po nawiązaniu połączenia z serwerem.
| |
progress: — Wywoływane po zakończeniu inicjowania.
| |
downloadError: — Wywoływane, jeśli podczas nawiązywania połączenia lub pobierania pliku aktualizacji wystąpi błąd. To zdarzenie jest także wywoływane w wypadku odebrania niepoprawnego statusu HTTP (np. „404 - nie znaleziono pliku”).
|
initialize | () | metoda |
public function initialize():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Inicjuje obiekt Updater. Po wywołaniu metoda wykonuje następujące operacje:
-
Inicjuje architekturę aktualizacji i cicho (oraz synchroniczne) instaluje wszelkie oczekujące aktualizacje. Metodę tę należy wywołać w fazie uruchamiania aplikacji, ponieważ może spowodować ponowne jej uruchomienie.
-
Sprawdza, czy istnieje oczekująca (odłożona w czasie) aktualizacja, a jeśli tak, instaluje ją.
-
Jeśli wcześniejsza aktualizacja nie powiodła się, usuwa z pamięci informacje o pliku aktualizacji i o wersji.
-
Jeśli upłynął czas opóźnienia między automatycznym sprawdzaniem dostępności aktualizacji, rozpoczyna aktualizację; w przeciwnym razie uruchamia licznik czasu opóźnienia. Jednak podczas testowania aplikacji za pomocą programu AIR Debug Launcher (ADL) próba zaktualizowania aplikacji spowoduje wygenerowanie wyjątku IllegalOperationError.
Zdarzenia
initialized: — Inicjowanie zostało ukończone.
| |
error: — Wystąpił błąd podczas inicjowania.
|
installFromAIRFile | () | metoda |
public function installFromAIRFile(file:File):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Rozpoczyna proces aktualizacji przy użyciu lokalnego pliku AIR.
Wywołanie tej metody nie odnosi skutku, jeśli trwa już proces aktualizacji (w stanie innym niż "DOWNLOADED"
).
Ta funkcja jest przydatna w aplikacjach, dla których w pliku deskryptora element customUpdateUI
jest ustawiony na true
.
Podczas testowania aplikacji za pomocą aplikacji ADL (AIR Debug Launcher) wywoływanie tej metody powoduje wygenerowanie wyjątku IllegalOperationError.
Parametry
file:File — Lokalny plik AIR do zainstalowania.
|
Zdarzenia
fileUpdateStatus: — Wywoływane po pomyślnym zweryfikowaniu pliku AIR przez obiekt Updater.
| |
updateError: — Wywoływane, gdy wystąpi błąd przy próbie przeanalizowania pliku deskryptora aktualizacji.
|
installUpdate | () | metoda |
public function installUpdate():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Instaluje plik aktualizacji. Wywołanie metody powoduje przejście maszyny stanu w stan "INSTALLING" i jest konieczne tylko jeśli zdarzenie downLoadComplete
zostało anulowane.
Metodę należy wywoływać, gdy obiekt Updater jest w stanie "DOWNLOADED". Wywołanie jej w jakimkolwiek innym stanie nie odniesie żadnego skutku.
Podczas testowania aplikacji za pomocą aplikacji ADL (AIR Debug Launcher), wywoływanie tej metody powoduje wygenerowanie wyjątku IllegalOperationError.
Zdarzenia
beforeInstall: — Wywoływane tuż przed zainstalowaniem aktualizacji. Niekiedy celowe jest uniemożliwienie instalacji na tym etapie, ponieważ użytkownik mógłby utracić wszystkie wyniki pracy po zakończeniu pracy aplikacji wymuszonym w celu zainstalowania aktualizacji.
|
beforeInstall | Zdarzenie |
air.update.events.UpdateEvent
właściwość UpdateEvent.type =
air.update.events.UpdateEvent.BEFORE_INSTALL
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane tuż przed zainstalowaniem aktualizacji, po wywołaniu metody installUpdate()
. Niekiedy celowe jest uniemożliwienie instalacji na tym etapie, ponieważ użytkownik mógłby utracić wszystkie wyniki pracy po zakończeniu pracy aplikacji wymuszonym w celu zainstalowania aktualizacji.
Wywołanie metody preventDefault()
obiektu zdarzenia powoduje odłożenie instalacji do momentu następnego uruchomienia aplikacji. Po wywołaniu metody preventDefault()
nie jest możliwe uruchomienie jakiegokolwiek następnego procesu aktualizacji w tej sesji aplikacji (poprzez wywołanie metody installUpdate()
lub po automatycznym okresowym sprawdzeniu).
Domyślne zachowanie biblioteki ApplicationUpdater polega na pobraniu pliku deskryptora aktualizacji. Aby anulować to zachowanie, można wywołać metodę preventDefault()
.
UpdateEvent.BEFORE_INSTALL
definiuje wartość właściwości type
obiektu zdarzenia beforeInstall
.
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ć. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt Updater. |
checkForUpdate | Zdarzenie |
air.update.events.UpdateEvent
właściwość UpdateEvent.type =
air.update.events.UpdateEvent.CHECK_FOR_UPDATE
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane przed rozpoczęciem procesu aktualizacji, tuż zanim obiekt Updater podejmie próbę pobrania pliku deskryptora aktualizacji. Obiekt Updater może wywołać to zdarzenie w wyniku bezpośredniego wywołania metody checkNow()
lub po upływie czasu odmierzanego przez licznik opóźnienia między sprawdzaniem dostępności aktualizacji.
UpdateEvent.CHECK_FOR_UPDATE
definiuje wartość właściwości type
obiektu zdarzenia checkForUpdate
.
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ć. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt Updater. |
downloadComplete | Zdarzenie |
air.update.events.UpdateEvent
właściwość UpdateEvent.type =
air.update.events.UpdateEvent.DOWNLOAD_COMPLETE
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane po ukończeniu pobierania pliku aktualizacji.
Zwykle to zdarzenie jest wykorzystywane do wyświetlenia pytania, czy użytkownik chce rozpocząć instalowanie aktualizacji.
Domyślne zachowanie klasy ApplicationUpdater polega na automatycznym wywołaniu metody installUpdate()
.
UpdateEvent.DOWNLOAD_COMPLETE
definiuje wartość właściwości type
obiektu zdarzenia downloadComplete
.
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ć. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt Updater. |
downloadError | Zdarzenie |
air.update.events.DownloadErrorEvent
właściwość DownloadErrorEvent.type =
air.update.events.DownloadErrorEvent.DOWNLOAD_ERROR
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane, jeśli podczas nawiązywania połączenia lub pobierania pliku aktualizacji wystąpi błąd. To zdarzenie jest także wywoływane w wypadku odebrania niepoprawnego statusu HTTP (np. „404 - nie znaleziono pliku”).
Z chwilą wywołania tego zdarzenia automatycznie uruchamiany jest licznik czasu (jeśli opóźnienie jest większe od 0).
StałaDownloadErrorEvent.DOWNLOAD_ERROR
definiuje wartość właściwości type
obiektu zdarzenia downloadError
.
Właściwość errorID
obiektu DownloadErrorEvent jest liczbą całkowitą definiującą informacje o błędzie (zob. poniższą tabelę). Dodatkowa właściwość subErrorID
może zawierać dalsze informacje o błędzie.
Kod błędu errorID | Opis |
---|---|
16800 | Występuje podczas weryfikacji pobranego pliku aktualizacji. Właściwość subErrorID może zawierać dodatkowe informacje. |
16801 | Niepoprawny plik Adobe AIR (brak pliku application.xml). |
16802 | Niepoprawny plik Adobe AIR (brak typu MIME). |
16803 | Niepoprawny plik Adobe AIR (format). |
16804 | Niepoprawny plik Adobe AIR (niepoprawne znaczniki). |
16805 | Niepoprawny plik Adobe AIR (nieznany format kompresji). |
16806 | Niepoprawny plik Adobe AIR (niepoprawna nazwa pliku). |
16807 | Niepoprawny plik Adobe AIR (uszkodzony). |
16808 | Plik konfiguracyjny nie istnieje. |
16809 | Właściwość updateURL nie jest ustawiona. |
16810 | Zarezerwowany. |
16811 | Niepoprawny plik konfiguracyjny (nieznana wersja konfiguracji). |
16812 | Niepoprawny plik konfiguracyjny (brak adresu URL). |
16813 | Niepoprawny plik konfiguracyjny (format opóźnienia). |
16814 | Niepoprawny plik konfiguracyjny (niepoprawne wartości defaultUI). |
16815 | Niepoprawny deskryptor aktualizacji (nieznana wersja deskryptora). |
16816 | Niepoprawny deskryptor aktualizacji (brak wersji aktualizacji). |
16817 | Niepoprawny deskryptor aktualizacji (niepoprawny opis). |
16818 | Błąd wejścia/wyjścia podczas zapisywania danych na dysku. Więcej informacji można uzyskać na podstawie wartości właściwości subErrorID . |
16819 | Błąd zabezpieczeń podczas pobierania. Więcej informacji można uzyskać na podstawie wartości właściwości subErrorID . |
16820 | Niepoprawny kod statusu HTTP. Możliwe, że właściwość subErrorID zawiera niepoprawny kod statusu. |
16821 | Zarezerwowany. |
16822 | Błąd wejścia/wyjścia podczas pobierania. Więcej informacji można uzyskać na podstawie wartości właściwości subErrorID . |
16823 | Błąd końca pliku podczas zapisywania danych na dysku. Więcej informacji można uzyskać na podstawie wartości właściwości subErrorID . |
16824 | Niepoprawny deskryptor aktualizacji. Więcej informacji można uzyskać na podstawie wartości właściwości subErrorID . |
16825 | Plik aktualizacji zawiera aplikację z innym identyfikatorem. |
16826 | Plik aktualizacji nie zawiera nowszej wersji aplikacji. |
16827 | Wersja zapisana w pliku aktualizacji jest różna od wersji w deskryptorze aktualizacji. |
16828 | Zaktualizowanie aplikacji nie jest możliwe; zwykle wynika to z faktu, że aplikacja jest uruchomiona wewnątrz programu AIR Debug Launcher (ADL). |
16829 | Brak pliku aktualizacji podczas instalowania. |
downloadStart | Zdarzenie |
air.update.events.UpdateEvent
właściwość UpdateEvent.type =
air.update.events.UpdateEvent.DOWNLOAD_START
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane po wywołaniu metody downloadUpdate()
i nawiązaniu połączenia z serwerem. W przypadku użycia biblioteki ApplicationUpdater często stosowanym rozwiązaniem jest wyświetlanie paska postępu pobierania w procedurze obsługi tego zdarzenia.
UpdateEvent.DOWNLOAD_START
definiuje wartość właściwości type
obiektu zdarzenia downloadStart
.
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ć. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt Updater. |
error | Zdarzenie |
flash.events.ErrorEvent
właściwość ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane, gdy wystąpi błąd podczas inicjowania lub podczas procesu aktualizacji (w razie zajścia nieoczekiwanego zdarzenia).
Definiuje wartość właściwościtype
obiektu zdarzenia error
.
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ć. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt, w którym wystąpiło niepowodzenie operacji sieciowej. |
text | Tekst, który ma być wyświetlany w charakterze komunikatu o błędzie. |
fileUpdateError | Zdarzenie |
air.update.events.StatusFileUpdateErrorEvent
właściwość StatusFileUpdateErrorEvent.type =
air.update.events.StatusFileUpdateErrorEvent.FILE_UPDATE_ERROR
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane, gdy wystąpi błąd podczas weryfikacji pliku przekazanego jako parametr airFile
w wywołaniu metody installFromAIRFile()
.
StatusUpdateErrorEvent.UPDATE_ERROR
definiuje wartość właściwości type
obiektu zdarzenia statusUpdateError
.
fileUpdateStatus | Zdarzenie |
air.update.events.StatusFileUpdateEvent
właściwość StatusFileUpdateEvent.type =
air.update.events.StatusFileUpdateEvent.FILE_UPDATE_STATUS
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane po tym, jak obiekt Updater pomyślnie zweryfikuje plik w wywołaniu metody installFromAIRFile()
.
StatusUpdateEvent.UPDATE_STATUS
definiuje wartość właściwości type
obiektu zdarzenia updateStatus
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
available | Określa, czy jest dostępna wersja inna niż wersja bieżącej aplikacji (true ); false w przeciwnym wypadku (ta sama wersja). |
path | Właściwość nativePath obiektu File aktualizacji określonego przez parametr airFile w wywołaniu metody installFromAIRFile() . |
version | Określa wersję nowej aktualizacji. |
initialized | Zdarzenie |
air.update.events.UpdateEvent
właściwość UpdateEvent.type =
air.update.events.UpdateEvent.INITIALIZED
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane po zakończeniu inicjowania.
StałaUpdateEvent.INITIALIZED
definiuje wartość właściwości type
obiektu zdarzenia initialized
.
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ć. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt Updater. |
progress | Zdarzenie |
flash.events.ProgressEvent
właściwość ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane w chwili pobrania pliku aktualizacji.
Definiuje wartość właściwościtype
obiektu zdarzenia progress
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
bytesLoaded | Liczba elementów lub bajtów załadowanych w momencie, w którym detektor przetwarza zdarzenie. |
bytesTotal | Łączna liczba elementów lub bajtów, które zostaną ostatecznie załadowane w razie pomyślnego zakończenia operacji ładowania. |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt informujący o postępie. |
updateError | Zdarzenie |
air.update.events.StatusUpdateErrorEvent
właściwość StatusUpdateErrorEvent.type =
air.update.events.StatusUpdateErrorEvent.UPDATE_ERROR
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane, gdy wystąpi błąd przy próbie pobrania lub przeanalizowania pliku deskryptora aktualizacji.
Gdy obiekt Updater wywoła to zdarzenie, automatycznie uruchamiany jest licznik czasu (jeśli opóźnienie jest ustawione na wartość większą niż 0). Wskazane jest, aby aplikacja ukrywała wszelkie okna dialogowe błędów, gdy obiekt Updater wywoła nowe zdarzenie checkForUpdate
.
StatusUpdateErrorEvent.UPDATE_ERROR
definiuje wartość właściwości type
obiektu zdarzenia statusUpdateError
.
updateStatus | Zdarzenie |
air.update.events.StatusUpdateEvent
właściwość StatusUpdateEvent.type =
air.update.events.StatusUpdateEvent.UPDATE_STATUS
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.5 |
Wywoływane po tym, jak obiekt Updater pomyślnie pobierze i zinterpretuje plik deskryptora aktualizacji.
Zachowanie domyślne polega na rozpoczęciu pobierania aktualizacji, jeśli właściwość available obiektu StatusUpdateEvent jest ustawiona na true
. Zachowanie domyślne można zablokować tylko w przypadku użycia klasy ApplicationUpdater, a nie klasy ApplicationUpdatorUI.
StatusUpdateEvent.UPDATE_STATUS
definiuje wartość właściwości type
obiektu zdarzenia updateStatus
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
available | Ustawiana na true , jeśli w pliku deskryptora aktualizacji jest określona wersja różna od wersji bieżącej aplikacji; false w przeciwnym wypadku (ta sama wersja). |
version | Ciąg znaków reprezentujący nową dostępną wersję. |
details | Tablica definiująca ciąg znaków details dla każdego z obsługiwanych języków. W wypadku braku zlokalizowanego opisu właściwość ta jest tablicą, której pierwszym elementem jest pusty ciąg znaków ("" ), natomiast drugim elementem jest ciąg znaków ze szczegółami. Gdy istnieją zlokalizowane opisy, każdy element tablicy jest tablicą dwuelementową. Pierwszy element to kod ustawień narodowych, a drugi element to opis. Na przykład następująca tablica zawiera podtablice dla dwóch języków (angielskiego amerykańskiego oraz francuskiego): ["en-US", "Hello World"], ["fr", "Bonjour monde"] . Języki są wymienione w tej samej kolejności co w deskryptorze aktualizacji. W pliku deskryptora aktualizacji jest podany tekst właściwości details. |
versionLabel | (AIR 2.5 i nowsze wersje) Etykieta wersji z deskryptora aplikacji aktualizacji. Etykieta wersji powinna być przedstawiana użytkownikom zamiast wersji. Jeśli nie określono etykiety wersji, ta właściwość jest pustym ciągiem. |
Tue Jun 12 2018, 12:06 PM Z