Zobrazit nápovědu v souboru

Transkript

Zobrazit nápovědu v souboru
Vytváření aplikací prostředí ADOBE® AIR®
Právní upozornění
Právní upozornění
Právní upozornění viz http://help.adobe.com/cs_CZ/legalnotices/index.html.
Poslední aktualizace 31.8.2016
iii
Obsah
Kapitola 1: O prostředí Adobe AIR
Kapitola 2: Instalace prostředí Adobe AIR
Instalace prostředí Adobe AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Odebrání prostředí Adobe AIR
......................................................................................... 5
Instalace a spuštění ukázkových aplikací AIR
Aktualizace prostředí Adobe AIR
............................................................................ 5
....................................................................................... 6
Kapitola 3: Práce s rozhraními API prostředí AIR
Třídy jazyka ActionScript 3.0 specifické pro prostředí AIR
............................................................... 7
Třídy aplikace Flash Player s funkcemi specifickými pro prostředí AIR
Komponenty Flex určené pro prostředí AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Kapitola 4: Nástroje řešení Adobe Flash Platform pro vývoj aplikací AIR
Instalace sady AIR SDK
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Nastavení sady Flex SDK
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Nastavení externích sad SDK
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Kapitola 5: Vytvoření první aplikace AIR
Vytvoření první aplikace Flex AIR pro stolní počítač v aplikaci Flash Builder
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Vytvoření první aplikace AIR pro stolní počítače pomocí aplikace Flash Professional
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Vytvoření první aplikace AIR pro systém Android pomocí aplikace Flash Professional
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Vytvoření první aplikace AIR pro systém iOS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Vytvoření první aplikace AIR založené na HTML pomocí programu Dreamweaver
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Vytvoření první aplikace AIR založené na HTML pomocí sady AIR SDK
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Vytvoření první aplikace AIR pro stolní počítače pomocí sady Flex SDK
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Vytvoření první aplikace AIR pro systém Android pomocí sady Flex SDK
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Kapitola 6: Vývoj aplikací AIR pro stolní počítače
Pracovní postup pro vývoj aplikací AIR pro stolní počítače
Nastavení vlastností aplikace pro stolní počítače
Ladění aplikace AIR pro stolní počítač.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Balení instalačního souboru aplikace AIR pro stolní počítač
Sbalení nativního instalátoru pro stolní počítač
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Zabalení kaptivního balíčku běhového prostředí pro stolní počítače
Distribuce balíčků aplikace AIR pro stolní počítače
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Kapitola 7: Vývoj aplikací AIR pro mobilní zařízení
Nastavení vývojového prostředí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Faktory ovlivňující návrh mobilních aplikací
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Pracovní postup vytváření aplikací AIR pro mobilní zařízení
Nastavení vlastností mobilní aplikace
Zabalení mobilní aplikace AIR
Ladění mobilní aplikace AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Poslední aktualizace 31.8.2016
iv
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Obsah
Instalace prostředí AIR a aplikací AIR v mobilních zařízeních
Aktualizace mobilních aplikací AIR
Použití nabízených oznámení
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Kapitola 8: Vývoj aplikací AIR pro televizní zařízení
Možnosti prostředí AIR pro televizní přijímače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Faktory ovlivňující návrh aplikace AIR pro televizi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Pracovní postup pro vývoj aplikace pro platformu AIR for TV
Vlastnosti deskriptoru aplikace AIR for TV
Zabalení aplikace AIR pro televizi
Ladění aplikací AIR pro televizi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Kapitola 9: Použití nativních rozšíření pro prostředí Adobe AIR
Soubory ANE (AIR Native Extension) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Nativní rozšíření versus třída NativeProcess jazyka ActionScript
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Nativní rozšíření versus knihovny třídy jazyka ActionScript (soubory SWC)
Podporovaná zařízení
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Podporované profily zařízení
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Seznam úloh pro používání nativního rozšíření
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Deklarujte rozšíření v souboru deskriptoru aplikace.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Zahrnutí souboru ANE do cesty ke knihovně aplikace
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Zabalení aplikace, která používá nativní rozšíření
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Kapitola 10: Kompilátory jazyka ActionScript
O nástrojích příkazového řádku prostředí AIR v sadě Flex SDK
Nastavení kompilátoru
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Kompilace zdrojových souborů MXML a ActionScript pro aplikaci AIR
Kompilace komponenty nebo knihovny kódu aplikace AIR (Flex)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Kapitola 11: Program AIR Debug Launcher (ADL)
Použití nástroje ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Příklady ADL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Kódy ukončení a chyb nástroje ADL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Kapitola 12: AIR Developer Tool (ADT)
Příkazy nástroje ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Sady možností nástroje ADT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Chybová hlášení programu ADT
Proměnné prostředí nástroje ADT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Kapitola 13: Podepisování aplikací AIR
Digitální podepisování souboru AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Vytvoření nepodepsaného přechodného souboru AIR pomocí programu ADT
Podpis přechodného souboru AIR pomocí programu ADT
Podepisování aktualizované verze aplikace AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Vytvoření certifikátu s vlastním podpisem pomocí programu ADT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Poslední aktualizace 31.8.2016
v
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Obsah
Kapitola 14: Soubory deskriptorů aplikací AIR
Změny deskriptoru aplikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Struktura souboru deskriptoru aplikace
Elementy deskriptoru aplikace AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Kapitola 15: Profily zařízení
Omezení cílových profilů v souboru deskriptoru aplikace
Schopnosti různých profilů
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Kapitola 16: Rozhraní API integrovaného prohlížeče AIR.SWF
Přizpůsobení souboru badge.swf hladké instalace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Použití souboru badge.swf k nainstalování aplikace AIR
Načtení souboru air.swf
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Kontrola, zda je runtime nainstalováno
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Kontrola z webové stránky, zda je aplikace AIR nainstalována.
Instalace aplikace AIR z prohlížeče
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Spuštění nainstalované aplikace AIR z prohlížeče
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Kapitola 17: Aktualizace aplikací AIR
O aktualizaci aplikací . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Zobrazení vlastního uživatelského rozhraní pro aktualizaci aplikace
Stažení souboru AIR do počítače uživatele
Zjištění, zda je aplikace spuštěná poprvé
Použití aktualizačního rámce
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Kapitola 18: Prohlížení zdrojového kódu
Načtení, konfigurace a otevření prohlížeče Source Viewer
Uživatelské rozhraní prohlížeče Source Viewer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Kapitola 19: Ladění pomocí prohlížeče Introspector HTML aplikace AIR
O prohlížeči Introspector aplikace AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Načtení kódu prohlížeč Introspector aplikace AIR
Prohlížení objektu na záložce Konzola
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Konfigurace prohlížeče Introspector aplikace AIR
Rozhraní prohlížeče Introspector aplikace AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Použití prohlížeče Introspector aplikace AIR s obsahem v neaplikační karanténě
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Kapitola 20: Lokalizace aplikací AIR
Lokalizace názvu aplikace a popisu v instalačním programu aplikace AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Lokalizace obsahu HTML pomocí lokalizačního rámce HTML aplikace AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Kapitola 21: Proměnné prostředí pro cestu
Nastavení proměnné PATH v systémech Linux a Mac OS pomocí prostředí Bash
Nastavení cesty v systému Windows
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Poslední aktualizace 31.8.2016
1
Kapitola 1: O prostředí Adobe AIR
Prostředí Adobe® AIR® je víceobrazovkový běhový modul pro více operačních systémů, pomocí něhož můžete využít
své stávající znalosti v oblasti vyvíjení webů při vytváření a zavádění aplikací RIA (Rich Internet Applications) do
počítačů a mobilních zařízení. Aplikace AIR pro stolní počítače, televizory a mobilní zařízení lze vytvářet v jazyce
ActionScript 3.0 pomocí prostředí Adobe® Flex a aplikace Adobe® Flash® (na základě souboru SWF). Aplikace AIR pro
stolní počítače lze také vytvářet v jazyce HTML, JavaScript® a Ajax (který je založen na kódu HTML).
Další informace o začátcích a používání prostředí Adobe AIR naleznete na stránkách Adobe AIR Developer
Connection (http://www.adobe.com/devnet/air/).
Prostředí AIR vám umožňuje pracovat ve známém prostředí a používat nástroje a postupy, které považujete za
nejvhodnější. Díky podpoře aplikací a jazyků Flash, Flex, HTML, JavaScript a Ajax můžete vytvářet ty nejlepší možné
zážitky splňující vaše potřeby.
Při vývoji aplikací je například možné využít některou z následujících technologií nebo jejich kombinaci:
• Flash / Flex / ActionScript
• HTML / JavaScript / CSS / Ajax
Pro uživatele je interakce s aplikacemi AIR stejná jako s nativními aplikacemi. Běhový modul se jednou nainstaluje v
počítači nebo zařízení uživatele a aplikace AIR se pak instalují a spouští stejně jako kterákoliv jiná počítačová aplikace.
(V systému iOS se samostatný běhový modul AIR neinstaluje – každá aplikace AIR pro systém iOS je soběstačná.)
Běhový modul poskytuje jednotnou platformu nezávislou na operačním systému a pevný rámec pro zavádění aplikací,
takže eliminuje testování napříč prohlížeči, neboť zajišťuje jednotnou funkčnost a stejné interakce mezi různými
počítači. Místo toho, aby se aplikace vyvíjela pro určitý operační systém, zaměří se běhový modul, což přináší
následující výhody:
• Aplikace vyvinuté pro aplikaci AIR lze spouštět v různých operačních systémech, aniž by to pro vývojáře
znamenalo další práci. Běhový modul zajišťuje jednotnou prezentaci dat a předvídatelné interakce napříč všemi
operačními systémy, které aplikace AIR podporuje.
• Aplikace můžete vytvářet rychleji pomocí stávajících webových technologií a vzorků návrhů. Působnost webových
aplikací můžete rozšířit i na stolní počítače, aniž byste se museli učit tradiční technologie vývoje aplikací pro stolní
počítače nebo složitý nativní kód.
• Vyvíjení aplikací je jednodušší než při použití jazyků nižší úrovně, například C a C++. Není potřeba spravovat
složitá rozhraní API nižší úrovně specifická pro jednotlivé operační systémy.
Při vyvíjení aplikací pro aplikaci AIR lze využít pestrou škálu technologií a rozhraní API:
• Rozhraní API specifická pro aplikaci AIR, jež poskytuje běhový modul a technologie AIR
• Rozhraní API jazyka ActionScript používaná v souborech SWF a v technologii Flex (jakož i v dalších knihovnách
a technologiích založených na jazyce ActionScript)
• HTML, CSS a JavaScript
• Většina technologií Ajax
• Nativní rozšíření pro prostředí Adobe AIR, která poskytují rozhraní API ActionScript, poskytují přístup k funkcím
specifickým pro danou platformu naprogramovaným v nativním kódu. Nativní rozšíření mohou také poskytnout
přístup ke staršímu nativnímu kódu a k nativnímu kód, který poskytuje vyšší výkon.
Poslední aktualizace 31.8.2016
2
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
O prostředí Adobe AIR
Aplikace AIR výrazně mění způsob vytváření, zavádění a používání aplikací. Získáte více volnosti pro své kreativní
záměry a můžete rozšířit aplikace založené na kódu Flash, Flex, HTML a AJAX pro použití ve stolních počítačích,
mobilních zařízeních a televizorech.
Informace o obsahu každé nové aktualizace prostředí AIR naleznete v poznámkách k vydání – Adobe AIR Release
Notes (http://www.adobe.com/go/learn_air_relnotes_cz).
Poslední aktualizace 31.8.2016
3
Kapitola 2: Instalace prostředí Adobe AIR
Běhové prostředí Adobe® AIR® umožňuje spouštět aplikace AIR. Modul runtime můžete nainstalovat následujícími
způsoby:
• Samostatnou instalací modulu runtime (aniž byste instalovali i některou aplikaci AIR)
• První instalací aplikace AIR prostřednictvím webového instalačního „symbolu“ (budete také vyzváni k instalaci
běhového modulu).
• Vytvořením vlastního instalačního programu, který nainstaluje aplikace i běhové prostředí. K distribuci běhového
prostředí AIR tímto způsobem musíte získat schválení od společnosti Adobe. O schválení můžete požádat na
stránce Licencování běhových prostředí Adobe. Upozorňujeme, že společnost Adobe neposkytuje nástroje pro
tvorbu takového instalačního programu. K dispozici je však mnoho sad nástrojů pro instalační programy jiných
výrobců.
• Instalací aplikace AIR, která zabalí prostředí AIR jako kaptivní běhového prostředí. Kaptivní běhové prostředí se
používá v balených aplikacích. Neslouží ke spouštění jiných aplikací AIR. Zabalení běhového prostředí je možné v
systémech Mac a Windows. V systému iOS mají všechny aplikace přibalený běhový modul. Od verze AIR 3.7 mají
ve výchozím nastavení všechny aplikace pro Android přibalený běhový modul (ale můžete použít samostatný
běhový modul).
• Instalací některého vývojového prostředí AIR, například AIR SDK, Adobe® Flash® Builder™ nebo Adobe Flex® SDK
(které zahrnuje vývojové nástroje příkazového řádku aplikace AIR). Běhový modul obsažený v sadě SDK se používá
pouze při ladění aplikací – nepoužívá se ke spuštění nainstalovaných aplikací AIR.
Podrobné systémové požadavky pro instalaci a spuštění prostředí AIR naleznete zde: Adobe AIR: Systémové
požadavky (http://www.adobe.com/cz/products/air/systemreqs/).
Instalátor běhového modulu i instalátor aplikace AIR vytváří soubory protokolu při instalaci, aktualizaci nebo
odstraňování aplikací AIR nebo samotného běhového modulu AIR. Nastanou-li během instalace nějaké potíže, tyto
protokoly vám pomohou stanovit příčinu. Viz Installation logs (Instalační protokoly).
Instalace prostředí Adobe AIR
Aby mohl uživatel nainstalovat nebo aktualizovat běhový modul, musí mít k počítači oprávnění správce.
Instalace běhového modulu v počítači s operačním systémem Windows
1 Stáhněte instalační soubor běhového modulu z adresy http://get.adobe.com/air.
2 Poklepejte na instalační soubor modulu runtime.
3 Instalaci dokončete podle výzev v instalačním okně.
Instalace modulu runtime v počítači Macintosh
1 Stáhněte instalační soubor běhového modulu z adresy http://get.adobe.com/air.
2 Poklepejte na instalační soubor modulu runtime.
3 Instalaci dokončete podle výzev v instalačním okně.
4 Pokud se v instalačním programu zobrazí okno Authenticate (Ověřit), zadejte jméno uživatele operačního systému
Mac OS a heslo.
Poslední aktualizace 31.8.2016
4
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Instalace prostředí Adobe AIR
Instalace modulu runtime v počítači s operačním systémem Linux
Poznámka: V současnosti nejsou prostředí AIR 2.7 a novější podporována v operačním systému Linux. Aplikace AIR
nasazené v systému Linux by měly i nadále používat sadu AIR 2.6 SDK.
Pomocí binárního instalačního programu:
1 Vyhledejte binární instalační soubor na webu http://kb2.adobe.com/cps/853/cpsid_85304.html a stáhněte jej.
2 Nastavte oprávnění souboru tak, aby bylo možné spustit instalační program. V příkazovém řádku můžete nastavit
oprávnění souboru pomocí:
chmod +x AdobeAIRInstaller.bin
Některé verze systému Linux umožňují nastavovat oprávnění souborů v dialogovém okně vlastností, které lze
otevřít z kontextové nabídky.
3 Instalační program spustíte z příkazového řádku nebo poklepáním na instalační soubor modulu runtime.
4 Instalaci dokončete podle výzev v instalačním okně.
Prostředí Adobe AIR se nainstaluje jako nativní balík. Jinými slovy jako rpm v distribuci na základě rpm a deb v
distribuci Debian. Prostředí AIR v současnosti nepodporuje žádný jiný formát balíku.
Pomocí instalačních programů balíků:
1 Vyhledejte soubor balíčku AIR na webu http://kb2.adobe.com/cps/853/cpsid_85304.html. Podle toho, který formát
balíčku váš systém podporuje, stáhněte balíček rpm nebo Debian.
2 V případě potřeby poklepejte na soubor balíku prostředí AIR, čímž balík nainstalujete.
Instalaci lze také provést z příkazového řádku:
a V systému Debian:
sudo dpkg -i <path to the package>/adobeair-2.0.0.xxxxx.deb
b V systému na základě rpm:
sudo rpm -i <path to the package>/adobeair-2.0.0-xxxxx.i386.rpm
Nebo při aktualizaci stávající verze (AIR 1.5.3 nebo novější):
sudo rpm -U <path to the package>/adobeair-2.0.0-xxxxx.i386.rpm
Instalace aplikací AIR 2 a AIR vyžaduje oprávnění správce v počítači.
Prostředí Adobe AIR se nainstaluje do následujícího umístění: /opt/Adobe AIR/Versions/1.0
Prostředí AIR zaregistruje typ mime „application/vnd.adobe.air-application-installer-package+zip“, což znamená, že
soubory .air jsou tohoto typu mime a jsou tak zaregistrovány v běhovém modulu prostředí AIR.
Instalace běhového modulu v zařízení Android
Nejnovější verzi běhového modulu AIR lze nainstalovat z webu Android Market.
Vývojové verze běhového modulu AIR můžete nainstalovat pomocí odkazu na webové stránce nebo pomocí příkazu
-installRuntime nástroje ADT. Najednou lze nainstalovat pouze jednu verzi běhového modulu AIR; není možné
mít nainstalovanou verzi k vydání i vývojovou verzi.
Další informace viz „Příkaz installRuntime nástroje ADT“ na stránce 174.
Instalace běhového modulu v zařízení iOS
Potřebný kód běhového modulu AIR je součástí každé aplikace vytvořené pro zařízení iPhone, iTouch a iPad.
Nebudete instalovat samostatnou běhovou komponentu.
Poslední aktualizace 31.8.2016
5
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Instalace prostředí Adobe AIR
Další témata Nápovědy
„Prostředí AIR pro systém iOS“ na stránce 68
Odebrání prostředí Adobe AIR
Nainstalovaný modul runtime prostředí AIR můžete odebrat následujícími postupy.
Odebrání modulu runtime z počítače s operačním systémem Windows
1 V nabídce Start operačního systému Windows vyberte položku Nastavení > Ovládací panely.
2 Otevřete ovládací panel Programy, Programy a funkce nebo Přidat nebo odebrat programy (v závislosti na
používané verzi systému Windows).
3 Chcete-li modul runtime odebrat, vyberte položku Adobe AIR.
4 Klepněte na tlačítko Změnit nebo odebrat.
Odebrání modulu runtime z počítače Macintosh
• Poklepejte na položku Adobe AIR Uninstaller, která se nachází ve složce /Applications/Utilities.
Odebrání modulu runtime z počítače s operačním systémem Linux
Proveďte jeden z následujících úkonů:
• Z nabídky aplikací vyberte příkaz „Adobe AIR Uninstaller“.
• Spusťte binární instalační program prostředí AIR s volbou -uninstall.
• Odeberte pomocí správce balíčků balíčky prostředí AIR (adobeair a adobecerts).
Odebrání běhového modulu ze zařízení Android
1 Otevřete aplikaci Settings (Nastavení) v zařízení.
2 Klepněte na položku Adobe AIR v nabídce Applications (Aplikace) > Manage Applications (Správa aplikací).
3 Klepněte na tlačítko Uninstall (Odinstalovat).
Můžete také použít příkaz -uninstallRuntime nástroje ADT: Další informace viz „Příkaz uninstallRuntime nástroje
ADT“ na stránce 176.
Odstranění svazku běhového prostředí
Chcete-li odstranit kaptivní balíček běhového prostředí, je nutné odebrat aplikaci, se kterou je nainstalován. Všimněte
si, že kaptivní běhová prostředí se používají pouze ke spuštění instalované aplikace.
Instalace a spuštění ukázkových aplikací AIR
Aby mohl uživatel nainstalovat nebo aktualizovat aplikaci AIR, musí mít k počítači oprávnění správce.
K dispozici je několik ukázkových aplikací, které slouží k předvádění funkcí prostředí AIR. Pro přístup a instalaci
můžete použít následující pokyny:
1 Stáhněte si a spusťte ukázkové aplikace AIR. K dispozici jsou kompilované aplikace i zdrojový kód.
Poslední aktualizace 31.8.2016
6
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Instalace prostředí Adobe AIR
2 Chcete-li stáhnout a spustit ukázkovou aplikaci, klepněte na tlačítko ukázkové aplikace Instalovat. Zobrazí se výzva
k instalaci a spuštění aplikace.
3 Pokud se rozhodnete stáhnout ukázkové aplikace a spouštět je později, vyberte odkazy na stažení. Aplikace AIR
můžete spouštět kdykoli následujícím postupem:
• V operačním systému Windows poklepejte na ikonu aplikace na ploše nebo ji vyberte v nabídce Start.
• V operačním systému Mac OS poklepejte na ikonu aplikace, která je ve výchozím nastavení nainstalována ve
složce Applications (Aplikace) ve vašem uživatelském adresáři (například Macintosh
HD/Users/JoeUser/Applications/).
Poznámka: Vyhledejte aktualizace těchto pokynů v poznámkách k vydání prostředí AIR na adrese
http://www.adobe.com/go/learn_air_relnotes_cz.
Aktualizace prostředí Adobe AIR
Společnost Adobe pravidelně aktualizuje prostředí Adobe AIR novými funkcemi nebo opravami drobných problémů.
Pomocí funkce Automatické upozornění a aktualizace může společnost Adobe uživatele automaticky upozornit, že je
k dispozici aktualizovaná verze prostředí Adobe AIR.
Aktualizace prostředí Adobe AIR zajišťují jeho správnou funkčnost a často obsahují důležité změny v zabezpečení.
Společnost Adobe uživatelům doporučuje, aby aktualizovali prostředí Adobe AIR na nejnovější verzi pokaždé, když je
k dispozici nová verze, zejména pokud je zmíněna aktualizace zabezpečení.
Po spuštění aplikace AIR běhový modul standardně zjišťuje, zda je k dispozici aktualizace. Tuto kontrolu provede,
jestliže poslední kontrola aktualizací proběhla před více než dvěma týdny. Pokud je k dispozici aktualizace, aplikace
AIR stáhne aktualizaci na pozadí.
Uživatelé mohou funkci automatické aktualizace vypnout pomocí aplikace AIR SettingsManager. Aplikace AIR
SettingsManager je k dispozici ke stažení na stránce
http://airdownload.adobe.com/air/applications/SettingsManager/SettingsManager.air.
Běžný instalační proces prostředí Adobe AIR zahrnuje připojení k webu http://airinstall.adobe.com, kam odešle
základní informace o instalačním prostředí, jako je např. verze operačního systému a jazyk. Tyto informace se přenáší
při každé instalaci pouze jednou a společnost Adobe se může jejich prostřednictvím ujistit, že instalace proběhla
úspěšně. Žádné osobní identifikovatelné informace nejsou shromažďovány ani přenášeny.
Aktualizace kaptivních běhových prostředí
Pokud distribuujete aplikaci pomocí kaptivního balíčku běhového prostředí, není toto prostředí aktualizováno
automaticky. Za účelem zabezpečení uživatelů je nutné sledovat aktualizace publikované společností Adobe a
aktualizovat aplikaci novou verzí běhového prostředí, jakmile bude publikována relevantní změna zabezpečení.
Poslední aktualizace 31.8.2016
7
Kapitola 3: Práce s rozhraními API
prostředí AIR
Prostředí Adobe® AIR® obsahuje funkce, které nejsou dostupné pro obsah SWF spuštěný v přehrávači Adobe® Flash®
Player.
Vývojáři používající jazyk ActionScript 3.0
Dokumentaci k rozhraním API prostředí Adobe AIR naleznete v těchto dvou knihách:
• Příručka pro vývojáře jazyka ActionScript 3.0
• Referenční příručka jazyka ActionScript 3.0 pro platformu Adobe Flash
Vývojáři používající jazyk HTML
Pokud vytváříte aplikace AIR založené na jazyce HTML, jsou rozhraní API dostupná v jazyce JavaScript
prostřednictvím souboru AIRAliases.js (viz Přístup k třídám prostředí AIR rostřednictvím prozhraní API z jazyka
JavaScript) zdokumentována v těchto dvou knihách:
• Příručka vývojáře jazyka HTML pro prostředí Adobe AIR
• Referenční příručka rozhraní API prostředí Adobe AIR pro vývojáře jazyka HTML
Třídy jazyka ActionScript 3.0 specifické pro prostředí
AIR
Následující tabulka obsahuje třídy běhového modulu specifické pro prostředí Adobe AIR. Nejsou dostupné pro obsah
SWF spuštěný v přehrávači Adobe® Flash® Player v prohlížeči.
Vývojáři používající jazyk HTML
Třídy dostupné v jazyce JavaScript prostřednictvím souboru AIRAliases.js jsou uvedeny v části Referenční příručka
rozhraní API prostředí Adobe AIR pro vývojáře jazyka HTML.
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
ARecord
flash.net.dns
2.0
AAAARecord
flash.net.dns
2.0
ApplicationUpdater
air.update
1.5
ApplicationUpdaterUI
air.update
1.5
AudioPlaybackMode
flash.media
3.0
AutoCapitalize
flash.text
3.0
BrowserInvokeEvent
flash.events
1.0
CameraPosition
flash.media
3.0
Poslední aktualizace 31.8.2016
8
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Práce s rozhraními API prostředí AIR
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
CameraRoll
flash.media
2.0
CameraRollBrowseOptions
flash.media
3.0
CameraUI
flash.media
2.5
CertificateStatus
flash.security
2.0
CompressionAlgorithm
flash.utils
1.0
DatagramSocket
flash.net
2.0
DatagramSocketDataEvent
flash.events
2.0
DNSResolver
flash.net.dns
2.0
DNSResolverEvent
flash.events
2.0
DockIcon
flash.desktop
1.0
DownloadErrorEvent
air.update.events
1.5
DRMAuthenticateEvent
flash.events
1.0
DRMDeviceGroup
flash.net.drm
3.0
DRMDeviceGroupErrorEvent
flash.net.drm
3.0
DRMDeviceGroupEvent
flash.net.drm
3.0
DRMManagerError
flash.errors
1.5
EncryptedLocalStore
flash.data
1.0
ExtensionContext
flash.external
2.5
File
flash.filesystem
1.0
FileListEvent
flash.events
1.0
FileMode
flash.filesystem
1.0
FileStream
flash.filesystem
1.0
FocusDirection
flash.display
1.0
GameInput
flash.ui
3.0
GameInputControl
flash.ui
3.0
GameInputControlType
flash.ui
3.6 a starší; vynecháno od verze
3.7
GameInputDevice
flash.ui
3.0
GameInputEvent
flash.ui
3.0
GameInputFinger
flash.ui
3.6 a starší; vynecháno od verze
3.7
GameInputHand
flash.ui
3.6 a starší; vynecháno od verze
3.7
Geolocation
flash.sensors
2.0
GeolocationEvent
flash.events
2.0
HTMLHistoryItem
flash.html
1.0
Poslední aktualizace 31.8.2016
9
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Práce s rozhraními API prostředí AIR
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
HTMLHost
flash.html
1.0
HTMLLoader
flash.html
1.0
HTMLPDFCapability
flash.html
1.0
HTMLSWFCapabiltiy
flash.html
2.0
HTMLUncaughtScriptExceptionEvent
flash.events
1.0
HTMLWindowCreateOptions
flash.html
1.0
Icon
flash.desktop
1.0
IFilePromise
flash.desktop
2.0
ImageDecodingPolicy
flash.system
2.6
InteractiveIcon
flash.desktop
1.0
InterfaceAddress
flash.net
2.0
InvokeEvent
flash.events
1.0
InvokeEventReason
flash.desktop
1.5.1
IPVersion
flash.net
2.0
IURIDereferencer
flash.security
1.0
LocationChangeEvent
flash.events
2.5
MediaEvent
flash.events
2.5
MediaPromise
flash.media
2.5
MediaType
flash.media
2.5
MXRecord
flash.net.dns
2.0
NativeApplication
flash.desktop
1.0
NativeDragActions
flash.desktop
1.0
NativeDragEvent
flash.events
1.0
NativeDragManager
flash.desktop
1.0
NativeDragOptions
flash.desktop
1.0
NativeMenu
flash.display
1.0
NativeMenuItem
flash.display
1.0
NativeProcess
flash.desktop
2.0
NativeProcessExitEvent
flash.events
2.0
NativeProcessStartupInfo
flash.desktop
2.0
NativeWindow
flash.display
1.0
NativeWindowBoundsEvent
flash.events
1.0
NativeWindowDisplayState
flash.display
1.0
NativeWindowDisplayStateEvent
flash.events
1.0
Poslední aktualizace 31.8.2016
10
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Práce s rozhraními API prostředí AIR
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
NativeWindowInitOptions
flash.display
1.0
NativeWindowRenderMode
flash.display
3.0
NativeWindowResize
flash.display
1.0
NativeWindowSystemChrome
flash.display
1.0
NativeWindowType
flash.display
1.0
NetworkInfo
flash.net
2.0
NetworkInterface
flash.net
2.0
NotificationType
flash.desktop
1.0
OutputProgressEvent
flash.events
1.0
PaperSize
flash.printing
2.0
PrintMethod
flash.printing
2.0
PrintUIOptions
flash.printing
2.0
PTRRecord
flash.net.dns
2.0
ReferencesValidationSetting
flash.security
1.0
ResourceRecord
flash.net.dns
2.0
RevocationCheckSettings
flash.security
1.0
Screen
flash.display
1.0
ScreenMouseEvent
flash.events
1.0
SecureSocket
flash.net
2.0
SecureSocketMonitor
air.net
2.0
ServerSocket
flash.net
2.0
ServerSocketConnectEvent
flash.events
2.0
ServiceMonitor
air.net
1.0
SignatureStatus
flash.security
1.0
SignerTrustSettings
flash.security
1.0
SocketMonitor
air.net
1.0
SoftKeyboardType
flash.text
3.0
SQLCollationType
flash.data
1.0
SQLColumnNameStyle
flash.data
1.0
SQLColumnSchema
flash.data
1.0
SQLConnection
flash.data
1.0
SQLError
flash.errors
1.0
SQLErrorEvent
flash.events
1.0
SQLErrorOperation
flash.errors
1.0
Poslední aktualizace 31.8.2016
11
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Práce s rozhraními API prostředí AIR
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
SQLEvent
flash.events
1.0
SQLIndexSchema
flash.data
1.0
SQLMode
flash.data
1.0
SQLResult
flash.data
1.0
SQLSchema
flash.data
1.0
SQLSchemaResult
flash.data
1.0
SQLStatement
flash.data
1.0
SQLTableSchema
flash.data
1.0
SQLTransactionLockType
flash.data
1.0
SQLTriggerSchema
flash.data
1.0
SQLUpdateEvent
flash.events
1.0
SQLViewSchema
flash.data
1.0
SRVRecord
flash.net.dns
2.0
StageAspectRatio
flash.display
2.0
StageOrientation
flash.display
2.0
StageOrientationEvent
flash.events
2.0
StageText
flash.text
3.0
StageTextInitOptions
flash.text
3.0
StageWebView
flash.media
2.5
StatusFileUpdateErrorEvent
air.update.events
1.5
StatusFileUpdateEvent
air.update.events
1.5
StatusUpdateErrorEvent
air.update.events
1.5
StatusUpdateEvent
air.update.events
1.5
StorageVolume
flash.filesystem
2.0
StorageVolumeChangeEvent
flash.events
2.0
StorageVolumeInfo
flash.filesystem
2.0
SystemIdleMode
flash.desktop
2.0
SystemTrayIcon
flash.desktop
1.0
TouchEventIntent
flash.events
3.0
UpdateEvent
air.update.events
1.5
Updater
flash.desktop
1.0
URLFilePromise
air.desktop
2.0
Poslední aktualizace 31.8.2016
12
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Práce s rozhraními API prostředí AIR
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
URLMonitor
air.net
1.0
URLRequestDefaults
flash.net
1.0
XMLSignatureValidator
flash.security
1.0
Třídy aplikace Flash Player s funkcemi specifickými pro
prostředí AIR
Následující třídy jsou dostupné pro obsah SWF běžící v prohlížeči, ale aplikace AIR poskytuje ještě další vlastnosti
nebo metody:
Balíček
Třída
Vlastnost, metoda nebo událost
Přidány ve verzi AIR
flash.desktop
Clipboard
supportsFilePromise
2.0
ClipboardFormats
BITMAP_FORMAT
1.0
FILE_LIST_FORMAT
1.0
FILE_PROMISE_LIST_FORMAT
2.0
URL_FORMAT
1.0
childSandboxBridge
1.0
parentSandboxBridge
1.0
assignFocus()
1.0
autoOrients
2.0
deviceOrientation
2.0
nativeWindow
1.0
orientation
2.0
událost orientationChange
2.0
událost orientationChanging
2.0
setAspectRatio
2.0
setOrientation
2.0
softKeyboardRect
2.6
supportedOrientations
2.6
supportsOrientationChange
2.0
owner
2.6
listOwnedWindows
2.6
owner
2.6
flash.display
LoaderInfo
Stage
NativeWindow
NativeWindowInitOptions
Poslední aktualizace 31.8.2016
13
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Práce s rozhraními API prostředí AIR
Balíček
Třída
Vlastnost, metoda nebo událost
Přidány ve verzi AIR
flash.events
Event
CLOSING
1.0
DISPLAYING
1.0
PREPARING
2.6
EXITING
1.0
HTML_BOUNDS_CHANGE
1.0
HTML_DOM_INITIALIZE
1.0
HTML_RENDER
1.0
LOCATION_CHANGE
1.0
NETWORK_CHANGE
1.0
STANDARD_ERROR_CLOSE
2.0
STANDARD_INPUT_CLOSE
2.0
STANDARD_OUTPUT_CLOSE
2.0
USER_IDLE
1.0
USER_PRESENT
1.0
HTTP_RESPONSE_STATUS
1.0
responseHeaders
1.0
responseURL
1.0
commandKey
1.0
controlKey
1.0
HTTPStatusEvent
KeyboardEvent
Poslední aktualizace 31.8.2016
14
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Práce s rozhraními API prostředí AIR
Balíček
Třída
Vlastnost, metoda nebo událost
Přidány ve verzi AIR
flash.net
FileReference
extension
1.0
událost httpResponseStatus
1.0
uploadUnencoded()
1.0
událost drmAuthenticate
1.0
událost onDRMContentData
1.5
preloadEmbeddedData(
1.5
resetDRMVouchers()
1.0
setDRMAuthenticationCredent
ials()
1.0
authenticate
1.0
cacheResponse
1.0
followRedirects
1.0
idleTimeout
2.0
manageCookies
1.0
useCache
1.0
userAgent
1.0
URLStream
httpResponseStatus event
1.0
PrintJob
active
2.0
copies
2.0
firstPage
2.0
isColor
2.0
jobName
2.0
lastPage
2.0
maxPixelsPerInch
2.0
paperArea
2.0
printableArea
2.0
printer
2.0
printers
2.0
selectPaperSize()
2.0
showPageSetupDialog()
2.0
start2()
2.0
supportsPageSetupDialog
2.0
terminate()
2.0
pixelsPerInch
2.0
printMethod
2.0
NetStream
URLRequest
flash.printing
PrintJobOptions
Poslední aktualizace 31.8.2016
15
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Práce s rozhraními API prostředí AIR
Balíček
Třída
Vlastnost, metoda nebo událost
Přidány ve verzi AIR
flash.system
Capabilities
languages
1.1
LoaderContext
allowLoadBytesCodeExecution
1.0
Security
APPLICATION
1.0
KeyLocation
D_PAD
2.5
flash.ui
Většina z těchto nových vlastností a metod je dostupných pouze pro obsah v karanténě zabezpečení aplikace AIR.
Avšak nové položky v třídě URLRequest jsou dostupné také pro obsah běžící v jiných karanténách.
Metody ByteArray.compress() a ByteArray.uncompress() obsahují nový parametr algorithm, který umožňuje
volbu mezi komprimačním algoritmem deflate a zlib. Tento parametr je dostupný pouze pro obsah spuštěný v
prostředí AIR.
Komponenty Flex určené pro prostředí AIR
Při vývoji obsahu pro prostředí Adobe AIR jsou k dispozici následující komponenty MX aplikace Adobe® Flex™:
• FileEvent
• FileSystemComboBox
• FileSystemDataGrid
• FileSystemEnumerationMode
• FileSystemHistoryButton
• FileSystemList
• FileSystemSizeDisplayMode
• FileSystemTree
• FlexNativeMenu
• HTML
• Window
• WindowedApplication
• WindowedSystemManager
Kromě toho zahrnuje aplikace Flex 4 následující komponenty Spark prostředí AIR:
• Window
• WindowedApplication
Další informace týkající se komponent aplikace AIR Flex naleznete v tématu Použití komponent aplikace Flex AIR.
Poslední aktualizace 31.8.2016
16
Kapitola 4: Nástroje řešení Adobe Flash
Platform pro vývoj aplikací AIR
Aplikace AIR lze vyvíjet pomocí následujících vývojových nástrojů řešení Adobe Flash Platform.
Pro vývojáře pracující v jazyce ActionScript 3.0 (Flash a Flex):
• Adobe Flash Professional (viz Publishing for AIR (Publikování pro prostředí AIR))
• Sady SDK Adobe Flex 3.x a 4.x (další informace v tématech „Nastavení sady Flex SDK“ na stránce 18 a „AIR
Developer Tool (ADT)“ na stránce 163)
• Adobe Flash Builder (viz Developing AIR Applications with Flash Builder (Vývoj aplikací AIR pomocí aplikace
Flash Builder))
Pro vývojáře pracující v jazycích HTML a Ajax:
• Sada SDK prostředí Adobe AIR (další informace v tématech „Instalace sady AIR SDK“ na stránce 16 a „AIR
Developer Tool (ADT)“ na stránce 163)
• Adobe Dreamweaver CS3, CS4, CS5 (viz část Rozšíření aplikace AIR pro program Dreamweaver)
Instalace sady AIR SDK
Sada SDK prostředí Adobe AIR obsahuje následující nástroje příkazového řádku, které lze použít ke spuštění nebo
sbalení aplikací:
Program AIR Debug Launcher (ADL) Umožňuje spustit aplikace AIR bez nutnosti jejich předchozí instalace. Viz část
„Program AIR Debug Launcher (ADL)“ na stránce 157.
AIR Development Tool (ADT) Sbalí aplikaci AIR do distribuovatelných instalačních balíků. Viz část„AIR Developer
Tool (ADT)“ na stránce 163.
Nástroje příkazového řádku aplikace AIR vyžadují v počítači instalované prostředí Java. Lze použít modul Java Virtual
Machine buď z prostředí JRE, nebo JDK (veze 1.5 nebo novější). Prostředí Java JRE a Java JDK jsou k dispozici na
stránce http://java.sun.com/.
Ke spuštění nástroje ADT jsou třeba alespoň 2 GB paměti počítače.
Poznámka: Ke spuštění aplikací AIR není nutné, aby měli koncoví uživatelé nainstalované prostředí Java.
Rychlý přehled vytvoření aplikace AIR pomocí sady AIR SDK naleznete v části „Vytvoření první aplikace AIR založené
na HTML pomocí sady AIR SDK“ na stránce 32.
Stažení a instalace sady AIR SDK
Sadu AIR SDK lze stáhnout a instalovat pomocí následujících pokynů:
Instalace sady AIR SDK v systému Windows
• Stáhněte instalační soubor sady AIR SDK.
Poslední aktualizace 31.8.2016
17
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Nástroje řešení Adobe Flash Platform pro vývoj aplikací AIR
• Sada AIR SDK je distribuována jako standardní archiv souborů. Chcete-li instalovat prostředí AIR, rozbalte obsah
sady SDK do složky v počítači (například: C:\Program Files\Adobe\AIRSDK nebo C:\AIRSDK).
• Nástroje ADL a ADT jsou v sadě AIR SDK obsaženy ve složce bin. Přidejte cestu k této složce do proměnné
prostředí PATH.
Instalace sady AIR SDK v systému Mac OS X
• Stáhněte instalační soubor sady AIR SDK.
• Sada AIR SDK je distribuována jako standardní archiv souborů. Chcete-li instalovat prostředí AIR, rozbalte obsah
sady SDK do složky v počítači (například: /Users/<jménoUživatele>/Applications/AIRSDK).
• Nástroje ADL a ADT jsou v sadě AIR SDK obsaženy ve složce bin. Přidejte cestu k této složce do proměnné
prostředí PATH.
Instalace sady AIR SDK v systému Linux
• Sada SDK je k dispozici ve formátu tbz2.
• Chcete-li instalovat sadu SDK, vytvořte složku, do níž se má sada SDK rozbalit a potom použijte následující příkaz:
tar-jxvf-<cesta k souboru AIR-SDK.tbz2>
Informace týkající se použití nástrojů sady AIR SDK naleznete v části Vytvoření aplikace AIR pomocí nástrojů
příkazového řádku.
Co zahrnuje sada AIR SDK
Následující tabulka popisuje účel souborů obsažených v sadě AIR SDK:
Složka SDK
Popis souborů/nástrojů
bin
Program AIR Debug Launcher (ADL) umožňuje spustit aplikaci AIR bez předchozího
zabalení a instalace. Další informace o použití tohoto nástroje naleznete v části
„Program AIR Debug Launcher (ADL)“ na stránce 157.
Program AIR Development Tool (ADT) sbalí aplikaci jako soubor AIR k distribuci.
Informace o použití tohoto nástroje naleznete v části „AIR Developer Tool (ADT)“ na
stránce 163.
frameworks
Adresář libs obsahuje knihovny kódu k použití v aplikacích AIR.
Adresář projects obsahuje kód pro kompilované knihovny SWF a SWC.
include
Adresář include obsahuje soubor záhlaví v jazyce C pro zápis nativního rozšíření.
install
Adresář install obsahuje ovladače USB systému Windows pro zařízení Android.
(Jedná se o ovladače poskytované společností Google v rámci sady Android SDK).
lib
Obsahuje podpůrný kód pro sadu AIR SDK.
Poslední aktualizace 31.8.2016
18
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Nástroje řešení Adobe Flash Platform pro vývoj aplikací AIR
Složka SDK
Popis souborů/nástrojů
runtimes
Běhová prostředí AIR pro stolní počítače a pro mobilní zařízení.
Běhové prostředí pro stolní počítače slouží programu ADL ke spuštění aplikací AIR
před jejich sbalením či instalací.
Běhová prostředí AIR pro Android (balíčky APK) lze nainstalovat do zařízení Android
nebo jejich emulátorů pro vývoj a testování. Samostatné balíčky APK slouží pro
zařízení a emulátory. (Veřejné běhové prostředí AIR pro zařízení Android je k dispozici
na tržišti Android Market.)
samples
Tato složka obsahuje soubor deskriptoru vzorové aplikace, vzor plynulé instalace
(badge.swf) a výchozí ikony aplikace AIR.
templates
descriptor-template.xml – Šablona souboru deskriptoru aplikace, která je
vyžadována pro každou aplikaci AIR. Podrobný popis souboru deskriptoru aplikace
naleznete v tématu „Soubory deskriptorů aplikací AIR“ na stránce 202.
Dále v této složce naleznete také soubory schémat pro strukturu XML deskriptoru
aplikace pro jednotlivé verze prostředí AIR.
Nastavení sady Flex SDK
Chcete-li vyvíjet aplikace Adobe® AIR® pomocí prostředí Adobe® Flex™, máte následující možnosti:
• Můžete stáhnout a nainstalovat prostředí Adobe® Flash® Builder™, které poskytuje integrované nástroje k vytváření
projektů Adobe AIR a ke zkoušení, ladění a sbalení aplikací AIR. Další informace naleznete v tématu „Vytvoření
první aplikace Flex AIR pro stolní počítač v aplikaci Flash Builder“ na stránce 20.
• Můžete stáhnout sadu SDK prostředí Adobe® Flex™ a vyvíjet aplikace Flex AIR pomocí oblíbeného textového
editoru a nástrojů příkazové řádky.
Rychlý přehled vytvoření aplikace AIR pomocí sady Flex SDK naleznete v části „Vytvoření první aplikace AIR pro
stolní počítače pomocí sady Flex SDK“ na stránce 36.
Instalace sady Flex SDK
Sestavování aplikací AIR pomocí nástrojů příkazového řádku vyžaduje, aby bylo v počítači instalováno prostředí Java.
Lze použít modul Java Virtual Machine buď z prostředí JRE, nebo JDK (veze 1.5 nebo novější). Sady Java JRE a JDK
jsou k dispozici na adrese http://java.sun.com/.
Poznámka: Ke spuštění aplikací AIR není nutné, aby měli koncoví uživatelé nainstalované prostředí Java.
Sada Flex SDK poskytuje rozhraní AIR API a nástroje příkazového řádku, které lze použít ke sbalení, kompilaci a
ladění aplikací AIR.
1 Pokud jste to ještě neudělali, stáhněte sadu Flex SDK z adresy
http://opensource.adobe.com/wiki/display/flexsdk/Downloads.
2 Umístěte obsah SDK do složky (například Flex SDK).
3 Zkopírujte obsah sady AIR SDK k souborům ve složce Flex SDK.
Poznámka: Pracujete-li na platformě Mac, ujistěte se, že kopírujete nebo nahrazujete jednotlivé soubory ve složkách
SDK – nikoli celé adresáře. Ve výchozím nastavení v systému Mac odstraní zkopírování adresáře do adresáře se
stejným názvem existující soubory v cílovém adresáři. Nesloučí tedy obsah obou adresářů. Příkaz ditto můžete
použít v okně terminálu ke sloučení sady AIR SDK se sadou Flex SDK:ditto air_sdk_folder flex_sdk_folder
4 Nástroje příkazového řádku AIR se nacházejí ve složce bin.
Poslední aktualizace 31.8.2016
19
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Nástroje řešení Adobe Flash Platform pro vývoj aplikací AIR
Nastavení externích sad SDK
Vývoj aplikací pro platformy Android a iOS vyžaduje stažení souborů pro zprovoznění, sad SDK a dalších
vývojářských nástrojů od tvůrců platformy.
Informace o stažení a instalaci sady Android SDK naleznete v částiVývojáři pro Android: Instalace sady SDK. Od verze
AIR 2.6 není nutné sadu Android SDK stahovat. Sada AIR SDK nově zahrnuje základní součásti potřebné k instalaci
a spouštění balíčků APK. Sada Android SDK však může přesto být užitečná u různých vývojářských úloh, včetně
vytváření a spouštění softwarových emulátorů a pořizování kopií obrazovek zařízení.
K vývoji na platformě iOS není nutná externí sada SDK. Jsou však třeba zvláštní certifikáty a profily pro
zprovozňování. Další informace naleznete v tématu Získání vývojářských souborů od společnosti Apple.
Poslední aktualizace 31.8.2016
20
Kapitola 5: Vytvoření první aplikace AIR
Vytvoření první aplikace Flex AIR pro stolní počítač v
aplikaci Flash Builder
Toto téma nabízí rychlé a praktické znázornění toho, jakým způsobem pracuje prostředí Adobe ® AIR®. Postupujte
podle pokynů a pomocí vývojového nástroje Adobe® Flash® Builder vytvořte a sbalte jednoduchou aplikaci AIR „Hello
World“ založenou na souboru SWF.
Pokud jste to ještě neudělali, stáhněte si a nainstalujte aplikaci Flash Builder. Rovněž si stáhněte a nainstalujte
nejnovější verzi prostředí Adobe AIR, které se nachází zde: www.adobe.com/go/air.
Vytvoření projektu v prostředí AIR
Aplikace Flash Builder zahrnuje nástroje potřebné k vyvíjení a sbalení aplikací AIR.
V prostředí Flash Builder nebo Flex Builder začnete vytvářet aplikace AIR stejným způsobem, jakým vytváříte ostatní
projekty aplikace s architekturou Flex: definováním nového projektu.
1 Spusťte aplikaci Flash Builder.
2 Zvolte možnost Soubor > Nový > Projekt Flex.
3 Jako název projektu zadejte AIRHelloWorld.
4 V prostředí Flex jsou aplikace AIR považovány za typ aplikace. Máte dva typy možností:
• webová aplikace, která běží v přehrávači Adobe® Flash® Player
• aplikace pro stolní počítače, která běží v prostředí Adobe AIR
Jako typ aplikace zvolte možnost Pro stolní počítače.
5 Kliknutím na tlačítko Dokončit vytvořte projekt.
Projekty AIR zpočátku tvoří dva soubory: hlavní soubor MXML a soubor XML aplikace (označovaný jako soubor
deskriptoru aplikace). Druhý soubor určuje vlastnosti aplikace.
Další informace naleznete v tématu Vývoj aplikací AIR pomocí nástroje Flex Builder.
Zápis kódu aplikace AIR
Když chcete zapsat kód aplikace „Hello World“, upravíte soubor MXML aplikace (AIRHelloWorld.mxml), který je
otevřený v editoru. (Není-li tento soubor otevřený, otevřete jej pomocí Navigátoru projektů.)
Aplikace Flex AIR ve stolním počítači jsou umístěny uvnitř tagu MXML WindowedApplication. Tag MXML
WindowedApplication vytvoří jednoduché okno obsahující základní ovládací prvky okna, např. titulní pruh a zavírací
tlačítko.
1 Přidejte komponentě WindowedApplication atribut title a přiřaďte mu hodnotu „Hello World":
Poslední aktualizace 31.8.2016
21
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">
</s:WindowedApplication>
2 Přidejte do aplikace komponentu Label (umístěte ji do tagu WindowedApplication). Nastavte vlastnost text
komponenty Label na hodnotu „Hello AIR" a nastavte omezení rozvržení tak, aby byla stále uprostřed, jak je
znázorněno zde:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">
<s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>
</s:WindowedApplication>
3 Hned za počáteční tag WindowedApplication a ještě před tag právě zadané komponenty label přidejte následující
blok stylu:
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
s|WindowedApplication
{
skinClass:ClassReference("spark.skins.spark.SparkChromeWindowedApplicationSkin");
background-color:#999999;
background-alpha:"0.7";
}
</fx:Style>
Tato nastavení stylu platí pro celou aplikaci a vykreslují pozadí okna mírně průhlednou šedou barvou.
Kód aplikace nyní vypadá takto:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
s|WindowedApplication
{
skinClass:ClassReference("spark.skins.spark.SparkChromeWindowedApplicationSkin");
background-color:#999999;
background-alpha:"0.7";
}
</fx:Style>
<s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>
</s:WindowedApplication>
Poslední aktualizace 31.8.2016
22
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
Nyní změníte některá nastavení v deskriptoru aplikace, aby daná aplikace mohla být průhledná:
1 V okně Navigátor prostředí Flex vyhledejte ve zdrojovém adresáři projektu soubor deskriptoru aplikace. Pokud jste
projekt nazvali AIRHelloWorld, má tento soubor název AIRHelloWorld-app.xml.
2 Poklepejte na soubor deskriptoru aplikace, aby jej bylo možné upravovat v prostředí Flash Builder.
3 V kódu XML vyhledejte řádky s komentářem pro vlastnosti systemChrome a transparent (vlastnosti
initialWindow). Komentář odstraňte. (Odstraňte oddělovače komentáře „<!--" a „-->".)
4 Nastavte textovou hodnotu vlastnosti systemChrome na možnost none jako v následujícím kódu:
<systemChrome>none</systemChrome>
5 Nastavte textovou hodnotu vlastnosti transparent na možnost true jako v následujícím kódu:
<transparent>true</transparent>
6 Uložte soubor.
Testování aplikace AIR
Jestliže chcete otestovat právě vytvořený kód aplikace, spusťte jej v režimu ladění.
1 Klepněte na tlačítko Ladění
na hlavním panelu nástrojů aplikace
Rovněž můžete zvolit příkaz Spustit > Ladění > AIRHelloWorld.
Výsledná aplikace AIR by měla vypadat jako v následujícím příkladu:
2 Pomocí vlastností horizontalCenter a verticalCenter ovládacího prvku Label se text umístí do středu okna.
Přesuňte okno nebo změňte jeho velikost jako u jakékoliv jiné počítačové aplikace.
Poznámka: Jestliže se aplikace nezkompiluje, opravte chyby v syntaxi nebo hláskování, jež byly neúmyslně zadány do
kódu. Chyby a upozornění se v aplikaci Flash Builder zobrazují v náhledu Problémy.
Poslední aktualizace 31.8.2016
23
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
Sbalení, podepsání a spuštění aplikace AIR
Nyní jste připraveni sbalit aplikaci „Hello World“ do souboru AIR určeného k distribuci. Soubor AIR je archivní
soubor obsahující soubory aplikace, což jsou všechny soubory obsažené ve složce bin daného projektu. V tomto
jednoduchém příkladu se jedná o soubory SWF a soubory XML aplikace. Balík AIR předáte uživatelům, kteří jej
použijí k instalaci aplikace. Povinným krokem v tomto procesu je jeho opatření digitálním podpisem.
1 Ujistěte se, že aplikace neobsahuje žádné chyby kompilace a funguje podle očekávání.
2 Zvolte možnost Projekt > Export sestavení vydání.
3 Zkontrolujte, zda jako projekt a aplikace jsou uvedeny projekt AIRHelloWorld a aplikace AIRHelloWorld.mxml.
4 Vyberte možnost Export as signed AIR package (Exportovat jako podepsaný balíček AIR). Potom klepněte na
tlačítko Next (Další).
5 Jestliže máte existující digitální certifikát, pomocí tlačítka Procházet jej vyhledejte a vyberte.
6 Pokud je třeba vytvořit nový digitální certifikát s vlastním podpisem, zvolte možnost Vytvořit.
7 Zadejte požadované informace a klikněte na tlačítko OK.
8 Kliknutím na tlačítko Dokončit vygenerujte balík aplikace AIR, který bude mít název AIRHelloWorld.air.
Nyní lze nainstalovat a spustit aplikaci z Navigátoru projektů v aplikaci Flash Builder nebo ze souborového systému
poklepáním na soubor AIR.
Vytvoření první aplikace AIR pro stolní počítače pomocí
aplikace Flash Professional
Toto téma nabízí rychlou a praktickou demonstraci toho, jakým způsobem pracuje prostředí Adobe® AIR®. Postupujte
podle pokynů a pomocí programu Adobe® Flash® Professional vytvořte a zabalte jednoduchou aplikaci „Hello World“.
Pokud jste to ještě neudělali, stáhněte a nainstalujte si prostředí Adobe AIR, které je umístěno zde:
www.adobe.com/go/air_cz.
Vytvoření aplikace „Hello World“ v programu Flash
Vytvoření aplikace Adobe AIR v programu Flash se velice podobá vytvoření jakéhokoli jiného souboru FLA.
Následující postup vás provede procesem vytvoření jednoduché aplikace „Hello World“ pomocí programu Flash
Professional.
Vytvoření aplikace „Hello World“
1 Spusťte program Flash.
2 Klepněte na úvodní obrazovce na položku AIR, abyste vytvořili prázdný soubor FLA s nastavením publikování
prostředí Adobe AIR.
3 Vyberte v panelu Nástroje textový nástroj a vytvořte ve středu vymezené plochy pole statického textu (výchozí
volba). Pole musí být dostatečně široké, aby obsáhlo 15–20 znaků.
4 Zadejte do tohoto textového pole text „Hello World“.
5 Uložte soubor a pojmenujte ho (například HelloAIR).
Poslední aktualizace 31.8.2016
24
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
Testování aplikace
1 Chcete-li aplikaci otestovat v prostředí Adobe AIR, stiskněte klávesy Ctrl+Enter nebo vyberte příkaz Ovládání-
>Testovat film->Testovat.
2 Abyste mohli použít funkci Ladit film, musíte nejdříve do aplikace přidat kód jazyka ActionScript. Toho rychle
dosáhnete, když přidáte příkaz trace, jako je například tento:
trace("Running AIR application using Debug Movie");
3 Chcete-li aplikaci spustit s funkcí Ladit film, stiskněte klávesy Ctrl+Shift+Enter nebo vyberte příkaz Ladění->Ladit
film->Ladit.
Aplikace „Hello World“ vypadá jako v této ukázce:
Sbalení aplikace
1 Vyberte příkaz Soubor > Publikovat.
2 Podepište balík Adobe AIR pomocí existujícího digitálního certifikátu nebo podle následujícího postupu vytvořte
certifikát podepsaný sebou samým:
a Klepněte na tlačítko Nový vedle pole Certifikát.
b Vyplňte položky Jméno vydavatele, Útvar organizace, Název organizace, E-mail, Země, Heslo a Potvrzení hesla.
c Určete typ certifikátu. Volba Typ certifikátu označuje úroveň zabezpečení: 1024-RSA používá 1024bitový klíč
(méně zabezpečený) a 2048-RSA používá 2048bitový klíč (více zabezpečený).
d Uložte informaci do souboru certifikátu – vyplňte položku Uložit jako nebo přejděte do umístění složky po
klepnutí na tlačítko Procházet. (Například C:/Temp/mujcert.pfx.) Po skončení klikněte na tlačítko OK.
e Program Flash vás vrátí do dialogového okna Digitální podpis. V textovém poli Certifikát se objeví cesta a název
souboru certifikátu s vlastním podpisem, který jste vytvořili. Pokud k tomu nedojde, zadejte cestu a název
souboru nebo je najděte a vyberte po klepnutí na tlačítko Procházet.
f
Do pole Heslo dialogového okna Digitální podpis zadejte stejné heslo, jež bylo přiřazeno v kroku b. Další
informace o podepisování aplikací Adobe AIR naleznete v části „Digitální podepisování souboru AIR“ na
stránce 187.
Poslední aktualizace 31.8.2016
25
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
3 Vytvořte soubor aplikace a instalátoru klepnutím na tlačítko Publikovat. (Ve verzích Flash CS4 a CS5 klepněte na
tlačítko OK.) Abyste vytvořili soubory SWF a soubory .xml aplikace před vytvořením souboru AIR, musíte spustit
příkaz Testovat film nebo Ladit film.
4 Chcete-li aplikaci nainstalovat, poklepejte na soubor AIR (aplikace.air), který je umístěný ve stejné složce, do které
jste svou aplikaci uložili.
5 V dialogovém okně Instalace aplikace klepněte na tlačítko Instalovat.
6 Zkontrolujte nastavení instalačních předvoleb a umístění a ujistěte se, zda je zaškrtnuto zaškrtávací políčko Spustit
aplikaci po dokončení instalace. Pak klepněte na tlačítko Pokračovat.
7 Až se objeví zpráva o dokončení instalace, klepněte na tlačítko Dokončit.
Vytvoření první aplikace AIR pro systém Android
pomocí aplikace Flash Professional
Chcete-li vyvíjet aplikace AIR pro systém Android, je nutné si stáhnout rozšíření aplikace Flash Professional CS5 pro
systém Android z webu Adobe Labs.
Také je nutné si z webu pro systém Android stáhnout a nainstalovat sadu Android SDK, jak je popsáno zde: Vývojáři
systému Android: Instalace sady SDK.
Vytvoření projektu
1 Spusťte aplikaci Flash CS5.
2 Vytvořte nový projekt AIR pro systém Android.
Domovská obrazovka aplikace Flash Professional obsahuje odkaz umožňující vytvořit aplikaci AIR pro systém
Android. Můžete také vybrat položky Soubor > Nový a poté vybrat šablonu AIR pro systém Android.
3 Uložte dokument jako soubor HelloWorld.fla.
Zápis kódu
Protože se tato výuková lekce ve skutečnosti nezabývá psaním kódu, napište na plochu pomocí nástroje Text jen
„Hello, World!“.
Nastavení vlastností aplikace
1 Vyberte položky Soubor > Nastavení aplikace AIR Android.
2 Na záložce Všeobecné proveďte následující nastavení:
• Výstupní soubor: HelloWorld.apk
• Název aplikace: HelloWorld
• ID aplikace: HelloWorld
• Číslo verze: 0.0.1
• Poměr stran: Na výšku
3 Na záložce Nasazení proveďte následující nastavení:
• Certifikát: Nastavte odkaz na platný certifikát pro podepisování kódu AIR. Klepnutím na tlačítko Vytvořit
můžete vytvořit nový certifikát. (Aplikace pro systém Android nasazované prostřednictvím webu Android
Marketplace musejí mít certifikát s platností nejméně do roku 2033.) Do pole Heslo zadejte heslo certifikátu.
Poslední aktualizace 31.8.2016
26
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
• Typ nasazení zařízení Android: Ladění
• Po publikování: Vyberte obě možnosti.
• Zadejte cestu k nástroji ADB v podadresáři tools sady Android SDK.
4 Zavřete dialogové okno nastavení Android klepnutím na tlačítko OK.
Aplikace v této fázi vývoje nepotřebuje ikony ani oprávnění. Většina aplikací AIR pro systém Android vyžaduje
určitá oprávnění pro přístup k chráněným funkcím. Měli byste nastavit pouze ta oprávnění, která daná aplikace
skutečně vyžaduje, protože uživatelé mohou aplikaci odmítnout v případě, že vyžaduje příliš mnoho oprávnění.
5 Uložte soubor.
Zabalení a instalace aplikace v zařízení Android
1 Ujistěte se, zda je v zařízení povoleno ladění přes port USB. Ladění přes port USB můžete zapnout v aplikaci
Settings (Nastavení) v části Applications (Aplikace) > Development (Vývoj).
2 Připojte zařízení k počítači pomocí kabelu USB.
3 Nainstalujte běhový modul AIR, pokud jste tak dosud neučinili, a to tak, že přejdete na web Android Market a
stáhnete prostředí Adobe AIR. (Prostředí AIR můžete také nainstalovat místně pomocí „Příkaz installRuntime
nástroje ADT“ na stránce 174. Balíčky systému Android pro použití v zařízeních Android a příslušných
emulátorech jsou součástí sady AIR SDK.)
4 Vyberte příkaz Soubor > Publikovat.
Aplikace Flash Professional vytvoří soubor APK, nainstaluje aplikaci na připojené zařízení Android a spustí ji.
Vytvoření první aplikace AIR pro systém iOS
Prostředí AIR 2.6 nebo novější, systém iOS 4.2 nebo novější
Základní funkce aplikace pro systém iOS můžete kódovat, vytvářet a testovat pouze pomocí nástrojů od společnosti
Adobe. Instalace aplikace pro systém iOS v zařízení a její distribuce však vyžaduje, abyste se připojili k programu Apple
iOS Developer (což je placená služba). Jakmile se k programu iOS Developer připojíte, získáte přístup k portálu iOS
Provisioning Portal, kde můžete od společnosti Apple získat následující položky a soubory, které jsou nutné pro
instalaci aplikace v zařízení za účelem testování a pro následnou distribuci. Tyto položky a soubory zahrnují:
• vývojářské a distribuční certifikáty,
• ID aplikací,
• prováděcí soubory pro vývoj a distribuci.
Vytvoření obsahu aplikace
Vytvořte soubor SWF, který zobrazuje text „Hello world!“. Tento úkol můžete provést pomocí aplikace Flash
Professional či Flash Builder nebo jiného prostředí IDE. V tomto příkladu se jednoduše používá textový editor a
kompilátor souboru SWF na příkazovém řádku, který je součástí sady Flex SDK.
1 Ve vhodném umístění vytvořte adresář pro ukládání souborů aplikace. Vytvořte soubor s názvem HelloWorld.as a
upravte jej v oblíbeném editoru kódu.
2 Přidejte následující kód:
Poslední aktualizace 31.8.2016
27
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
package{
import
import
import
import
flash.display.Sprite;
flash.text.TextField;
flash.text.TextFormat;
flash.text.TextFieldAutoSize;
public class HelloWorld extends Sprite
{
public function HelloWorld():void
{
var textField:TextField = new TextField();
textField.text = "Hello World!";
textField.autoSize = TextFieldAutoSize.LEFT;
var format:TextFormat = new TextFormat();
format.size = 48;
textField.setTextFormat ( format );
this.addChild( textField );
}
}
}
3 Zkompilujte třídu pomocí kompilátoru amxmlc:
amxmlc HelloWorld.as
Ve stejné složce se vytvoří soubor SWF HelloWorld.swf.
Poznámka: V tomto příkladu se předpokládá, že jste nastavili proměnnou prostředí pro cestu tak, aby zahrnovala
adresář obsahující kompilátor amxmlc. Informace o nastavení cesty naleznete v části „Proměnné prostředí pro cestu“
na stránce 301. Alternativou je zadání úplné cesty ke kompilátoru amxmlc a jiným nástrojům příkazového řádku
použitým v tomto příkladu.
Vytvoření obrazu ikony a úvodní obrazovky pro aplikaci
Všechny aplikace pro systém iOS obsahují ikony, které budou zobrazeny na uživatelském rozhraní aplikace iTunes i
na obrazovce zařízení.
1 Vytvořte pod složkou projektu složku s názvem icons (Ikony).
2 Ve složce ikon vytvořte tři soubory PNG. Pojmenujte je Icon_29.png, Icon_57.png a Icon_512.png.
3 Tyto soubory PNG upravte a vytvořte pro svou aplikaci příslušné obrazy. Je třeba, aby soubory měly velikost 29 x
29 obr. bodů, 57 x 57 obr. bodů a 512 x 512 obr. bodů. V rámci tohoto testu můžete obrazy jednoduše nahradit
plnobarevnými čtverci.
Poznámka: Při odeslání aplikace do obchodu App Store společnosti Apple použijete u souboru s 512 obr. body verzi
ve formátu JPEG (a nikoli verzi ve formátu PNG). Verze ve formátu PNG slouží k testování vývojových verzí aplikace.
Všechny aplikace pro zařízení iPhone při načítání aplikace do zařízení iPhone zobrazují počáteční obraz. Počáteční
obraz definujte jako soubor PNG:
1 V hlavní vývojové složce vytvořte soubor PNG s názvem Default.png. (Tento soubor neumísťujte do podsložky
ikon. Je nezbytné, abyste jako název souboru použili výraz „Default“, kde „D“ bude velké písmeno.)
2 Rozměry souboru upravte na šířku 320 obr. bodů a výšku 480 obr. bodů. Obsahem může být zatím prostý bílý
obdélník. (To změníme později.)
Poslední aktualizace 31.8.2016
28
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
Podrobné informace o této grafice naleznete v části „Ikony aplikace“ na stránce 84.
Vytvoření souboru deskriptoru aplikace
Vytvořte soubor deskriptoru aplikace, která určuje základní vlastnosti aplikace. Tento úkol můžete provést pomocí
prostředí IDE, jako je aplikace Flash Builder nebo textový editor.
1 Ve složce projektu, která obsahuje soubor HelloWorld.as, vytvořte soubor XML s názvem HelloWorld-app.xml.
Upravte tento soubor ve svém oblíbeném editoru XML.
2 Přidejte následující kód XML:
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/2.7" minimumPatchLevel="0">
<id>change_to_your_id</id>
<name>Hello World iOS</name>
<versionNumber>0.0.1</versionNumber>
<filename>HelloWorld</filename>
<supportedProfiles>mobileDevice</supportedProfiles>
<initialWindow>
<content>HelloWorld.swf</content>
<title>Hello World!</title>
</initialWindow>
<icon>
<image29x29>icons/AIRApp_29.png</image29x29>
<image57x57>icons/AIRApp_57.png</image57x57>
<image512x512>icons/AIRApp_512.png</image512x512>
</icon>
</application>
V zájmu zjednodušení se v tomto příkladu nastavuje pouze několik dostupných vlastností.
Poznámka: Pokud používáte prostředí AIR 2 nebo starší, je nutné použít element <version> namísto elementu
<versionNumber>.
3 Změňte ID aplikace tak, aby odpovídalo ID aplikace určenému na portálu iOS Provisioning Portal. (Nezahrnujte
náhodnou část představující zdroj balíku na začátku ID.)
4 Otestujte aplikaci pomocí programu ADL:
adl HelloWorld-app.xml -screensize iPhone
Program ADL by měl otevřít okno ve stolním počítači, ve kterém se zobrazí text: Hello World!. Pokud jej neotevře,
zkontrolujte zdrojový kód a deskriptor aplikace z hlediska možných chyb.
Kompilace souboru IPA
Nyní můžete pomocí nástroje ADT zkompilovat soubor instalátoru IPA. Musíte mít vývojářský certifikát od
společnosti Apple a soukromý klíč ve formátu souboru P12 a prováděcí profil pro vývoj od společnosti Apple.
Spusťte nástroj ADT s následujícími možnostmi, přičemž hodnoty keystore, storepass a provisioning-profile nahraďte
vlastními:
adt -package -target ipa-debug
-keystore iosPrivateKey.p12 -storetype pkcs12 -storepass qwerty12
-provisioning-profile ios.mobileprovision
HelloWorld.ipa
HelloWorld-app.xml
HelloWorld.swf icons Default.png
Poslední aktualizace 31.8.2016
29
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
(Použijte jediný příkazový řádek; tento příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení.)
Nástroj ADT vygeneruje soubor instalátoru aplikace pro systém iOS, HelloWorld.ipa, v adresáři projektu. Kompilace
souboru IPA může několik minut trvat.
Instalace aplikace v zařízení
Instalace aplikace pro systém iOS pro testování:
1 Otevřete aplikaci iTunes.
2 Pokud jste tak ještě neučinili, přidejte do aplikace iTunes prováděcí soubor pro svou aplikaci. V aplikaci iTunes
vyberte položky File (Soubor) > Add to Library (Přidat do knihovny). Poté vyberte soubor prováděcího profilu
(bude označen jako typ souboru mobileprovision).
K testování aplikace ve vývojářském zařízení zatím používejte vývojový prováděcí profil.
Až budete později aplikaci distribuovat do obchodu iTunes Store, použijte distribuční profil. Chcete-li aplikaci
distribuovat ad hoc (do více různých zařízení a bez obchodu iTunes Store), použijte ad hoc prováděcí profil.
Další informace o prováděcích profilech naleznete v části „Nastavení systému iOS“ na stránce 64.
3 Některé verze aplikace iTunes aplikaci nenahradí, pokud je již nainstalována stejná verze aplikace. V takovém
případě svou aplikaci odstraňte ze zařízení i ze seznamu aplikací v aplikaci iTunes.
4 Poklepejte na soubor IPA aplikace. Aplikace by se měla objevit v seznamu aplikací v aplikaci iTunes.
5 Připojte zařízení k portu USB v počítači.
6 V aplikaci iTunes vyhledejte zařízení na záložce Application (Aplikace) a ujistěte se, že je aplikace vybrána v
seznamu aplikací určených k instalaci.
7 Vyberte zařízení v levém seznamu aplikace iTunes. Poté klepněte na tlačítko Sync (Synchronizovat). Aplikace Hello
World se po dokončení synchronizace objeví v zařízení iPhone.
Pokud není nová verze nainstalována, odstraňte ji ze zařízení i ze seznamu aplikací v aplikaci iTunes a následně celý
tento postup opakujte. K této situaci může dojít, pokud aktuálně nainstalovaná verze používá stejné ID i verzi aplikace.
Úprava grafiky úvodní obrazovky
Před zkompilováním aplikace jste vytvořili soubor Default.png. (Další informace naleznete v části „Vytvoření obrazu
ikony a úvodní obrazovky pro aplikaci“ na stránce 27. Tento soubor PNG slouží jako počáteční obraz během načítání
aplikace. Možná jste si během testování aplikace v zařízení iPhone všimli při spouštění této prázdné obrazovky.
Tento obraz doporučujeme změnit tak, aby odpovídal úvodní obrazovce aplikace („Hello World!“).:
1 Spusťte v zařízení aplikaci. Až bude poprvé zobrazen text „Hello World“, stiskněte a podržte tlačítko Domů pod
obrazovkou. Stále držte tlačítko Domů a stiskněte v horní části zařízení iPhone tlačítko Napájení/režim spánku.
Tímto postupem pořídíte snímek obrazovky a odešlete jej do složky Camera Roll.
2 Obraz převeďte do vývojového počítače. Použijte k tomu převod fotografií z aplikace iPhoto nebo jiné aplikace
umožňující převod fotografií. (V systému MacOS můžete také použít aplikaci Image Capture.)
Stejně tak můžete fotografii do vývojového počítače odeslat e-mailem:
• Otevřete aplikaci Photos (Fotografie).
• Otevřete složku Camera Roll.
• Otevřete zachycený snímek obrazovky.
Poslední aktualizace 31.8.2016
30
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
• Poklepejte na obraz a poté poklepejte v levém dolním rohu na tlačítko (šipku) vpřed. Poté klepněte na tlačítko
Email Photo (Odeslat fotografii e-mailem) a odešlete obraz sami sobě.
3 Soubor Default.png (ve vývojové složce) nahraďte verzí obrazu zachycené obrazovky ve formátu PNG.
4 Znovu aplikaci zkompilujte (další informace naleznete v části „Kompilace souboru IPA“ na stránce 28) a aplikaci v
zařízení přeinstalujte.
Aplikace bude nyní během načítání používat novou úvodní obrazovku.
Poznámka: Pro soubor Dafault.png můžete vytvořit libovolnou grafiku se správnými rozměry (320 x 480 obr. bodů).
Často je ale nejlepší, pokud obraz v souboru Default.png odpovídá počátečnímu stavu aplikace.
Vytvoření první aplikace AIR založené na HTML pomocí
programu Dreamweaver
Toto téma nabízí rychlé a praktické znázornění toho, jakým způsobem pracuje prostředí Adobe ® AIR®. Postupujte
podle pokynů a pomocí rozšíření aplikace Adobe® AIR® pro program Dreamweaver® vytvořte a sbalte jednoduchou
aplikaci AIR „Hello World“ založenou na HTML.
Pokud jste to ještě neudělali, stáhněte a nainstalujte si prostředí Adobe AIR, které je umístěno zde:
www.adobe.com/go/air_cz.
Pokyny k instalaci rozšíření aplikace Adobe AIR pro program Dreamweaver naleznete v části Instalace rozšíření
aplikace AIR pro program Dreamweaver.
Přehled rozšíření, včetně systémových požadavků, naleznete v části Rozšíření aplikace AIR pro program
Dreamweaver.
Poznámka: Aplikace AIR založené na jazyce HTML lze vyvíjet pouze pro profily desktop a extendedDesktop. Mobilní
profil není podporovaný.
Příprava souborů aplikace
Aplikace Adobe AIR musí mít na webovém místě programu Dreamweaver definovanou úvodní stránku i všechny
ostatní stránky:
1 Spusťte program Dreamweaver a ujistěte se, že máte definované webové místo.
2 Otevřete novou stránku HTML: zvolte možnost Soubor > Nový, ve sloupci Typ stránky vyberte možnost HTML,
ve sloupci Rozvržení zvolte možnost Žádný a klikněte na tlačítko Vytvořit.
3 Na novou stránku zadejte Hello World!
Tento příklad je extrémně jednoduchý, ale pokud chcete změnit styl textu podle vlastního přání, přidejte na stránku
další obsah, propojte s touto úvodní stránkou další stránky atd.
4 Uložte soubor (Soubor > Uložit) jako hello_world.html. Ujistěte se, že je soubor uložen na webovém místě
programu Dreamweaver.
Další informace o webových místech programu Dreamweaver naleznete v Nápovědě programu Dreamweaver.
Vytvoření aplikace Adobe AIR
1 Ujistěte se, že je v okně Dokument programu Dreamweaver otevřena stránka hello_world.html. (Pokyny k jeho
vytvoření naleznete v předchozí části.)
Poslední aktualizace 31.8.2016
31
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
2 Zvolte možnost Webové místo > Nastavení aplikace AIR.
Většina požadovaných nastavení v aplikaci AIR a v dialogovém okně Nastavení se doplní automaticky. Nicméně je
třeba vybrat počáteční obsah (neboli úvodní stránku) aplikace.
3 Kliknutím na tlačítko Procházet umístěné u volby Počáteční obsah přejděte na stránku hello_world.html a vyberte ji.
4 Vedle volby Digitální podpis klikněte na tlačítko Nastavit.
Digitální podpis poskytuje záruku, že kód aplikace nebyl od vytvoření autorem softwaru změněn ani poškozen, a je
vyžadován u všech aplikací Adobe AIR.
5 V dialogovém okně Digitální podpis zvolte možnost Podepsat balík AIR pomocí digitálního certifikátu a klikněte
na tlačítko Vytvořit. (Pokud již máte přístup k digitálnímu certifikátu, můžete jej vybrat pomocí tlačítka
Procházet.)
6 Doplňte vyžadovaná pole v dialogovém okně Digitální certifikát s vlastním podpisem. Musíte zadat své jméno,
zadat heslo a potvrdit je a zadat název souboru digitálního certifikátu. Program Dreamweaver uloží digitální
certifikát do kořene webového místa.
7 Klepnutím na tlačítko OK přejděte zpět do dialogového okna Digitální podpis.
8 V dialogovém okně Digitální podpis zadejte heslo, které jste přiřadili digitálnímu podpisu a klikněte na tlačítko OK.
Doplněné dialogové okno Nastavení aplikace AIR a instalátoru může vypadat například takto:
Poslední aktualizace 31.8.2016
32
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
Další vysvětlení všech možností dialogových oken a způsobů jejich úprav naleznete v části Vytvoření aplikace AIR
v programu Dreamweaver.
9 Klikněte na tlačítko Vytvořit soubor AIR.
Program Dreamweaver vytvoří soubor aplikace Adobe AIR a uloží jej do kořenové složky daného webového místa.
Kromě toho program Dreamweaver vytvoří soubor application.xml a uloží jej na stejné místo. Tento soubor slouží
jako manifest definující různé vlastnosti aplikace.
Instalace aplikace ve stolním počítači
Když je nyní vytvořen soubor aplikace, lze jej instalovat v libovolném stolním počítači.
1 Přesuňte soubor aplikace Adobe AIR z webového místa programu Dreamweaver do vlastního či jiného počítače.
Tento krok je volitelný. Ve skutečnosti je možné novou aplikaci instalovat v počítači přímo z adresáře webového
místa programu Dreamweaver.
2 Dvakrát klikněte na proveditelný soubor aplikace (soubor .air) a nainstalujte aplikaci.
Náhled aplikace Adobe AIR
Stránky, jež budou součástí aplikací AIR, lze kdykoliv zobrazit v náhledu. To znamená, že není nutné aplikaci sbalit,
aby bylo možné zkontrolovat, jak bude vypadat po instalaci.
1 Ujistěte se, že je v okně Dokument programu Dreamweaver otevřena stránka hello_world.html.
2 Na panelu nástrojů Dokument klikněte na tlačítko Náhled/Ladění v prohlížeči a zvolte možnost Náhled v aplikaci AIR.
Rovněž lze stisknout klávesy Ctrl+Shift+F12 (Windows) nebo Cmd+Shift+F12 (Macintosh).
V náhledu této stránky v podstatě vidíte to, co uvidí uživatel jako úvodní stránku aplikace po nainstalování aplikace
ve stolním počítači.
Vytvoření první aplikace AIR založené na HTML pomocí
sady AIR SDK
Toto téma nabízí rychlé a praktické znázornění toho, jakým způsobem pracuje prostředí Adobe ® AIR®. Postupujte
podle pokynů a vytvořte a sbalte jednoduchou aplikaci AIR „Hello World“ založenou na HTML.
Nejprve je nutné mít nainstalovaný běhový modul a nastavenou sadu AIR SDK. V této výukové lekci použijete
programy AIR Debug Launcher (ADL) a AIR Developer Tool (ADT). ADL a ADT jsou pomocné programy
příkazového řádku, které naleznete v adresáři bin sady AIR SDK (další informace v tématu „Instalace sady AIR SDK“
na stránce 16). Tato výuková lekce předpokládá, že jste již obeznámeni se spouštěním programů z příkazového řádku
a víte, jak se nastavují nezbytné proměnné prostředí cest pro daný operační systém.
Poznámka: Jste-li uživatelem programu Adobe® Dreamweaver®, přečtěte si část „Vytvoření první aplikace AIR založené
na HTML pomocí programu Dreamweaver“ na stránce 30.
Poznámka: Aplikace AIR založené na jazyce HTML lze vyvíjet pouze pro profily desktop a extendedDesktop. Mobilní
profil není podporovaný.
Poslední aktualizace 31.8.2016
33
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
Vytvoření souborů projektu
Každý projekt AIR založený na HTML musí zahrnovat následující dva soubory: soubor deskriptoru aplikace, který
určuje metadata aplikace, a stránku HTML nejvyšší úrovně. Kromě těchto vyžadovaných souborů zahrnuje tento
projekt také soubor s kódem JavaScript AIRAliases.js, který definuje vhodné proměnné zástupců pro třídy rozhraní
API aplikace AIR.
1 Vytvořte adresář s názvem HelloWorld, v němž budou uloženy soubory projektu.
2 Vytvořte soubor XML s názvem HelloWorld-app.xml.
3 Vytvořte soubor HTML s názvem HelloWorld.html.
4 Zkopírujte soubor AIRAliases.js ze složky rámců sady AIR SDK do adresáře projektu.
Vytvoření souboru deskriptoru aplikace AIR
Aby bylo možné zahájit vytváření aplikace AIR, vytvořte soubor XML deskriptoru aplikace s následující strukturou:
<application xmlns="...">
<id>…</id>
<versionNumber>…</versionNumber>
<filename>…</filename>
<initialWindow>
<content>…</content>
<visible>…</visible>
<width>…</width>
<height>…</height>
</initialWindow>
</application>
1 Otevřete soubor HelloWorld-app.xml k provádění úprav.
2 Přidejte kořenový element <application> včetně atributu jmenného prostoru aplikace AIR:
<application xmlns="http://ns.adobe.com/air/application/2.7"> Poslední segment jmenného prostoru „2.7“
určuje verzi běhového modulu vyžadovaného aplikací.
3 Přidejte element <id>:
<id>examples.html.HelloWorld</id> ID aplikace jednoznačně označuje aplikaci spolu s ID vydavatele (které
aplikace AIR získá z certifikátu použitého k podepsání balíku aplikace). ID aplikace slouží k instalaci, přístupu
k adresáři úložiště systému souborů soukromé aplikace, přístupu k soukromému šifrovanému úložišti
a komunikaci mezi aplikacemi.
4 Přidejte element <versionNumber>:
<versionNumber>0.1</versionNumber> Pomáhá uživatelům určit, jakou verzi aplikace instalují.
Poznámka: Pokud používáte prostředí AIR 2 nebo starší, je nutné použít element <version> namísto elementu
<versionNumber>.
5 Přidejte element <filename>:
<filename>HelloWorld</filename> Název použitý pro spustitelný soubor aplikace, instalační adresář a další
odkazy na aplikaci v operačním systému.
6 Přidejte element <initialWindow> obsahující následující podřízené elementy, jež určí vlastnosti úvodního okna
aplikace:
<content>HelloWorld.html</content> Určuje kořenový soubor HTML, který má aplikace AIR načíst.
Poslední aktualizace 31.8.2016
34
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
<visible>true</visible> Ihned okno zviditelní.
<width>400</width> Nastavuje šířku okna (v obrazových bodech).
<height>200</height> Nastavuje výšku okna.
7 Uložte soubor. Dokončený soubor deskriptoru aplikace by měl vypadat následovně:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/2.7">
<id>examples.html.HelloWorld</id>
<versionNumber>0.1</versionNumber>
<filename>HelloWorld</filename>
<initialWindow>
<content>HelloWorld.html</content>
<visible>true</visible>
<width>400</width>
<height>200</height>
</initialWindow>
</application>
V tomto příkladu se nastaví jen několik možných vlastností aplikace. Kompletní sadu vlastností aplikace, pomocí
nichž lze určit například systémové prvky okna, velikost okna, průhlednost, výchozí instalační adresář, přiřazené typy
souborů a ikony aplikace, naleznete v části „Soubory deskriptorů aplikací AIR“ na stránce 202.
Vytvoření stránky HTML aplikace
Je třeba vytvořit jednoduchou stránku HTML, která bude sloužit jako hlavní soubor pro aplikaci AIR.
1 Otevřete soubor HelloWorld.html k provádění úprav. Přidejte následující kód HTML:
<html>
<head>
<title>Hello World</title>
</head>
<body onLoad="appLoad()">
<h1>Hello World</h1>
</body>
</html>
2 Do části <head> kódu HTML importujte soubor AIRAliases.js:
<script src="AIRAliases.js" type="text/javascript"></script>
Aplikace AIR definuje u objektu okna HTML vlastnost s názvem runtime. Vlastnost runtime poskytuje přístup
k vestavěným třídám AIR pomocí úplného názvu balíku třídy. Pokud byste například chtěli vytvořit objekt AIR
File, mohli byste přidat následující příkaz v jazyce JavaScript:
var textFile = new runtime.flash.filesystem.File("app:/textfile.txt");
Soubor AIRAliases.js definuje vhodné zástupce pro nejužitečnější rozhraní API aplikace AIR. Pomocí souboru
AIRAliases.js lze zkrátit odkaz na třídu File následovně:
var textFile = new air.File("app:/textfile.txt");
3 Pod tag scriptu AIRAliases přidejte další tag scriptu obsahující funkci JavaScript pro zpracování události onLoad:
Poslední aktualizace 31.8.2016
35
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
<script type="text/javascript">
function appLoad(){
air.trace("Hello World");
}
</script>
Funkce appLoad() jednoduše zavolá funkci air.trace(). Zpráva trace se tiskne do příkazové konzoly při
spuštění aplikace pomocí programu ADL. Příkazy trace mohou být velmi užitečné při ladění.
4 Uložte soubor.
Soubor HelloWorld.html by teď měl vypadat následovně:
<html>
<head>
<title>Hello World</title>
<script type="text/javascript" src="AIRAliases.js"></script>
<script type="text/javascript">
function appLoad(){
air.trace("Hello World");
}
</script>
</head>
<body onLoad="appLoad()">
<h1>Hello World</h1>
</body>
</html>
Testování aplikace
Chcete-li aplikaci spustit a otestovat z příkazového řádku, použijte pomocný program ADL (AIR Debug Launcher).
Proveditelný soubor programu ADL naleznete v adresáři bin sady AIR SDK. Pokud jste ještě nenainstalovali sadu AIR
SDK, podívejte se na téma „Instalace sady AIR SDK“ na stránce 16.
1 Otevřete příkazovou konzolu nebo interpreta shell. Přejděte do adresáře, který jste vytvořili pro tento projekt.
2 Spusťte následující příkaz.
adl HelloWorld-app.xml
Otevře se okno aplikace AIR, v němž bude zobrazena nová aplikace. V okně konzoly se rovněž zobrazí výsledná
zpráva volání funkce air.trace().
Další informace naleznete v části „Soubory deskriptorů aplikací AIR“ na stránce 202.
Vytvoření instalačního souboru aplikace AIR
Po úspěšném spuštění aplikace můžete pomocí pomocného programu ADL aplikaci sbalit do instalačního souboru
AIR. Instalační soubor AIR je archivní soubor obsahující všechny soubory aplikace, který lze předat uživatelům. Před
instalací sbaleného souboru AIR je nutné instalovat aplikaci Adobe AIR.
Aby byla zajištěna bezpečnost aplikace, musí být všechny instalační soubory AIR opatřeny digitálním podpisem. Pro
účely vývoje aplikace lze pomocí programu ADT či jiného nástroje pro generování certifikátů vygenerovat základní
certifikát s vlastním podpisem. Rovněž je možné zakoupit komerční certifikát pro podpis kódu od komerční
certifikační autority, např. VeriSign nebo Thawte. Když uživatel instaluje soubor AIR s vlastním podpisem, zobrazuje
se vydavatel během procesu instalace jako „neznámý“. Je tomu tak proto, že certifikát s vlastním podpisem zaručuje
Poslední aktualizace 31.8.2016
36
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
pouze to, že soubor AIR nebyl od svého vytvoření změněn. Proti tomu, aby někdo připojil vlastní podpis
k fingovanému souboru AIR a vydával jej za vaši aplikaci, neexistuje žádná obrana. Pro veřejně vydávané soubory AIR
se rozhodně doporučuje použít ověřitelný komerční certifikát. Přehled otázek týkajících se zabezpečení aplikace AIR
naleznete v tématu Zabezpečení aplikace AIR (pro vývojáře používající jazyk ActionScript) nebo Zabezpečení aplikace
AIR (pro vývojáře používající jazyk HTML).
Generování certifikátu s vlastním podpisem a klíče
❖ Z příkazového řádku zadejte následující příkaz (proveditelný soubor programu ADT je umístěn v adresáři bin sady
AIR SDK):
adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword
Program ADT vygeneruje soubor keystore s názvem sampleCert.pfx, který obsahuje certifikát a odpovídající
soukromý klíč.
V tomto příkladu se použije minimální počet atributů, které lze nastavit pro certifikát. Typ klíče musí být buď 1024RSA nebo 2048-RSA (viz „Podepisování aplikací AIR“ na stránce 187).
Vytvoření instalačního souboru aplikace AIR
❖ Z příkazového řádku zadejte následující příkaz (na jediném řádku):
adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air
HelloWorld-app.xml HelloWorld.html AIRAliases.js
Budete vyzváni k zadání hesla souboru keystore.
Argument HelloWorld.air je soubor AIR vytvořený programem ADT. HelloWorld-app.xml je soubor deskriptoru
aplikace. Následné argumenty jsou soubory používané aplikací. V tomto příkladu jsou použity pouze dva soubory,
ale lze zahrnout libovolný počet souborů a adresářů. Nástroj ADT ověří, zda je hlavní soubor obsahu,
HelloWorld.html, součástí balíčku, ale pokud jste zapomněli zahrnout soubor AIRAliases.js, pak aplikace
jednoduše nebude fungovat.
Po vytvoření balíku AIR je možné instalovat a spustit aplikaci dvojitým kliknutím na soubor balíku. Název souboru
AIR lze rovněž zadat jako příkaz do interpreta shell nebo do příkazového okna.
Další postup
V aplikaci AIR se kód HTML a JavaScript obvykle chová stejně jako v běžném webovém prohlížeči. (Aplikace AIR ve
skutečnosti používá stejný vykreslovací modul WebKit jako webový prohlížeč Safari.) Nicméně zde existuje několik
důležitých rozdílů, které je při vývoji aplikací HTML v prostředí AIR nutné znát. Více informací o těchto rozdílech a
další důležitá témata naleznete v článku Programování v jazyce HTML a JavaScript.
Vytvoření první aplikace AIR pro stolní počítače pomocí
sady Flex SDK
Pro rychlé a praktické znázornění práce prostředí Adobe® AIR® použijte tyto pokyny k vytvoření jednoduché aplikace
AIR „Hello World“ založené na formátu SWF pomocí sady Flex SDK. V této výukové lekci se dozvíte, jak zkompilovat,
otestovat a zabalit aplikaci AIR pomocí nástrojů příkazového řádku, které jsou k dispozici v sadě Flex SDK (sada Flex
SDK obsahuje sadu AIR SDK).
Poslední aktualizace 31.8.2016
37
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
Nejprve je nutné nainstalovat běhový modul a nastavit aplikaci Adobe® Flex™. V této výukové lekci se používá
kompilátor AMXMLC, aplikace AIR Debug Launcher (ADL) a nástrojAIR Developer Tool (ADT). Tyto programy
naleznete v adresáři bin sady Flex SDK ( viz „Nastavení sady Flex SDK“ na stránce 18).
Vytvoření souboru deskriptoru aplikace AIR
V této části je popsán postup vytvoření deskriptoru aplikace, což je soubor XML s touto strukturou:
<application xmlns="...">
<id>...</id>
<versionNumber>...</versionNumber>
<filename>…</filename>
<initialWindow>
<content>…</content>
<visible>…</visible>
<width>…</width>
<height>…</height>
</initialWindow>
</application>
1 Vytvořte soubor XML s názvem HelloWorld-app.xml a uložte jej do adresáře projektu.
2 Přidejte element <application> včetně atributu jmenného prostoru aplikace AIR:
<application xmlns="http://ns.adobe.com/air/application/2.7"> Poslední segment jmenného prostoru „2.7“
určuje verzi běhového modulu vyžadovaného aplikací.
3 Přidejte element <id>:
<id>samples.flex.HelloWorld</id> ID aplikace jednoznačně určuje aplikaci spolu s ID vydavatele (které aplikace
AIR získá z certifikátu použitého k podepsání balíku aplikace). Doporučovaný tvar je řetězec s hodnotami
oddělenými tečkou v obráceném stylu DNS, například "com.company.AppName". ID aplikace slouží k instalaci,
přístupu k adresáři úložiště systému souborů soukromé aplikace, přístupu k soukromému šifrovanému úložišti
a komunikaci mezi aplikacemi.
4 Přidejte element <versionNumber>:
<versionNumber>1.0</versionNumber> Pomáhá uživatelům určit, jakou verzi aplikace instalují.
Poznámka: Pokud používáte prostředí AIR 2 nebo starší, je nutné použít element <version> namísto elementu
<versionNumber>.
5 Přidejte element <filename>:
<filename>HelloWorld</filename> Název použitý pro spustitelný soubor aplikace, instalační adresář a obdobný
pro odkazy v operačním systému.
6 Přidejte element <initialWindow> obsahující následující podřízené elementy, jež určí vlastnosti úvodního okna
aplikace:
<content>HelloWorld.swf</content> Určuje kořenový soubor SWF, který má prostředí AIR načíst.
<visible>true</visible> Ihned okno zviditelní.
<width>400</width> Nastavuje šířku okna (v obrazových bodech).
<height>200</height> Nastavuje výšku okna.
7 Uložte soubor. Úplný soubor deskriptoru aplikace by měl vypadat takto:
Poslední aktualizace 31.8.2016
38
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/2.7">
<id>samples.flex.HelloWorld</id>
<versionNumber>0.1</versionNumber>
<filename>HelloWorld</filename>
<initialWindow>
<content>HelloWorld.swf</content>
<visible>true</visible>
<width>400</width>
<height>200</height>
</initialWindow>
</application>
V tomto příkladu se nastaví jen několik možných vlastností aplikace. Kompletní sadu vlastností aplikace, pomocí
nichž lze určit například systémové prvky okna, velikost okna, průhlednost, výchozí instalační adresář, přiřazené typy
souborů a ikony aplikace, naleznete v části „Soubory deskriptorů aplikací AIR“ na stránce 202.
Zápis kódu aplikace
Poznámka: Aplikace AIR založené na formátu SWF mohou využívat hlavní třídu definovanou pomocí jazyka MXML
nebo Adobe® ActionScript® 3.0. V tomto příkladu je k určení hlavní třídy použit soubor MXML. Proces vytváření aplikace
AIR s hlavní třídou jazyka ActionScript je podobný. Namísto kompilace souboru MXML do souboru SWF zkompilujete
soubor třídy jazyka ActionScript. Používáte-li jazyk ActionScript, hlavní třída musí rozšiřovat třídu flash.display.Sprite.
Podobně jako všechny aplikace vytvořené v prostředí Flex, aplikace AIR sestavené v prostředí Flex obsahují hlavní
soubor MXML. Aplikace AIR pro stolní počítače využívají jako kořenový element komponentu WindowedApplication
a nikoli komponentu Application. Komponenta WindowedApplication poskytuje vlastnosti, metody a události pro
řízení aplikace a jejího úvodního okna. V platformách a profilech, pro něž prostředí AIR nepodporuje více oken,
používejte nadále komponentu Application. V mobilních aplikacích Flex můžete používat také komponentu View
nebo TabbedViewNavigatorApplication.
Následující procedura vytvoří aplikaci Hello World:
1 Pomocí textového editoru vytvořte soubor s názvem HelloWorld.mxml a přidejte tento kód MXML:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">
</s:WindowedApplication>
2 Pak přidejte do aplikace komponentu Label (umístěte ji dovnitř tagu WindowedApplication).
3 Vlastnost text komponenty Label nastavte na řetězec "Hello AIR".
4 Omezení rozvržení nastavte tak, aby bylo stále zachováno vystředění.
Následující příklad zobrazuje dosavadní kód:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">
<s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>
</s:WindowedApplication>
Poslední aktualizace 31.8.2016
39
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
Kompilace aplikace
Než budete moci aplikaci spustit a ladit, zkompilujte kód MXML pomocí kompilátoru amxmlc do souboru SWF.
Kompilátor amxmlc naleznete v adresáři bin sady Flex SDK. Podle potřeby můžete nastavit prostředí cesty počítače
tak, aby zahrnovalo adresář bin sady Flex SDK. Nastavení cesty usnadňuje spuštění utilit na příkazovém řádku.
1 Spusťte příkazové prostředí nebo terminál a přejděte do složky projektu aplikace AIR.
2 Zadejte následující příkaz:
amxmlc HelloWorld.mxml
Spuštěním kompilátoru amxmlc vytvoříte soubor HelloWorld.swf, který obsahuje zkompilovaný kód aplikace.
Poznámka: Pokud se aplikace nezkompiluje, opravte syntaktické nebo pravopisné chyby. Chyby a upozornění se zobrazí
v okně konzoly, které slouží ke spouštění kompilátoru amxmlc.
Další informace naleznete v tématu „Kompilace zdrojových souborů MXML a ActionScript pro aplikaci AIR“ na
stránce 153.
Testování aplikace
Chcete-li spouštět a testovat aplikaci pomocí příkazového řádku, použijte program AIR Debug Launcher (ADL) ke
spuštění aplikace s použitím jejího souboru deskriptoru aplikace. (Program ADL naleznete v adresáři bin sady Flex SDK.)
❖ Pomocí příkazového řádku zadejte tento příkaz:
adl HelloWorld-app.xml
Výsledná aplikace AIR vypadá podobně jako na tomto obrázku:
Pomocí vlastností horizontalCenter a verticalCenter ovládacího prvku Label se text umístí do středu okna. Přesuňte
okno nebo změňte jeho velikost jako u jakékoliv jiné počítačové aplikace.
Další informace naleznete v části „Program AIR Debug Launcher (ADL)“ na stránce 157.
Vytvoření instalačního souboru aplikace AIR
Po úspěšném spuštění aplikace můžete pomocí pomocného programu ADL aplikaci sbalit do instalačního souboru
AIR. Instalační soubor AIR je archivní soubor obsahující všechny soubory aplikace, který lze předat uživatelům. Před
instalací sbaleného souboru AIR je nutné instalovat aplikaci Adobe AIR.
Aby byla zajištěna bezpečnost aplikace, musí být všechny instalační soubory AIR opatřeny digitálním podpisem. Pro
účely vývoje aplikace lze pomocí programu ADT či jiného nástroje pro generování certifikátů vygenerovat základní
certifikát s vlastním podpisem. Můžete také zakoupit komerční certifikát pro podpis kódu od komerční certifikační
autority. Když uživatel instaluje soubor AIR s vlastním podpisem, zobrazuje se vydavatel během procesu instalace jako
„neznámý“. Je tomu tak proto, že certifikát s vlastním podpisem zaručuje pouze to, že soubor AIR nebyl od svého
Poslední aktualizace 31.8.2016
40
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
vytvoření změněn. Proti tomu, aby někdo připojil vlastní podpis k fingovanému souboru AIR a vydával jej za vaši
aplikaci, neexistuje žádná obrana. Pro veřejně vydávané soubory AIR se rozhodně doporučuje použít ověřitelný
komerční certifikát. Přehled otázek týkajících se zabezpečení aplikace AIR naleznete v tématu Zabezpečení aplikace
AIR (pro vývojáře používající jazyk ActionScript) nebo Zabezpečení aplikace AIR (pro vývojáře používající jazyk
HTML).
Generování certifikátu s vlastním podpisem a klíče
❖ Z příkazového řádku zadejte následující příkaz (spustitelný soubor programu ADT je umístěn v adresáři bin sady
Flex SDK):
adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword
V tomto příkladu se použije minimální počet atributů, které lze nastavit pro certifikát. Typ klíče musí být buď 1024RSA nebo 2048-RSA (viz „Podepisování aplikací AIR“ na stránce 187).
Vytvoření balíčku AIR
❖ Z příkazového řádku zadejte následující příkaz (na jediném řádku):
adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air
HelloWorld-app.xml HelloWorld.swf
Budete vyzváni k zadání hesla souboru keystore. Zadejte heslo a stiskněte klávesu Enter. Znaky hesla nebudou z
bezpečnostních důvodů zobrazeny.
Argument HelloWorld.air je soubor AIR vytvořený programem ADT. HelloWorld-app.xml je soubor deskriptoru
aplikace. Následné argumenty jsou soubory používané aplikací. V tomto příkladu jsou použity pouze tři soubory,
ale lze zahrnout libovolný počet souborů a adresářů.
Po vytvoření balíku AIR je možné instalovat a spustit aplikaci dvojitým kliknutím na soubor balíku. Název souboru
AIR lze rovněž zadat jako příkaz do interpreta shell nebo do příkazového okna.
Další informace naleznete v tématu „Balení instalačního souboru aplikace AIR pro stolní počítač“ na stránce 52.
Vytvoření první aplikace AIR pro systém Android
pomocí sady Flex SDK
Nejprve musíte mít nainstalovány a nastaveny sady AIR SDK a Flex SDK. V této výukové lekci se používá kompilátor
AMXMLC ze sady Flex SDK a nástroje AIR Debug Launcher (ADL) a AIR Developer Tool (ADT) ze sady AIR SDK. Viz
„Nastavení sady Flex SDK“ na stránce 18.
Také je nutné si z webu pro systém Android stáhnout a nainstalovat sadu Android SDK, jak je popsáno zde: Vývojáři
systému Android: Instalace sady SDK.
Poznámka: Informace o vývoji pro zařízení iPhone naleznete v tématu Creating a Hello World iPhone application with
Flash Professional CS5 (Vytvoření aplikace Hello World pro zařízení pomocí aplikace iPhone Flash Professional CS5).
Vytvoření souboru deskriptoru aplikace AIR
V této části je popsán postup vytvoření deskriptoru aplikace, což je soubor XML s touto strukturou:
Poslední aktualizace 31.8.2016
41
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
<application xmlns="...">
<id>...</id>
<versionNumber>...</versionNumber>
<filename>…</filename>
<initialWindow>
<content>…</content>
</initialWindow>
<supportedProfiles>...</supportedProfiles>
</application>
1 Vytvořte soubor XML s názvem HelloWorld-app.xml a uložte jej do adresáře projektu.
2 Přidejte element <application> včetně atributu jmenného prostoru aplikace AIR:
<application xmlns="http://ns.adobe.com/air/application/2.7"> Poslední segment jmenného prostoru „2.7“
určuje verzi běhového modulu vyžadovaného aplikací.
3 Přidejte element <id>:
<id>samples.android.HelloWorld</id> ID aplikace jednoznačně označuje aplikaci spolu s ID vydavatele (které
aplikace AIR získá z certifikátu použitého k podepsání balíku aplikace). Doporučovaný tvar je řetězec s hodnotami
oddělenými tečkou v obráceném stylu DNS, například "com.company.AppName".
4 Přidejte element <versionNumber>:
<versionNumber>0.0.1</versionNumber> Pomáhá uživatelům určit, jakou verzi aplikace instalují.
5 Přidejte element <filename>:
<filename>HelloWorld</filename> Název použitý pro spustitelný soubor aplikace, instalační adresář a obdobný
pro odkazy v operačním systému.
6 Přidejte element <initialWindow> obsahující následující podřízené elementy, jež určí vlastnosti úvodního okna
aplikace:
<content>HelloWorld.swf</content> Určuje kořenový soubor HTML, který má prostředí AIR načíst.
7 Přidejte element <supportedProfiles>:
<supportedProfiles>mobileDevice</supportedProfiles> Určuje, že se aplikace spustí pouze v mobilním profilu.
8 Uložte soubor. Úplný soubor deskriptoru aplikace by měl vypadat takto:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/2.7">
<id>samples.android.HelloWorld</id>
<versionNumber>0.0.1</versionNumber>
<filename>HelloWorld</filename>
<initialWindow>
<content>HelloWorld.swf</content>
</initialWindow>
<supportedProfiles>mobileDevice</supportedProfiles>
</application>
V tomto příkladu se nastaví jen několik možných vlastností aplikace. K dispozici jsou další nastavení, která můžete v
souboru deskriptoru aplikace použít. Například můžete přidat položku <fullScreen>true</fullScreen> do elementu
initialWindow, čímž vytvoříte celoobrazovkovou aplikaci. Chcete-li povolit vzdálené ladění a funkce s řízeným
přístupem v systému Android, bude rovněž nutné do deskriptoru aplikace přidat oprávnění systému Android. Pro
tuto jednoduchou aplikaci nejsou oprávnění potřebná, takže není nutné je nyní přidávat.
Další informace naleznete v tématu „Nastavení vlastností mobilní aplikace“ na stránce 69.
Poslední aktualizace 31.8.2016
42
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
Zápis kódu aplikace
Vytvořte soubor s názvem HelloWorld.as a pomocí textového editoru přidejte následující kód:
package
{
import flash.display.Sprite;
import flash.text.TextField;
public class HelloWorld extends Sprite
{
public function HelloWorld()
{
var textField:TextField = new TextField();
textField.text = "Hello, World!";
stage.addChild( textField );
}
}
}
Kompilace aplikace
Než budete moci aplikaci spustit a ladit, zkompilujte kód MXML pomocí kompilátoru amxmlc do souboru SWF.
Kompilátor amxmlc naleznete v adresáři bin sady Flex SDK. Podle potřeby můžete nastavit prostředí cesty počítače
tak, aby zahrnovalo adresář bin sady Flex SDK. Nastavení cesty usnadňuje spuštění utilit na příkazovém řádku.
1 Spusťte příkazové prostředí nebo terminál a přejděte do složky projektu aplikace AIR.
2 Zadejte následující příkaz:
amxmlc HelloWorld.as
Spuštěním kompilátoru amxmlc vytvoříte soubor HelloWorld.swf, který obsahuje zkompilovaný kód aplikace.
Poznámka: Pokud se aplikace nezkompiluje, opravte syntaktické nebo pravopisné chyby. Chyby a upozornění se zobrazí
v okně konzoly, které slouží ke spouštění kompilátoru amxmlc.
Další informace naleznete v tématu „Kompilace zdrojových souborů MXML a ActionScript pro aplikaci AIR“ na
stránce 153.
Testování aplikace
Chcete-li spouštět a testovat aplikaci pomocí příkazového řádku, použijte program AIR Debug Launcher (ADL) ke
spuštění aplikace s použitím jejího souboru deskriptoru aplikace. (Program ADL naleznete v adresáři bin sady AIR
SDK a Flex SDK.)
❖ Pomocí příkazového řádku zadejte tento příkaz:
adl HelloWorld-app.xml
Další informace naleznete v části „Simulace zařízení pomocí programu ADL“ na stránce 98.
Vytvoření souboru balíčku APK
Po úspěšném spuštění aplikace můžete pomocí programu ADL aplikaci sbalit do souboru balíčku APK. Soubor balíčku
APK je nativní formát souboru aplikace Android, který můžete distribuovat uživatelům.
Poslední aktualizace 31.8.2016
43
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vytvoření první aplikace AIR
Všechny aplikace AIR musejí být podepsané. Na rozdíl od souborů AIR je zvykem podepisovat aplikace pro systém
Android certifikátem s vlastním podpisem. Operační systém Android se nepokusí zjistit totožnost vývojáře aplikace.
K podepsání balíčků pro systém Android můžete použít certifikát generovaný nástrojem ADT. Certifikáty použité pro
aplikace odesílané na web Android Market musejí mít dobu platnosti nejméně 25 let.
Generování certifikátu s vlastním podpisem a klíče
❖ Z příkazového řádku zadejte následující příkaz (spustitelný soubor programu ADT je umístěn v adresáři bin sady
Flex SDK):
adt -certificate -validityPeriod 25 -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword
V tomto příkladu se použije minimální počet atributů, které lze nastavit pro certifikát. Typ klíče musí být buď 1024RSA nebo 2048-RSA (viz „Příkaz certificate nástroje ADT“ na stránce 171).
Vytvoření balíčku AIR
❖ Z příkazového řádku zadejte následující příkaz (na jediném řádku):
adt -package -target apk -storetype pkcs12 -keystore sampleCert.p12 HelloWorld.apk
HelloWorld-app.xml HelloWorld.swf
Budete vyzváni k zadání hesla souboru keystore. Zadejte heslo a stiskněte klávesu Enter.
Další informace naleznete v tématu „Zabalení mobilní aplikace AIR“ na stránce 91.
Instalace běhového modulu AIR
Nejnovější verzi běhového modulu AIR můžete do svého zařízení nainstalovat z webu Android Market. Můžete také
nainstalovat běhový modul, který je součástí sady SDK, a to buď do zařízení, nebo do emulátoru systému Android.
❖ Z příkazového řádku zadejte následující příkaz (na jediném řádku):
adt -installRuntime -platform android -platformsdk
Příznak -platformsdk nastavte na adresář sady Android SDK (zadejte nadřazený adresář složky tools).
Nástroj ADT nainstaluje soubor Runtime.apk, který je součástí sady SDK.
Další informace naleznete v části „Instalace běhového modulu AIR a aplikací pro vývoj“ na stránce 105.
Instalace aplikace AIR
❖ Z příkazového řádku zadejte následující příkaz (na jediném řádku):
adt -installApp -platform android -platformsdk path-to-android-sdk -package path-to-app
Příznak -platformsdk nastavte na adresář sady Android SDK (zadejte nadřazený adresář složky tools).
Další informace naleznete v části „Instalace běhového modulu AIR a aplikací pro vývoj“ na stránce 105.
Aplikaci můžete spustit klepnutím na ikonu aplikace na obrazovce zařízení nebo emulátoru.
Poslední aktualizace 31.8.2016
44
Kapitola 6: Vývoj aplikací AIR pro stolní
počítače
Pracovní postup pro vývoj aplikací AIR pro stolní
počítače
Základní pracovní postup pro vývoj aplikace AIR je stejný jako většina tradičních vývojových modelů: vytvoření kódu,
kompilace, test a na konci cyklu zabalení do instalačního souboru.
Kód aplikace můžete napsat pomocí jazyků Flash, Flex a ActionScript a zkompilovat jej pomocí nástroje Flash
Professional, Flash Builder nebo kompilátorů příkazového řádku mxmlc a compc. Kód aplikace můžete napsat také
pomocí jazyka HTML a JavaScript a krok kompilace přeskočit.
Aplikace AIR pro stolní počítače můžete testovat pomocí nástroje ADL, který spustí aplikaci bez nutnosti předchozího
zabalení a instalace. Programy Flash Professional, Flash Builder, Dreamweaver a Aptana IDE jsou integrovány s
debuggerem Flash. Ladicí program, FDB, lze spustit také ručně pomocí nástroje ADL z příkazového řádku. Samotný
nástroj ADL nezobrazí chyby a výstup příkazu trace.
Všechny aplikace AIR musí být zabaleny do instalačního souboru. Formát souboru AIR pro více platforem se
nedoporučuje v následujících případech:
• Potřebujete získat přístup k rozhraním API závislým na platformě, jako je třída NativeProcess.
• Aplikace používá nativní rozšíření.
V takových případech můžete vytvořit balíček aplikace AIR jako nativní instalační soubor specifický pro platformu.
Aplikace založené na SWF
1 Napište kód v jazyce MXML nebo ActionScript.
2 Vytvořte potřebné prostředky, jako bitmapové soubory ikon.
3 Vytvořte deskriptor aplikace.
4 Zkompilujte kód jazyka ActionScript.
5 Otestujte aplikaci.
6 Zabalte a podepište jako soubor AIR pomocí cíle air.
Aplikace založené na jazyce HTML
1 Napište kód HTML a JavaScript.
2 Vytvořte potřebné prostředky, jako bitmapové soubory ikon.
3 Vytvořte deskriptor aplikace.
4 Otestujte aplikaci.
5 Zabalte a podepište jako soubor AIR pomocí cíle air.
Poslední aktualizace 31.8.2016
45
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Vytváření nativních instalačních programů pro aplikace AIR
1 Napište kód (ActionScript nebo HTML a JavaScript).
2 Vytvořte potřebné prostředky, jako bitmapové soubory ikon.
3 Vytvořte deskriptor aplikace určující profil extendedDesktop.
4 Zkompilujte všechen kód jazyka ActionScript.
5 Otestujte aplikaci.
6 Zabalte aplikaci na jednotlivých cílových platformách pomocí cíle native.
Poznámka: Nativní instalační program pro cílovou platformu musí být vytvořen na dané platformě. Není například
možné vytvořit instalační soubor systému Windows v počítači Mac. Můžete použít virtuální počítač, například
VMWare, pro spuštění více platforem na stejném počítačovém hardwaru.
Vytváření aplikací AIR s kaptivním balíčkem běhového prostředí
1 Napište kód (ActionScript nebo HTML a JavaScript).
2 Vytvořte potřebné prostředky, jako bitmapové soubory ikon.
3 Vytvořte deskriptor aplikace určující profil extendedDesktop.
4 Zkompilujte všechen kód jazyka ActionScript.
5 Otestujte aplikaci.
6 Zabalte aplikaci na jednotlivých cílových platformách pomocí cíle bundle.
7 Vytvořte instalační program pomocí souborů svazku. (Sada AIR SDK neposkytuje nástroje pro vytváření takového
instalačního programu, ale k dispozici je řada sad nástrojů jiných výrobců.)
Poznámka: Svazek pro cílovou platformu musí být vytvořen na dané platformě. Není například možné vytvořit svazek
systému Windows v počítači Mac. Můžete použít virtuální počítač, například VMWare, pro spuštění více platforem na
stejném počítačovém hardwaru.
Nastavení vlastností aplikace pro stolní počítače
Nastavte základní vlastnosti aplikace v souboru deskriptoru aplikace. Tato část obsahuje vlastnosti týkající se aplikací
AIR pro stolní počítače. Elementy soubor deskriptoru aplikace jsou kompletně popsány v tématu „Soubory
deskriptorů aplikací AIR“ na stránce 202.
Vyžadovaná verze běhového modulu AIR
Určete verzi běhového modulu AIR požadovanou pro aplikaci využívající obor názvů souboru deskriptoru aplikace.
Obor názvů, přiřazený elementu application, určuje z velké části, které funkce může daná aplikace používat.
Například pokud aplikace používá obor názvů AIR 1.5 a uživatel má nainstalovánu aplikaci AIR 3.0, vidí aplikace
chování verze AIR 1.5 (a to i v případě, že bylo chování ve verzi AIR 3.0 změněno). Aplikace získá přístup k novému
chování a funkcím pouze v případě, že změníte obor názvů a publikujete aktualizaci. Primárními výjimkami této
zásady jsou změny zabezpečení a sady WebKit.
Určete obor názvů pomocí atributu xmlns kořenového elementu application:
<application xmlns="http://ns.adobe.com/air/application/3.0">
Poslední aktualizace 31.8.2016
46
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Další témata Nápovědy
„application“ na stránce 208
Identita aplikace
Několik nastavení by mělo být jedinečných pro každou aplikaci, kterou publikujete. Jedinečná nastavení zahrnují ID,
název a název souboru.
<id>com.example.MyApplication</id>
<name>My Application</name>
<filename>MyApplication</filename>
Další témata Nápovědy
„id“ na stránce 223
„filename“ na stránce 218
„name“ na stránce 231
Verze aplikace
Ve verzích prostředí AIR starších než verze 2.5 zadejte aplikaci v elementu version. Můžete použít libovolný řetězec.
Běhové prostředí AIR neinterpretuje řetězec; 2.0 není považována za vyšší verzi než 1.0.
<!-- AIR 2 or earlier -->
<version>1.23 Beta 7</version>
V prostředí AIR 2.5 a novějších zadejte verzi aplikace do elementu versionNumber. Element version již není možné
používat. Při zadávání hodnoty elementu versionNumber je nutné použít posloupnost až tří čísel oddělených tečkami,
například: „0.1.2“. Každý segment čísla verze může mít až tři číslice. (Jinými slovy, nejvyšší přípustné číslo verze je
„999.999.999“.) Není nutné uvést všechny tři segmenty čísla; hodnoty „1“ a „1.0“ jsou také přípustná čísla verzí.
Můžete také zadat popisek verze pomocí elementu versionLabel. Při přidání popisku verze se popisek zobrazí místo
čísla verze na takových místech, jako jsou dialogová okna instalačního programu aplikace AIR.
<!-- AIR 2.5 and later -->
<versionNumber>1.23.7<versionNumber>
<versionLabel>1.23 Beta 7</versionLabel>
Další témata Nápovědy
„version“ na stránce 239
„versionLabel“ na stránce 239
„versionNumber“ na stránce 239
Vlastnosti hlavního okna
Po spuštění vytvoří aplikace AIR na ploše okno a načte do něj hlavní soubor SWF nebo stránku HTML. Aplikace AIR
použije podřízené elementy elementu initialWindow k řízení úvodního vzhledu a chování tohoto počátečního okna
aplikace.
• content – hlavní soubor SWF aplikace v podřízeném elementu content elementu initalWindow. K identifikaci
zařízení v profilu stolního počítače můžete použít soubor SWF nebo soubor HTML.
Poslední aktualizace 31.8.2016
47
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
<initialWindow>
<content>MyApplication.swf</content>
</initialWindow>
Soubor je nutné zahrnout do balíčku AIR (pomocí nástroje ADT nebo vašeho prostředí IDE). Prosté uvedení názvu
v deskriptoru aplikace nevede k automatickému zahrnutí souboru do balíčku.
• depthAndStencil – určuje, zda se má použít vyrovnávací paměť pro hloubku nebo šablonu. Tyto vyrovnávací
paměti se běžně používají při práci s 3D obsahem.
<depthAndStencil>true</depthAndStencil>
• height – výška úvodního okna.
• maximizable – zda je zobrazen systémový styl okolí pro maximalizaci okna.
• maxSize – maximální povolená velikost.
• minimizable – zda je zobrazen systémový styl okolí pro minimalizaci okna.
• minSize – minimální povolená velikost.
• renderMode – V prostředí AIR 3 nebo novější lze režim vykreslování v případě aplikací pro stolní počítače nastavit
na auto, cpu, direct či gpu. Ve starších verzích aplikace AIR je toto nastavení ignorováno na platformách stolních
počítačů. Nastavení renderMode nelze provést za běhu.
• auto – v podstatě stejný jako režim cpu.
• CPU – objekty zobrazení jsou vykresleny a zkopírovány do paměti zobrazení v softwaru. Možnost StageVideo
je dostupná, pouze když je okno v režimu na celou obrazovku. Možnost Stage3D používá softwarové vykreslení.
• direct – objekty zobrazení jsou vykresleny softwarem běhového prostředí, ale kopírování vykresleného snímku
do paměti zobrazení (blitting) je hardwarově akcelerováno. StageVideo je k dispozici. Možnost Stage3D využívá
hardwarovou akceleraci, pokud je to jinak možné. Pokud je průhlednost okna nastavena na hodnotu true,
posune se okno zpět do softwarového vykreslování a blittingu.
Poznámka: Aby bylo možné využít akceleraci obsahu Flash pomocí GPU v prostředí AIR pro mobilní platformy,
společnost Adobe doporučuje, abyste použili volbu renderMode="direct" (tzn. Stage3D) a nikoli
renderMode="gpu". Společnost Adobe oficiálně podporuje a doporučuje tato prostředí založená na rozhraní
Stage3D – Starling (2D) a Away3D (3D). Podrobnější informace o rozhraní Stage3D a prostředí Starling/Away3D
naleznete na webu http://gaming.adobe.com/getstarted/.
• gpu – pokud je k dispozici, použije se hardwarová akcelerace.
• requestedDisplayResolution – Určuje, zda má vaše aplikace v počítačích MacBook Pro s displeji s vysokým
rozlišením používat režim rozlišení standard nebo high. Ve všech ostatních platformách je tato hodnota
ignorována. Pokud je určena hodnota standard, každý obrazový bod plochy se vykreslí jako čtyři obrazové body na
displeji. Pokud je určena hodnota high, každý obrazový bod plochy odpovídá jednomu fyzickému obrazovému
bodu na displeji. Zadané hodnota se používá pro všechna okna aplikace. Element requestedDisplayResolution
lze používat pro aplikace AIR pro stolní počítače (jako podřízený prvek elementu intialWindow) v prostředí AIR
3.6 a novějších.
• resizable – určuje, zda je zobrazen systémový styl okolí pro změnu velikosti okna.
• systemChrome – zda je použit standardní vzhled okna operačního systému. Nastavení systemChrome okna nelze
změnit za běhu.
• title – název okna.
• transparent – Určuje, zda je okno prolnuté proti pozadí pomocí prolnutí alfa. Okno nemůže používat systémový
styl okolí, pokud je zapnuta průhlednost. Nastavení průhlednosti okna nelze změnit za běhu.
Poslední aktualizace 31.8.2016
48
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
• visible – zda se okno zobrazí hned po vytvoření. Ve výchozím nastavení se okno na začátku nezobrazí, aby aplikace
mohla vykreslit jeho obsah dříve, než se zviditelní.
• width – šířka okna.
• x – vodorovné umístění okna.
• y – svislé umístění okna.
Další témata Nápovědy
„content“ na stránce 213
„depthAndStencil“ na stránce 215
„height“ na stránce 222
„maximizable“ na stránce 229
„maxSize“ na stránce 230
„minimizable“ na stránce 230
„minimizable“ na stránce 230
„minSize“ na stránce 230
„renderMode“ na stránce 233
„requestedDisplayResolution“ na stránce 233
„resizable“ na stránce 235
„systemChrome“ na stránce 237
„title“ na stránce 238
„transparent“ na stránce 238
„visible“ na stránce 240
„width“ na stránce 240
„x“ na stránce 241
„y“ na stránce 241
Funkce pro stolní počítač
Následující elementy řídí funkce instalace a aktualizace na ploše stolního počítače.
• customUpdateUI – umožňuje zadat vlastní dialogová okna pro aktualizaci aplikace. Pokud je nastaven na výchozí
hodnotu false, budou použita standardní dialogová okna aplikace AIR.
• fileTypes – určuje typy souborů, které chce aplikace zaregistrovat jako výchozí aplikace pro otevírání. Pokud je jiná
aplikace již nastavena jako výchozí pro otevírání určitého typu souborů, aplikace AIR nepřepíše stávající registraci.
Aplikace však může změnit registraci za běhu pomocí metody setAsDefaultApplication() objektu
NativeApplication. Je vhodné požádat uživatele o povolení před přepsáním stávajících přidružení typů souboru.
Poznámka: Registrace typu souboru je ignorována při zabalení aplikace jako kaptivního balíčku běhového prostředí
(pomocí cíle -bundle). K registraci daného typu souboru, je nutné vytvořit instalační program, který provede
registrací.
Poslední aktualizace 31.8.2016
49
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
• installFolder – Určuje relativní cestu ke standardní instalační složce aplikace, do které je aplikace nainstalována.
Toto nastavení lze použít k zadání názvu vlastní složky i ke seskupení více aplikací do společné složky.
• programMenuFolder – určuje hierarchii nabídky pro nabídku Všechny programy systému Windows. Toto
nastavení slouží k seskupení více aplikací do společné nabídky. Pokud není zadána žádná složka nabídek, bude
zástupce aplikace přidán přímo do hlavní nabídky.
Další témata Nápovědy
„customUpdateUI“ na stránce 214
„fileTypes“ na stránce 220
„installFolder“ na stránce 227
„programMenuFolder“ na stránce 232
Podporované profily
Pokud má vaše aplikace smysl pouze ve stolním počítači, můžete zabránit její instalaci do zařízení v jiném profilu
vyloučením tohoto profilu ze seznamu podporovaných profilů. Pokud aplikace používá třídu NativeProcess nebo
nativní rozšíření, musí podporovat profil extendedDesktop.
Ponecháte-li prvek supportedProfile mimo deskriptor aplikace, pak se předpokládá, že aplikace podporuje všechny
definované profily. Chcete-li omezit přístup aplikace na určitý seznam profilů, zadejte seznam profilů oddělený
mezerou:
<supportedProfiles>desktop extendedDesktop</supportedProfiles>
Seznam tříd jazyka ActionScript podporovaných v profilu desktop a extendedDesktop naleznete v tématu
„Schopnosti různých profilů“ na stránce 243.
Další témata Nápovědy
„supportedProfiles“ na stránce 236
Požadovaná nativní rozšíření
Aplikace, které podporují profil extendedDesktop, mohou využívat nativní rozšíření.
Deklarujte všechna nativní rozšířená, která aplikace AIR používá, v deskriptoru aplikace. Následující příklad ukazuje
syntaxi pro zadání dvou požadovaných nativních rozšíření:
<extensions>
<extensionID> com.example.extendedFeature</extensionID>
<extensionID> com.example.anotherFeature</extensionID>
</extensions>
Element extensionID má stejnou hodnotu jako element id v souboru deskriptoru rozšíření. Soubor deskriptoru
rozšíření je soubor XML s názvem extension.xml. Je zabalen v souboru ANE, který obdržíte od vývojáře nativního
rozšíření.
Ikony aplikace
Ve stolním počítači se ikony zadané v deskriptoru aplikace používají jako soubor aplikace, zástupce a ikony v nabídce
programů. Ikona aplikace by měla být dodána jako sada obrázků PNG o rozměrech 16 x 16, 32 x 32, 48 x 48 a 128 x
128 obrazových bodů. Cestu k souborům ikon určete v elementu icon v souboru deskriptoru aplikace:
Poslední aktualizace 31.8.2016
50
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
<icon>
<image16x16>assets/icon16.png</image16x16>
<image32x32>assets/icon32.png</image32x32>
<image48x48>assets/icon48.png</image48x48>
<image128x128>assets/icon128.png</image128x128>
</icon>
Pokud nezadáte ikonu dané velikosti, bude použita další největší velikost a přizpůsobena rozměrům. Pokud nezadáte
žádné ikony, bude použita výchozí ikona systému.
Další témata Nápovědy
„icon“ na stránce 222
„imageNxN“ na stránce 223
Ignorovaná nastavení
Aplikace ve stolním počítači bude ignorovat nastavení aplikace, která platí pro funkce mobilního profilu. Ignorována
nastavení zahrnují:
• android
• aspectRatio
• autoOrients
• fullScreen
• iPhone
• renderMode (před vydáním verze prostředí AIR 3)
• requestedDisplayResolution
• softKeyboardBehavior
Ladění aplikace AIR pro stolní počítač.
Pokud vyvíjíte aplikaci pomocí prostředí IDE, například Flash Builder, Flash Professional nebo Dreamweaver, jsou
obvykle jeho součástí ladicí nástroje. Aplikaci můžete jednoduše ladit spuštěním v režimu ladění. Pokud nepoužíváte
prostředí IDE podporující ladění přímo, můžete použít nástroje AIR Debug Launcher (ADL) a Flash Debugger (FDB),
které vám pomohou při ladění aplikace.
Další témata Nápovědy
De Monsters: Monster Debugger
„Ladění pomocí prohlížeče Introspector HTML aplikace AIR“ na stránce 279
Spuštění aplikace pomocí nástroje ADL
Aplikaci AIR můžete spustit bez zabalení a instalace pomocí nástroje ADL. Soubor deskriptoru aplikace předejte
nástroji ADL jako parametr, jak je znázorněno v následujícím příkladu (kód ActionScript v aplikaci musí být nejprve
kompilován):
adl myApplication-app.xml
Poslední aktualizace 31.8.2016
51
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Nástroj ADL vytiskne příkazy trace, výjimky běhového modulu a chyby analyzátoru HTML v okně terminálu. Pokud
proces FDB čeká na příchozí připojení, připojí se nástroj ADL k debuggeru.
Pomocí nástroje ADL se lze rovněž ladit aplikaci AIR, která používá nativní rozšíření. Například:
adl -extdir extensionDirs myApplication-app.xml
Další témata Nápovědy
„Program AIR Debug Launcher (ADL)“ na stránce 157
Tisk příkazů trace
Chcete-li tisknout příkazy trace do konzoly použité ke spuštění programu ADL, přidejte příkazy trace do kódu pomocí
funkce trace().
Poznámka: Pokud se příkazy trace() nezobrazí v konzole, zkontrolujte, zda jste v souboru mm.cfg neurčili vlastnost
ErrorReportingEnable nebo TraceOutputFileEnable. Další informace o umístěních tohoto souboru specifických
pro platformu naleznete v článku Úpravy souboru mm.cfg.
Příklad jazyka ActionScript:
//ActionScript
trace("debug message");
Příklad jazyka JavaScript:
//JavaScript
air.trace("debug message");
V kódu JavaScript lze pomocí funkcí alert() a confirm() zobrazit zprávy ladění z vlastní aplikace. Mimo to se do
konzoly vytisknou čísla řádků pro chyby syntaxe, jakož i jakékoliv nezachycené výjimky jazyka JavaScript.
Poznámka: Pokud chcete použít předponu air znázorněnou v příkladu jazyka JavaScript, musíte do stránky importovat
soubor AIRAliases.js. Tento soubor je umístěn v adresáři frameworks sady AIR SDK.
Připojení k programu Flash Debugger (FDB)
Chcete-li aplikaci AIR ladit pomocí nástroje Flash Debugger, spusťte relaci programu FDB a poté spusťte aplikaci
pomocí programu ADL.
Poznámka: V aplikacích AIR založených na SWF je třeba zkompilovat zdrojové soubory ActionScript s příznakem debug. (V aplikaci Flash Professional zkontrolujte v dialogovém okně Nastavení publikování volbu Povolit ladění.)
1 Spusťte program FDB. Program FDB naleznete v adresáři bin sady Flex SDK.
Konzola zobrazí výzvu programu FDB: <fdb>
2 Spusťte příkaz run: <fdb>run [Enter]
3 V odlišném příkazu nebo konzole skořepiny spusťte verzi ladění své aplikace:
adl myApp.xml
4 Pomocí příkazů programu FDB nastavte dle potřeby body rozdělení.
5 Zadejte: continue [Enter]
Pokud aplikace AIR vychází z formátu SWF, ovládá ladicí program pouze spuštění kódu jazyka ActionScript. Pokud
aplikace AIR vychází z jazyka HTML, pak ovládá ladicí program pouze spuštění kódu jazyka JavaScript.
Chcete-li nástroj ARL spustit a přitom se nepřipojovat k ladicímu programu, zařaďte do příkazu volbu -nodebug:
Poslední aktualizace 31.8.2016
52
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
adl myApp.xml -nodebug
Potřebujete-li základní informace o příkazech programu FDB, spusťte příkaz help:
<fdb>help [Enter]
Podrobnosti o příkazech programu FDB naleznete v dokumentaci aplikace Flex v tématu Using the command-line
debugger commands (Používání ladicích příkazů příkazového řádku).
Balení instalačního souboru aplikace AIR pro stolní
počítač
Každá aplikace AIR musí mít minimálně soubor deskriptoru aplikace a hlavní soubor SWF nebo HTML. Jakékoliv
další datové zdroje, které mají být s aplikací nainstalovány, musí být rovněž zabaleny do souboru AIR.
Tento článek pojednává o balení aplikace AIR pomocí nástrojů příkazového řádku, které jsou součástí sady SDK.
Informace o balení aplikace pomocí některého z nástrojů vytváření aplikace Adobe naleznete v následujících
dokumentech:
• Adobe® Flex® Builder™, viz téma Balení aplikací AIR pomocí nástroje Flex Builder.
• Adobe® Flash® Builder™, viz téma Balení aplikací AIR pomocí nástroje Flash Builder.
• Adobe® Flash® Professional, viz téma Publikování pro prostředí Adobe Air.
• Adobe® Dreamweaver® viz téma Vytvoření aplikace AIR v programu Dreamweaver.
Všechny soubory instalátoru AIR musí být podepsány pomocí digitálního certifikátu. Instalátor AIR používá podpis
k ověření, zda váš soubor aplikace nebyl od podepsání pozměněn. Můžete použít certifikát podpisu kódu z certifikační
autority nebo certifikát s vlastním podpisem.
Když použijete certifikát vydaný důvěryhodnou autoritou poskytnete uživatelům vaší aplikace určité záruky vaší
totožnosti jako vydavatele. Dialog instalace obsahuje informace, že vaše identita byla ověřena certifikační autoritou:
Dialog potvrzení instalace pro aplikaci, která je podepsána důvěryhodným certifikátem
Když použijete certifikát podepsaný svým držitelem, uživatelé nemohou ověřit vaši identitu jako podepisující osoba.
Certifikát podepsaný svým držitelem rovněž oslabuje záruku toho, že balík nebyl změněn. (Protože než se legitimní
instalační soubor dostal k uživateli, mohl být nahrazen nepravým souborem.) Instalační dialog obsahuje informaci, že
identitu vydavatele nelze ověřit. Když uživatelé vaši aplikaci nainstalují, podstupují vyšší riziko.
Poslední aktualizace 31.8.2016
53
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Dialog potvrzení instalace pro aplikaci, která je podepsána certifikátem podepsaným svým držitelem
Soubor AIR můžete zabalit a podepsat v jediném kroku pomocí příkazu ADT -package. Pomocí příkazu preparemůžete také vytvořit dočasný nepodepsaný balík a tento přechodný balík můžete podepsat pomocí příkazu sign v samostatném kroku.
Poznámka: Jazyk Java verze 1.5 a vyšší nepřijímá hesla obsahující znaky high-ASCII pro ochranu souborů certifikátů
PKCS12. Když vytvoříte nebo exportujete kód podepisující soubor certifikátu, používejte v heslu pouze znaky ze sady
ASCII.
Při podepisování balíku instalace připojit ADT automaticky autoritu časové známky pro ověření času. Informace
časové známky je obsažena v souboru AIR. Soubor AIR, který obsahuje ověřenou časovou známku, lze nainstalovat
kdykoliv v budoucnosti. Jestliže se ADT nemůže připojit k serveru časové známky, je zabalení zrušeno. Volbu časové
známky můžete potlačit, ale bez časové známky nelze aplikaci AIR po vypršení certifikátu použitého k podepsání
instalačního souboru nainstalovat.
Pokud vytváříte balík k aktualizaci stávající aplikace AIR, musí být tento balík podepsán stejným certifikátem jako
původní aplikace. Pokud byl původní certifikát obnoven, jeho platnost v posledních 180 dnech vypršela, nebo pokud
chcete provést změnu na nový certifikát, můžete použít podpis migrace. Podpis migrace zahrnuje podepsání souboru
aplikace AIR novým i starým certifikátem. Použijte příkaz -migrate k použití podpisu migrace, jak je popsáno v
tématu „Příkaz migrate nástroje ADT“ na stránce 171.
Důležité: Striktně je stanovena doba odkladu 180 dní k použití podpisu migrace po vypršení platnosti původního
certifikátu. Bez podpisu migrace musí stávající uživatelé před instalací nové verze odinstalovat svoji stávající aplikaci.
Období odkladu se vztahuje pouze na aplikace, které mají ve jmenném prostoru deskriptoru aplikace uvedenu verzi
prostředí AIR 1.5.3 nebo vyšší. Doba odkladu není stanovena, když se zaměříte na dřívější verze běhového modulu AIR.
Před verzí AIR 1.1 nebyly podpisy migrace podporovány. Chcete-li použít podpis migrace, musíte sbalit aplikaci se
sadou SDK verze 1.1 nebo novější.
Aplikace rozmístěné pomocí souborů AIR jsou známy jako aplikace s profilem plochy. Nemůžete použít ADT
k zabalení nativního instalátoru pro aplikaci AIR, pokud soubor deskriptoru aplikace nepodporuje profil plochy.
Tento profil nemůžete omezit pomocí prvku supportedProfiles v souboru deskriptoru aplikace. Viz témata
„Profily zařízení“ na stránce 242 a „supportedProfiles“ na stránce 236.
Poznámka: Nastavení v souboru deskriptoru aplikace určuje identitu aplikace AIR a její výchozí cestu instalace. Viz
„Soubory deskriptorů aplikací AIR“ na stránce 202.
ID vydavatele
Od verze AIR 1.5.3 jsou ID vydavatele nepřípustné. Nové aplikace (původně publikované s verzí AIR 1.5.3 nebo
novější) nepotřebují a neměly by určovat ID vydavatele.
Poslední aktualizace 31.8.2016
54
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Při aktualizaci aplikací publikovaných s předchozími verzemi AIR musíte v souboru deskriptoru aplikace určit
původní ID vydavatele. V opačném případě budou nainstalovaná verze aplikace a aktualizovaná verze považovány za
různé aplikace. Použijete-li různé ID nebo vynecháte tag publisherID, uživatel musí před instalací nové verze
odinstalovat předchozí verzi.
Chcete-li zjistit původní ID vydavatele, vyhledejte soubor publisherid v podadresáři META-INF/AIR, kde je
nainstalována původní aplikace. Řetězec uvnitř tohoto souboru je ID vydavatele. Deskriptor vaší aplikace musí určovat
běhový modul AIR 1.5.3 (nebo novější) v deklaraci jmenného prostoru deskriptoru aplikace, aby bylo možné zadat ID
vydavatele ručně.
Pro aplikace publikované ve starších verzích než AIR 1.5.3, nebo publikované pomocí verze AIR 1.5.3 SDK s určenou
předchozí verzí AIR ve jmenném prostoru deskriptoru aplikace je ID vydavatele vypočítáno na základě podpisového
certifikátu. Toto ID je použito spolu s ID aplikace ke stanovení identity aplikace. ID vydavatele, pokud je přítomno,
slouží k těmto účelům:
• Ověření, zda je soubor AIR aktualizací spíše než nově instalovanou aplikací
• Jako součást šifrovacího klíče pro šifrované místní úložiště
• Jako součást cesty pro adresář úložiště aplikace
• Jako součást připojovacího řetězce pro místní připojení
• Jako součást řetězce identity používaného k vyvolání aplikace pomocí rozhraní API v prohlížeči prostředí AIR
• Jako součást specifikace OSID (používané při vytváření vlastních instalačních a odinstalačních programů)
Před verzí AIR 1.5.3 bylo možné změnit ID vydavatele, pokud jste podepsali aktualizaci aplikace podpisem migrace
pomocí nového nebo obnoveného certifikátu. Když se změní ID vydavatele, změní se i chování veškerých funkcí
prostředí AIR, které na tomto ID závisí. Například data ve stávajícím zašifrovaném úložišti již nejsou přístupná a
veškeré instance prostředí Flash nebo AIR, které vytvářejí místní připojení k aplikaci, musí v připojovacím řetězci
používat nové ID.
Ve verzi AIR 1.5.3 nebo novější je ID vydavatele založeno na podpisovém certifikátu a je přiřazeno, pouze pokud je tag
publisherID obsažen v deskriptoru aplikace. Aplikaci nelze aktualizovat, pokud ID se vydavatele, které je určeno pro
aktualizační balík AIR, neshoduje s aktuálním ID vydavatele.
Zabalení pomocí nástroje ADT
Ke sbalení aplikace AIR můžete použít nástroj příkazového řádku ADT. Před zabalením musí být zkompilován
veškerý kód ActionScript a MXML a případných rozšíření. Musíte také mít certifikát pro podepsání kódu.
Podrobné informace o příkazech a možnostech nástroje ADT naleznete v části věnované „AIR Developer Tool (ADT)“
na stránce 163.
Vytvoření balíčku AIR
Chcete-li vytvořit balíček aplikace AIR, použijte příkaz package nástroje ADT s nastavením typu cíle air pro výsledná
sestavení.
adt -package -target air -storetype pkcs12 -keystore ../codesign.p12 myApp.air myApp-app.xml
myApp.swf icons
V příkladu se předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku.
(Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 301.)
Příkaz je nutné spustit z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myAppapp.xml (soubor deskriptoru aplikace), myApp.swf a adresář icons.
Poslední aktualizace 31.8.2016
55
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Při spuštění příkazu, jak je uveden, vás nástroj ADT vyzve k zadání hesla pro úložiště klíčů. (Znaky hesla nejsou vždy
zobrazeny; po dokončení zadávání stiskněte klávesu Enter.)
Vytvoření balíčku aplikace AIR ze souboru AIRI
Můžete vytvořit podepsaný soubor AIRI za účelem vytvoření instalačního balíčku aplikace AIR:
adt -sign -storetype pkcs12 -keystore ../codesign.p12 myApp.airi myApp.air
Sbalení nativního instalátoru pro stolní počítač
Od verze AIR 2 můžete použít nástroj ADT k vytvoření nativních instalátorů aplikace pro distribuci aplikací AIR.
Můžete například sestavit soubor instalátoru ve formátu EXE k distribuci aplikace AIR v operačním systému
Windows. Můžete sestavit soubor instalátoru ve formátu DMG k distribuci aplikace AIR v operačním systému Mac
OS. V prostředí AIR 2.5 a AIR 2.6 můžete sestavit soubor instalátoru ve formátu DEB nebo RPM k distribuci aplikace
AIR v operačním systému Linux.
Aplikace instalované pomocí nativního instalátoru aplikace jsou označovány jako aplikace s rozšířeným profilem
plochy. Nemůžete použít ADT k zabalení nativního instalátoru pro aplikaci AIR, pokud soubor deskriptoru aplikace
nepodporuje rozšířený profil plochy. Tento profil nemůžete omezit pomocí prvku supportedProfiles v souboru
deskriptoru aplikace. Viz témata „Profily zařízení“ na stránce 242 a „supportedProfiles“ na stránce 236.
Nativní verzi instalátoru aplikace AIR můžete sestavit dvěma způsoby:
• Nativní instalátor můžete sestavit na základě souboru deskriptoru aplikace a dalších zdrojových souborů. (Ostatní
zdrojové soubory mohou obsahovat soubory SWF, HTML a další datové zdroje.)
• Nativní instalátor můžete sestavit na základě souboru AIR nebo na základě souboru AIRI.
ADT musíte používat ve stejném operačním systému, jako je ten, pro který chcete generovat soubor nativního
instalátoru. Chcete-li tedy vytvořit soubor EXE pro Windows, spusťte ADT v operačním systému Windows. Chceteli vytvořit soubor DMG pro Mac OS, spusťte ADT v operačním systému Mac OS. Chcete-li vytvořit soubor DEB nebo
RPG pro Linux, spusťte ADT ze sady AIR 2.6 SDK v operačním systému Linux.
Když vytvoříte nativní instalátor k distribuování aplikace AIR, tato aplikace získá následující schopnosti:
• Pomocí třídy NativeProcess může spouštět a ovlivňovat nativní procesy. Podrobnosti najdete v následujících
zdrojích:
• Komunikace s nativními procesy v prostředí AIR (pro vývojáře pracující s jazykem ActionScript)
• Komunikace s nativními procesy v AIR (pro vývojáře pracující s jazykem HTML)
• Může použít nativní rozšíření.
• Může použít metodu File.openWithDefaultApplication() k otevření libovolného souboru pomocí výchozí
systémové aplikace definované k jeho otevření bez ohledu na jeho typ souboru. (Existují omezení pro aplikace,
které nejsou instalovány pomocí nativního instalátoru. Podrobnosti najdete v referenční příručce v části týkající se
metody File.openWithDefaultApplication().)
Pokud je však soubor zabalen jako nativní instalační program, ztrácí aplikace některé výhody formátu souborů AIR.
Jeden soubor již nelze distribuovat do všech stolních počítačů. Integrované funkce aktualizace (ani rozhraní
aktualizačního programu) nefungují.
Poslední aktualizace 31.8.2016
56
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Když uživatel poklepe na soubor nativního instalátoru, aplikaci AIR nainstaluje. Pokud není zatím v počítači
nainstalována požadovaná verze Adobe AIR, instalátor ji nejdříve stáhne ze sítě a nainstaluje. Není-li k dispozici síťové
připojení, ze kterého by bylo možné správnou verzi Adobe AIR (podle potřeby) získat, instalace se nezdaří. Instalace
se rovněž nezdaří, pokud operační systém není podporován v aplikaci Adobe AIR 2.
Poznámka: Chcete-li, aby byl soubor spustitelný ve vaší nainstalované aplikaci, přesvědčte se, zda je spustitelný v
systému souborů, až budete balit aplikaci. (V operačních systémech Mac a Linux můžete podle potřeby nastavit příznak
spustitelného souboru pomocí příkazu chmod.)
Vytváření nativního instalátoru ze zdrojových souborů aplikace
Chcete-li sestavit nativní instalátor ze zdrojových souborů dané aplikace, použijte příkaz -package s následující
syntaxí (na jednom příkazovém řádku):
adt -package AIR_SIGNING_OPTIONS
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
app_xml
[file_or_dir | -C dir file_or_dir | -e file dir ...] ...
Tato syntaxe je podobná pro balík souboru AIR (bez nativního instalátoru). Existuje však několik rozdílů:
• Můžete k příkazu přidat možnost -target
native. (Pokud určíte -target air, ADT vygeneruje soubor AIR
namísto souboru nativního instalátoru.)
• Můžete určit cílový soubor DMG nebo EXE jako installer_file.
• Volitelně můžete v operačním systému Windows přidat druhou sadu možností podepsání, které jsou ve výpisu
syntaxe označeny jako [WINDOWS_INSTALLER_SIGNING_OPTIONS]. V operačním systému Windows můžete
podepsat nejen soubor AIR, ale také soubor instalátoru. Použijte stejný typ certifikátu a syntaxi možností
podepsání, které byste použili k podepsání souboru AIR (další informace v tématu „Možnosti podpisu kódu
nástroje ADT“ na stránce 177). Můžete použít stejný certifikát k podepsání souboru AIR i souboru instalátoru,
nebo můžete určit různé certifikáty. Když uživatel stáhne podepsaný soubor instalátoru pro Windows z internetu,
operační systém Windows rozpozná zdroj souboru na základě tohoto certifikátu.
Podrobné informace o dalších možnostech ADT kromě možnosti -target naleznete v tématu „AIR Developer Tool
(ADT)“ na stránce 163.
Následující příklad vytvoří soubor DMG (soubor nativního instalátoru pro Mac OS):
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
index.html resources
Následující příklad vytvoří soubor EXE (soubor nativního instalátoru pro Windows):
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.exe
application.xml
index.html resources
Poslední aktualizace 31.8.2016
57
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Následující příklad vytvoří soubor EXE a podepíše ho:
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
-storetype pkcs12
-keystore myCert.pfx
myApp.exe
application.xml
index.html resources
Vytváření nativního instalačního programu pro aplikaci, která používá nativní rozšíření
Můžete sestavit nativní instalátor ze zdrojových souborů pro danou aplikaci a balíčky nativního rozšíření, které
aplikace požaduje. Použijte příkaz -package s následující syntaxí (na jediném příkazovém řádku):
adt -package AIR_SIGNING_OPTIONS
-migrate MIGRATION_SIGNING_OPTIONS
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
app_xml
-extdir extension-directory
[file_or_dir | -C dir file_or_dir | -e file dir ...] ...
Tato syntaxe je stejná jako syntaxe používaná při balení nativního instalátoru, je ale doplněna o další dvě volby. Pomocí
možnosti-extdir extension-directory určíte adresář obsahující soubory ANE (nativní rozšíření), které bude
aplikace používat. Volitelný příznak -migrate a parametry MIGRATION_SIGNING_OPTIONS použijte k podpisu
aktualizace pro aplikaci s podpisem přenosu, když se prvotní podpisový certifikát kódu liší od certifikátu používaného
předchozí verzí. Další informace naleznete v části „Podepisování aktualizované verze aplikace AIR“ na stránce 197.
Podrobnosti o možnostech programu ADT naleznete v části „AIR Developer Tool (ADT)“ na stránce 163.
Následující příklad vytvoří soubor DMG (soubor nativního instalačního programu pro Mac OS) pro aplikaci, která
používá nativní rozšíření:
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
-extdir extensionsDir
index.html resources
Vytváření nativního instalátoru ze souboru AIR nebo AIRI
Program ADT můžete použít k vygenerování souboru nativního instalátoru na základě souboru AIR nebo na základě
souboru AIRI. Chcete-li sestavit nativní instalátor na základě souboru AIR, použijte příkaz -package s následující
syntaxí (na jednom příkazovém řádku):
adt -package
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
air_file
Poslední aktualizace 31.8.2016
58
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Tato syntaxe je podobná syntaxi k vytváření nativního instalátoru na základě zdrojových souborů pro aplikaci AIR.
Existuje však několik rozdílů:
• Jako zdroj určete soubor AIR a ne soubor deskriptoru aplikace a další zdrojové soubory pro aplikaci AIR.
• Neurčujte pro soubor AIR možnosti podepsání, protože je již podepsán.
Chcete-li sestavit nativní instalátor na základě souboru AIRI, použijte příkaz -package s následující syntaxí (na
jednom příkazovém řádku):
adt AIR_SIGNING_OPTIONS
-package
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
airi_file
Tato syntaxe je podobná syntaxi k vytváření nativního instalátoru na základě souboru AIR. Existuje však několik
rozdílů:
• Jako zdroj určete soubor AIRI.
• Určete možnosti podepsání pro cílovou aplikaci AIR.
Následující příklad vytvoří soubor DMG (soubor nativního instalátoru pro Mac OS) založený na souboru AIR:
adt -package -target native myApp.dmg myApp.air
Následující příklad vytvoří soubor EXE (soubor nativního instalátoru pro Windows) založený na souboru AIR:
adt -package -target native myApp.exe myApp.air
Následující příklad vytvoří soubor EXE (založený na souboru AIR) a podepíše ho:
adt -package -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.air
Následující příklad vytvoří soubor DMG (soubor nativního instalátoru pro Mac OS) založený na souboru AIRI:
adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.dmg myApp.airi
Následující příklad vytvoří soubor EXE (soubor nativního instalátoru pro Windows) založený na souboru AIRI:
adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.exe myApp.airi
Následující příklad vytvoří soubor EXE (založený na souboru AIRI) a podepíše jej podpisem AIR i nativním podpisem
systému Windows:
adt -package -storetype pkcs12 -keystore myCert.pfx -target native -storetype pkcs12 -keystore
myCert.pfx myApp.exe myApp.airi
Zabalení kaptivního balíčku běhového prostředí pro
stolní počítače
Kaptivní balíček běhového prostředí je balíček, který obsahuje kód aplikace spolu s vyhrazenou verzí běhového
prostředí. Aplikace zabalená tímto způsobem používá běhové prostředí svazku, nikoli sdílené běhové prostředí
nainstalováno někde jinde v počítači uživatele.
Vytvořený svazek je samostatná složka souborů aplikace v systému Windows a svazek .app v systému Mac OS. Musíte
vytvořit svazek pro cílový operační systém při spouštění v tomto operačním systému. (Virtuální počítač, například je
VMWare, lze používat ke spouštění více operačních systémů na jednom počítači.)
Poslední aktualizace 31.8.2016
59
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Aplikace může se měl spouštět z této složky nebo svazku bez instalace.
Výhody
• Vytváří samostatnou aplikaci.
• Pro instalaci není vyžadován přístup k Internetu.
• Aplikace je izolována od aktualizací běhového prostředí.
• Organizace mohou certifikovat specifické kombinace aplikace a běhového prostředí.
• Podporuje tradiční model nasazení softwaru.
• Není nutné samostatná redistribuce běhového prostředí.
• Může používat rozhraní API NativeProcess.
• Může používat nativní rozšíření.
• Může používat funkci File.openWithDefaultApplication() bez omezení.
• Může být spuštěna z disku USB nebo optického disku bez instalace.
Nevýhody
• Důležité opravy zabezpečení nejsou uživatelům k dispozici utomaticky, když společnost Adobe publikuje opravu
zabezpečení.
• Nemůže používat formát souboru .air.
• V případě potřeby je nutné vytvořit vlastní instalační program.
• Aktualizace prostředí AIR v rozhraní API a rozhraní nejsou podporovány.
• Rozhraní API integrovaného prohlížeče aplikace AIR pro instalaci a spuštění aplikace AIR z webové stránky není
podporováno.
• Registrace souboru v systému Windows musí být provedeny instalačním programem.
• Otisk disku větší aplikace
Vytvoření kaptivního balíčku běhového prostředí v systému Windows
Chcete-li vytvořit kaptivní balíček běhového prostředí systému Windows, je nutné zabalit aplikace při spuštění v
operačním systému Windows. Zabalte aplikaci pomocí cíle bundle nástroje ADT:
adt -package
-keystore ..\cert.p12 -storetype pkcs12
-target bundle
myApp
myApp-app.xml
myApp.swf icons resources
Tento příkaz vytvoří svazek v adresáři s názvem myApp. Adresář obsahuje soubory pro vaši aplikaci spolu se soubory
běhového prostředí. Program bude možné spouštět přímo ze složky. Chcete-li však vytvořit položku nabídky
programu, zaregistrovat typy souborů nebo obslužné rutiny schématu URI, je nutné vytvořit instalační program, který
nastaví požadované položky registru). Sady AIR SDK nezahrnují nástroje pro vytváření takových instalačních
programů, ale k dispozici je několik programy jiných výrobců, včetně komerčních i bezplatných sad nástrojů
instalačního programu s otevřeným kódem.
Poslední aktualizace 31.8.2016
60
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Nativní spustitelné soubory můžete podepsat v systému Windows zadáním druhé sady možností podpisu za položku
-target bundlena příkazovém řádku. Tyto možnosti podpisu určují osobní klíč a přidružené certifikáty, které se
použijí při použití nativního podpisu systému Windows. (Obvykle lze použít certifikát podpisu kódu prostředí AIR.)
Podepsán bude pouze primární spustitelný soubor. Žádné další spustitelné soubory zabalené s aplikací nebudou tímto
procesem podepsány.
Přiřazení typu souboru
Chcete-li aplikaci přiřadit veřejné nebo vlastní typy souborů v systému Windows, musí instalační program nastavit
správné položky registru. Typy souborů by měly být uvedeny také v elementu fileTypes souboru deskriptoru aplikace.
Další informace o typech souborů systému Windows naleznete v části Knihovna MSDN: Typy souborů a přiřazení
souborů
Registrace obslužné rituny URI
Aby mohla aplikace zpracovat spuštění adresy URL pomocí daného schématu URI, musí instalační program nastavit
požadované položky registru.
Další informace o registraci aplikace pro zpracování schématu URI naleznete v tématu Knihovna MSDN: Registrace
aplikace v protokolu URL
Vytvoření kaptivního balíčku běhového prostředí v systému Mac OS X
Chcete-li vytvořit kaptivní balíček běhového prostředí systému Mac OS X, je nutné zabalit aplikace při spuštění v
operačním systému Macintosh. Zabalte aplikaci pomocí cíle bundle nástroje ADT:
adt -package
-keystore ../cert.p12 -storetype pkcs12
-target bundle
myApp.app
myApp-app.xml
myApp.swf icons resources
Tento příkaz vytvoří svazek aplikace s názvem myApp.app. Svazek obsahuje soubory pro vaši aplikaci spolu se soubory
běhového prostředí. Můžete spustit aplikaci dvojitým kliknutím na ikonu myApp.app a nainstalovat ji přetažením do
vhodného umístění, například do složky Applications (Aplikace). Pokud ale chcete zaregistrovat typy souborů nebo
obslužné rutiny schématu URI, je nutné upravit soubor seznamu vlastností uvnitř balíku aplikace.
Za účelem distribuce můžete vytvořit soubor bitové kopie disku (.dmg). Sada SDK prostředí Adobe AIR neposkytuje
nástroje pro vytváření souboru DMG pro kaptivní balíček běhového prostředí.
Přiřazení typu souboru
Chcete-li přiřadit aplikaci k veřejným nebo vlastním typům souborů v systému Mac OS X, musíte upravit soubor
info.plist ve svazku na nastavení vlastnosti CFBundleDocumentTypes. Viz Knihovna vývojáře Mac OS X: reference
klíčů seznamu informačních vlastností, CFBundleURLTypes.
Registrace obslužné rituny URI
Aby mohla aplikace zpracovat spouštění adresy URL daného schématu URI, je nutné upravit soubor info.plist ve
svazku na nastavení vlastnosti CFBundleURLTypes. Viz Knihovna vývojáře Mac OS X: reference klíčů seznamu
informačních vlastností, CFBundleURLTypes.
Poslední aktualizace 31.8.2016
61
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
Distribuce balíčků aplikace AIR pro stolní počítače
Aplikace AIR mohou být distribuovány jako balíček AIR, který obsahuje kód aplikace a veškeré prostředky. Tento
balíček můžete distribuovat prostřednictvím jakýchkoliv obvyklých prostředků, například stažením, odesláním emailem, nebo pomocí fyzických médií, například disku CD-ROM. Uživatelé mohou aplikaci nainstalovat poklepáním
na soubor AIR. Můžete použít rozhraní API integrovaného prohlížeče AIR (knihovnu jazyka ActionScript založenou
na webu) k povolení instalace aplikace AIR (a v případě potřeby prostředí Adobe® AIR®) pro uživatele kliknutím na
jeden odkaz na webové stránce.
Aplikaci AIR lze také zabalit a distribuovat jako nativní instalační program (jinými slovy, jako soubory EXE v systému
Windows, soubory DMG v systému Mac a soubory DEB nebo RPM v systému Linux). Nativní instalační balíčky
můžete distribuovat a na instalovat podle příslušných konvencí platformy. Při distribuci aplikace jako nativního
balíčku dojde ke ztrátě některých výhod formátu souboru AIR. Konkrétně, jediný instalační soubor již nelze použít na
většině platforem, nelze již použít rozhraní aktualizace AIR a rozhraní API integrovaného prohlížeče.
Instalace a spuštění aplikace AIR v počítači
Soubor AIR můžete jednoduše odeslat příjemci. Soubor AIR můžete například odeslat jako přílohu e-mailu nebo jako
odkaz na webové stránce.
Jakmile si uživatel stáhne aplikaci AIR, řídí se pro instalaci těmito pokyny:
1 Poklepejte na soubor AIR.
Prostředí Adobe AIR musí již být v počítači nainstalováno.
2 V okně instalace ponechte zvolené výchozí nastavení a klepněte na tlačítko Pokračovat.
V OS Windows provede AIR automaticky následující:
• Nainstaluje aplikaci do adresáře Program Files
• Vytvoří pro aplikaci odkaz na pracovní ploše
• Vytvoří odkaz v nabídce Start
• Přidá záznam pro aplikaci do ovládacího panelu Přidat / Odebrat programy
V OS Mac je aplikace implicitně přidána do adresáře Aplikace.
Jestliže je aplikace již nainstalovaná, umožní instalátor uživateli vybrat si mezi spuštěním stávající verze aplikace
nebo aktualizací na verzi ve staženém souboru AIR. Instalátor určí aplikaci pomocí ID aplikace a ID vydavatele v
souboru AIR.
3 Po dokončení instalace klepněte na možnost Dokončit.
V OS Mac potřebuje uživatel pro instalaci aktualizované verze aplikace odpovídající systémová oprávnění pro instalaci
do adresáře aplikace. V systémech Windows a Linux potřebuje uživatel oprávnění správce.
Aplikace může také nainstalovat novou verzi skrze jazyk ActionScript nebo JavaSript. Další informace naleznete v části
„Aktualizace aplikací AIR“ na stránce 255.
Jakmile je aplikace AIR nainstalována, uživatel jednoduše poklepe na ikonu aplikace pro její spuštění, jako v případě
jakékoliv jiné aplikace pracovní plochy.
• V OS Windows poklepejte na ikonu aplikace (která je buď nainstalovaná na pracovní ploše nebo ve složce) nebo
vyberte aplikaci z nabídky Start.
• V systému Linux poklepejte na ikonu aplikace (která je buď nainstalovaná na pracovní ploše nebo ve složce) nebo
vyberte aplikaci z nabídky aplikací.
Poslední aktualizace 31.8.2016
62
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro stolní počítače
• V OS Mac poklepejte na aplikaci ve složce, do které byla nainstalovaná. Výchozím instalačním adresářem je adresář
/Aplikace.
Poznámka: V operačním systému Linux lze instalovat pouze aplikace AIR vyvinuté pro prostředí AIR 2.6 nebo starší.
Funkce AIR hladká instalace umožňuje uživateli nainstalovat aplikaci AIR klepnutím na odkaz na webové stránce.
Funkce AIR iniciace prohlížečeumožňuje uživateli spustit nainstalovanou aplikaci AIR klepnutím na odkaz na webové
stránce. Tyto funkce jsou popsány v následující části.
Instalace a spuštění aplikací AIR pro stolní počítač z webové stránky
Rozhraní API integrovaného prohlížeče aplikace AIR umožňuje nainstalovat a spustit aplikaci AIR z webové stránky.
Rozhraní API integrovaného prohlížeče aplikace AIR je k dispozici v knihovně SWF, air.swf, která je hostována
systémem Adobe. Sada AIR SDK obsahuje ukázkovou štítkovou aplikaci používající tuto knihovnu k instalaci,
aktualizaci nebo spuštění aplikace AIR (a v případě potřeby i běhového modulu). Můžete upravit zadanou ukázkovou
štítkovou aplikaci nebo vytvořit vlastní webovou aplikaci využívající knihovnu online air.swf přímo.
Libovolnou aplikaci AIR lze nainstalovat prostřednictvím štítku webové stránky. Pomocí webového štítku však lze
spustit pouze aplikace, které obsahují element <allowBrowserInvocation>true</allowBrowserInvocation> ve
svém souboru deskriptoru aplikace.
Další témata Nápovědy
„Rozhraní API integrovaného prohlížeče AIR.SWF“ na stránce 246
Nasazení v podnikovém prostředí pro stolní počítače
IT správci mohou nainstalovat runtime Adobe AIR a aplikace AIR tiše pomocí standardních nástrojů nasazení plochy.
IT správci mohou provést následující:
• Tiše nainstalovat runtime Adobe AIR pomocí nástrojů, například Microsoft SMS, IBM Tivoli, nebo jakýchkoliv
nástrojů nasazení, které umožňují tiché instalace používající počáteční zavádění.
• Tiše nainstalovat aplikaci AIR pomocí stejných nástrojů použitých k nasazení runtime
Více informací naleznete v tématu Příručky správce Adobe AIR
(http://www.adobe.com/go/learn_air_admin_guide_cz).
Protokoly o instalaci pro stolní počítače
Protokoly o instalaci se zaznamenávají buď při instalaci samotného běhového modulu AIR nebo aplikace AIR. Chceteli stanovit příčiny jakýchkoliv problémů, které mohou při instalaci nebo aktualizaci nastat, prozkoumejte soubory
protokolů.
Soubory protokolů se vytvoří v následujících místech:
• Mac: standardní systémový protokol (/private/var/log/system.log)
Protokol systému Mac můžete zobrazit otevřením aplikace konzoly (obvykle se nachází ve složce Nástroje).
• Windows XP: C:\Documents
and Settings\<jméno uživatele>\Local Settings\Application
Data\Adobe\AIR\logs\Install.log
• Windows Vista, Windows 7: C:\Users\<jméno
• Linux: /home/<jméno
uživatele>\AppData\Local\Adobe\AIR\logs\Install.log
uživatele>/.appdata/Adobe/AIR/Logs/Install.log
Poznámka: Tyto soubory protokolu nebyly vytvářeny ve starších verzích AIR než AIR 2.
Poslední aktualizace 31.8.2016
63
Kapitola 7: Vývoj aplikací AIR pro mobilní
zařízení
Aplikace AIR v mobilních zařízeních se nasazují jako nativní aplikace. Používají formát aplikace zařízení, nikoli formát
souboru AIR. Aktuálně prostředí AIR podporuje balíčky Android APK a balíčky iOS IPA. Po vytvoření prodejní verze
balíčku aplikace můžete aplikaci distribuovat prostřednictvím standardního mechanismu platformy. V případě
systému Android to obvykle znamená Android Market; v případě systému iOS se jedná o Apple App Store.
K vytváření aplikací AIR pro mobilní zařízení můžete použít sadu AIR SDK a aplikaci Flash Professional, Flash Builder
nebo jiný nástroj pro vývoj jazyka ActionScript. Mobilní aplikace AIR založené na jazyce HTML nejsou aktuálně
podporovány.
Poznámka: Pro tablet BlackBerry Playbook poskytuje společnost Research In Motion (RIM) vlastní sadu SDK pro vývoj
aplikací AIR. Informace o vývoji pro tablety Playbook naleznete v tématu RIM: BlackBerry Tablet OS Development
(RIM: Vývoj operačního systému pro tablet BlackBerry).
Poznámka: Tento dokument popisuje, jak vyvíjet aplikace pro systém iOS pomocí sady AIR 2.6 SDK nebo novější.
Aplikace vytvořené pomocí prostředí AIR 2.6+ lze instalovat do zařízení iPhone 3G, iPhone 4 a iPad se systémem iOS 4
nebo novějším. K vývoji aplikací AIR pro starší verze systému iOS je nutné použít nástroj AIR 2 Packager for iPhone, jak
je popsáno v tématu Vytváření aplikací pro zařízení iPhone.
Další informace o doporučených postupech při ochraně osobních údajů najdete v příručce k ochraně osobních údajů
pro sadu Adobe AIR SDK.
Úplné požadavky na systém pro spouštění aplikací AIR naleznete v tématu Systémové požadavky prostředí Adobe AIR.
Nastavení vývojového prostředí
Mobilní platformy mají další požadavky na nastavení, a to nad rámec obvyklého nastavení vývojového prostředí AIR,
Flex a Flash. (Další informace o nastavení základního vývojového prostředí AIR naleznete v části „Nástroje řešení
Adobe Flash Platform pro vývoj aplikací AIR“ na stránce 16.)
Nastavení systému Android
V prostředí AIR 2.6+ normálně není vyžadováno žádné speciální nastavení pro Android. Nástroj ADB pro Android je
obsažený v sadě SDK pro prostředí AIR (ve složce lib/android/bin). Sada AIR SDK využívá nástroj ADB k instalaci,
odinstalaci a spuštění balíčků aplikací v zařízení. Nástroj ADB můžete také použít k zobrazení systémových protokolů.
Chcete-li vytvořit a spustit emulátor systému Android, je nutné stáhnout samostatnou sadu Android SDK.
Pokud aplikace přidá k elementu <manifestAdditions> v deskriptoru aplikace elementy, které současná verze
prostředí AIR nerozpozná jako platné, bude třeba nainstalovat novější verzi sady Android SDK. Nastavte proměnnou
prostředí AIR_ANDROID_SDK_HOME nebo parametr příkazového řádku -platformsdk na cestu k sadě SDK.
Balicí nástroj pro aplikace AIR, ADT, použije tuto sadu SDK k ověření položek v elementu <manifestAdditions>.
V prostředí AIR 2.5 je nutné stáhnout samostatnou kopii sady Android SDK ze služby Google. Proměnnou prostředí
AIR_ANDROID_SDK_HOME můžete nastavit tak, aby odkazovala na složku Android SDK. Pokud tuto proměnnou
prostředí nenastavíte, je třeba zadat cestu k sadě Android SDK v argumentu -platformsdk příkazového řádku
nástroje ADT.
Poslední aktualizace 31.8.2016
64
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Další témata Nápovědy
„Proměnné prostředí nástroje ADT“ na stránce 185
„Proměnné prostředí pro cestu“ na stránce 301
Nastavení systému iOS
Chcete-li v zařízení nainstalovat a otestovat aplikaci iOS a tuto aplikaci distribuovat, je třeba, abyste se připojili k
programu Apple iOS Developer (což je placená služba). Jakmile se k programu iOS Developer připojíte, získáte přístup
k portálu iOS Provisioning Portal, kde můžete od společnosti Apple získat následující položky a soubory, které jsou
nutné pro instalaci aplikace v zařízení za účelem testování a pro následnou distribuci. Tyto položky a soubory zahrnují:
• vývojářské a distribuční certifikáty,
• ID aplikací,
• prováděcí soubory pro vývoj a distribuci.
Faktory ovlivňující návrh mobilních aplikací
Provozní kontext a fyzikální vlastnosti mobilních zařízení vyžadují pečlivé kódování a navrhování. Například je
mimořádně důležité zjednodušit kód tak, aby se prováděl co nejrychleji. Optimalizací kódu toho samozřejmě lze
docílit. Rovněž platí, že inteligentní řešení, které pracuje v rámci omezení daných zařízením, může přispět k tomu, aby
vizuální prezentace nepřetěžovala systém vykreslování.
Kód
Zrychlení běhu kódu je vždy prospěšné, avšak vzhledem k pomalejší rychlosti procesoru u většiny mobilních zařízení
se přínos úsilí věnovaného psaní jednoduchého kódu dále zvyšuje. Kromě toho jsou mobilní zařízení téměř vždy
napájena z baterií. Při dosažení stejného výsledku prostřednictvím menšího množství operací se spotřebuje méně
energie z baterií.
Návrh
Při navrhování uživatelského rozhraní aplikace je třeba vzít v úvahu faktory, jako je malá velikost obrazovky, režim
interakce ve formě dotykové obrazovky a dokonce i neustále se měnící prostředí mobilních uživatelů.
Kód i návrh
Pokud aplikace používá animace, je velmi důležitá optimalizace vykreslování. Samotná optimalizace kódu však často
nestačí. Vizuální aspekty aplikace je třeba navrhnout tak, aby je kód mohl vykreslovat efektivně.
Důležité postupy optimalizace jsou popsány v průvodci optimalizací obsahu na platformě Flash. Postupy uvedené v
tomto průvodci se týkají veškerého obsahu Flash a AIR, ale jejich význam je naprosto zásadní pro vývoj aplikací, které
mají dobře fungovat v mobilních zařízeních.
• Paul Trani: Tips and Tricks for Mobile Flash Development (Tipy a triky pro vývoj obsahu Flash pro mobilní
zařízení)
• roguish: GPU Test App AIR for Mobile (Testovací aplikace GPU pro prostředí AIR pro mobilní zařízení)
• Jonathan Campos: Optimization Techniques for AIR for Android apps (Optimalizační postupy v prostředí AIR pro
aplikace Android)
• Charles Schulze: AIR 2.6 Game Development: iOS included (Vývoj her pro prostředí AIR 2.6: včetně systému iOS)
Poslední aktualizace 31.8.2016
65
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Životní cyklus aplikace
Když aplikace ztratí fokus ve prospěch jiné aplikace, prostředí AIR sníží snímkový kmitočet na 4 snímky za sekundu
a zastaví vykreslování grafiky. Při poklesu pod tento snímkový kmitočet mají síťová a soketová připojení datových
proudů tendenci se přerušit. Pokud vaše aplikace taková připojení nepoužívá, lze snímkový kmitočet omezit ještě více.
Je-li to vhodné, měli byste zastavit přehrávání zvuku a odstranit posluchače snímačů geolokace a akcelerometru.
Objekt AIR NativeApplication odesílá události aktivace a deaktivace. Tyto události slouží k řízení přechodu mezi
aktivním stavem a stavem na pozadí.
Většina mobilních operačních systémů ukončí aplikace na pozadí bez předchozího upozornění. Při častém ukládání
stavu aplikace by se aplikace měla dokázat obnovit do přiměřeného stavu, ať již se vrací z pozadí do aktivního stavu,
nebo se spouští znovu.
Hustota informací
I když mají větší hustotu obrazových bodů (obr. body na palec), je fyzická velikost obrazovek mobilních zařízení menší
než u stolních počítačů. Stejná velikost písma vyprodukuje písmena, která jsou na displeji mobilního zařízení fyzicky
menší než na stolním počítači. Často je nutné použít větší písmo, aby byla zajištěna čitelnost. Obecně je nejmenší
velikost písma, které lze snadno číst, 14 bodů.
Mobilní zařízení jsou často používána na cestách nebo za špatných světelných podmínek. Realisticky proto zvažte, jaké
množství informací lze na obrazovce čitelně zobrazit. Může jich být méně než u obrazovky se stejnými rozměry v
obrazových bodech ve stolním počítači.
Zvažte také, že když se uživatel dotýká obrazovky, část displeje zakrývá jeho prst a ruka. Interaktivní prvky umístěte
po stranách a v dolní části obrazovky, pokud má s nimi uživatel pracovat déle než se jen na okamžik dotknout.
Zadávání textu
Mnoho zařízení používá pro zadávání textu virtuální klávesnici. Virtuální klávesnice zakrývají část obrazovky a jejich
použití je často neobratné. Vyhněte se využívání událostí klávesnice (kromě programovatelných kláves).
Zvažte, zda nemůžete namísto vstupních textových polí implementovat alternativní možnosti. Pokud má například
uživatel zadávat číselnou hodnotu, textové pole nepotřebujete. Můžete hodnotu zvyšovat nebo snižovat pomocí dvou
tlačítek.
Programovatelné klávesy
Mobilní zařízení obsahují různé počty programovatelných kláves. Programovatelné klávesy jsou tlačítka, která jsou
nastavitelná na odlišné funkce. Při využití těchto kláves ve vaší aplikaci dodržujte konvence platformy.
Změny orientace obrazovky
Mobilní obsah lze zobrazovat v orientaci na výšku nebo na šířku. Zvažte, jakým způsobem bude aplikace se změnami
orientace obrazovky nakládat. Další informace naleznete v tématu Orientace plochy.
Ztlumení obrazovky
Prostředí AIR nezabrání automaticky ve ztlumení obrazovky při přehrávání videa. To, zda zařízení vstoupí do režimu
snížené spotřeby, můžete řídit pomocí vlastnosti systemIdleMode objektu AIR NativeApplication. (Na některých
platformách je nutné si vyžádat příslušné oprávnění, aby tato funkce fungovala.)
Poslední aktualizace 31.8.2016
66
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Příchozí volání
Běhový modul AIR automaticky ztlumí zvuk, pokud uživatel uskuteční nebo přijme telefonní hovor. V systému
Android je nutné v deskriptoru aplikace nastavit oprávnění READ_PHONE_STATE, pokud aplikace na pozadí
přehrává zvuk. V opačném případě bude systém Android bránit běhovému modulu v detekci telefonních hovorů a
automatickém ztlumení zvuku. Viz „Oprávnění systému Android“ na stránce 74.
Oblasti dotyku
Při návrhu tlačítek a dalších elementů uživatelského rozhraní, na něž budou uživatelé poklepávat, zvažte velikost
oblastí dotyku. Tyto elementy mají mít dostatečnou velikost na to, aby je bylo možno na dotykové obrazovce pohodlně
aktivovat prstem. Rovněž se ujistěte, zda máte mezi oblastmi dostatečné mezery. U typické obrazovky telefonu s
vysokou hodnotou dpi by plocha oblastí dotyku měla být zhruba 44 až 57 obrazových bodů po každé straně.
Instalační velikost balíčku aplikace
Mobilní zařízení mají obvykle mnohem méně místa v úložišti pro instalaci aplikací a dat než stolní počítače.
Minimalizujte velikost balíčku odstraněním nepoužívaných datových zdrojů a knihoven.
V systému Android se balíček aplikace při její instalaci neextrahuje do samostatných souborů. Místo toho se datové
zdroje dekomprimují do dočasného úložiště, když je k nim získán přístup. Aby se minimalizoval dopad takto
dekomprimovaných datových zdrojů na úložiště, zavřete po úplném načtení datových zdrojů souborové a URL
streamy.
Přístup k souborovému systému
V různých operačních systémech pro mobilní zařízení jsou zavedena různá omezení souborového systému a tato
omezení se většinou liší od omezení zavedených v operačních systémech pro stolní počítače. Vhodné místo pro
ukládání souborů a dat je proto na každé platformě jiné.
Jedním z důsledků rozdílů souborových systémů je, že zástupci pro běžné adresáře, jež poskytuje třída AIR File, nejsou
vždy k dispozici. Následující tabulka uvádí zástupce, které lze použít v systémech Android a iOS:
Android
iOS
File.applicationDirectory
Pouze pro čtení prostřednictvím
adresy URL (cesta není nativní)
Pouze pro čtení
File.applicationStorageDirectory
K dispozici
K dispozici
File.cacheDirectory
K dispozici
K dispozici
File.desktopDirectory
Kořen sdcard
Není k dispozici
File.documentsDirectory
Kořen sdcard
K dispozici
File.userDirectory
Kořen sdcard
Není k dispozici
File.createTempDirectory()
K dispozici
K dispozici
File.createTempFile()
K dispozici
K dispozici
Pokyny společnosti Apple pro aplikace systému iOS obsahují konkrétní pravidla výběru umístění úložišť pro soubory
v různých situacích. Jeden pokyn například udává, že se do adresáře určeného pro vzdálené zálohování mohou ukládat
pouze soubory obsahující data zadaná uživatelem nebo data, která nelze vytvořit nebo stáhnout znovu. Informace o
dodržování pokynů společnosti Apple pro zálohování a ukládání souborů do vyrovnávací paměti naleznete v části
Řízení zálohování a ukládání souborů do vyrovnávací paměti.
Poslední aktualizace 31.8.2016
67
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Komponenty uživatelského rozhraní
Společnost Adobe vyvinula verzi prostředí Flex optimalizovanou pro mobilní zařízení. Další informace naleznete
v článku Vývoj mobilních aplikací pomocí produktů Flex a Flash Builder.
K dispozici jsou také projekty komunitních komponent vhodné pro mobilní aplikace. Patří sem:
• Ovládací prvky rozhraní Feathers pro prostředí Starling, autor: Josh Tynjala
• Verze objektů Minimal Comps s možnosti použití vzhledů, autor: Derrick Grigg
• Součásti as3flobile, autor: Todd Anderson
Akcelerované vykreslování grafiky Stage 3D
Od verze AIR 3.2 podporuje prostředí AIR pro mobilní zařízení akcelerované vykreslování grafiky Stage 3D. Rozhraní
API jazyka ActionScript Stage3D představuje sadu nízkoúrovňových rozhraní API s akcelerací karty GPU, ve kterých
jsou k dispozici pokročilé možnosti pro 2D a 3D grafiku. Tato nízkoúrovňová rozhraní API poskytují vývojářům
možnost pružně využít hardwarovou akceleraci karet GPU a dosáhnout podstatného zvýšení výkonu. Lze také využít
herní moduly, které podporují rozhraní API jazyka ActionScript Stage3D.
Další informace naleznete na stránce Gaming engines, 3D, and Stage 3D (Herní moduly, 3D a Stage 3D).
Vyhlazování videa
Z důvodu vylepšení výkonu je vyhlazování videa v prostředí AIR vypnuto.
Nativní funkce
AIR 3.0+
Řada mobilních platforem poskytuje funkce, které dosud nejsou přístupné prostřednictvím standardního rozhraní
API prostředí AIR. Od verze AIR 3 můžete rozšířit prostředí AIR o vlastní nativní knihovny kódu. Tyto nativní
knihovny rozšíření mohou přistupovat k funkcím, které jsou dostupné v operačním systému, nebo jsou dokonce
specifické pro dané zařízení. Nativní rozšíření může být napsáno v jazyce C pro systém iOS nebo v jazyce Java či C pro
systém Android. Informace o vývoji nativních rozšíření naleznete v části Úvod do nativních rozšíření v prostředí
Adobe AIR.
Pracovní postup vytváření aplikací AIR pro mobilní
zařízení
Pracovní postup pro vytvoření aplikace AIR pro mobilní (nebo jiná) zařízení je obecně velmi podobný postupu při
vytváření aplikace pro stolní počítače. Zásadní rozdíly v pracovním postupu nastávají až ve chvíli, kdy je třeba aplikaci
zabalit, vyladit a nainstalovat. Například aplikace AIR pro systém Android používají nativní formát balíčku Android
APK, nikoli formát balíčku prostředí AIR. Proto také používají standardní instalační a aktualizační mechanismy
systému Android.
Prostředí AIR pro systém Android
Pro vývoj aplikace AIR pro systém Android jsou typické tyto kroky:
• vytvoření kódu jazyka ActionScript nebo MXML,
Poslední aktualizace 31.8.2016
68
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
• vytvoření souboru deskriptoru aplikace AIR (pomocí oboru názvů 2.5 nebo novějšího),
• kompilace aplikace,
• zabalení aplikace jako balíčku Android (.apk),
• instalace běhového modulu AIR do zařízení nebo emulátoru systému Android (pokud používáte externí běhový
modul – vázaný běhový modul je výchozí od verze AIR 3.7),
• instalace aplikace v zařízení (nebo emulátoru Android),
• Spusťte aplikaci v zařízení.
K provedení těchto kroků můžete použít aplikaci Adobe Flash Builder či Adobe Flash Professional CS5 nebo nástroje
příkazového řádku.
Jakmile je aplikace AIR dokončena a zabalena jako soubor APK, můžete ji odeslat na web Android Market nebo
distribuovat jiným způsobem.
Prostředí AIR pro systém iOS
Pro vývoj aplikací AIR pro systém iOS jsou typické tyto kroky:
• instalace aplikace iTunes,
• generování požadovaných vývojářských souborů a ID na portálu iOS Apple Provisioning Portal; tyto položky
zahrnují:
• vývojářský certifikát,
• ID aplikace,
• prováděcí profil,
(Při vytváření prováděcího profilu je nutné uvést ID všech testovacích zařízení, ve kterých se chystáte aplikaci
nainstalovat.)
• převedení vývojářského certifikátu a soukromého klíče na soubor úložiště klíčů P12,
• vytvoření kódu aplikace v jazyce ActionScript nebo MXML,
• kompilace aplikace v kompilátoru jazyka ActionScript nebo MXML,
• vytvoření obrazu ikony a obrazu úvodní obrazovky pro aplikaci,
• vytvoření deskriptoru aplikace (pomocí oboru názvů 2.6 nebo novějšího),
• zabalení souboru IPA pomocí nástroje ADT,
• umístění prováděcího profilu na testovací zařízení pomocí aplikace iTunes,
• instalace a testování aplikace v zařízení iOS. K instalaci souboru IPA lze použít přehrávač iTunes nebo nástroj ADT
přes rozhraní USB (podpora USB v prostředí AIR 3.4 a vyšších).
Po dokončení můžete aplikaci AIR znovu zabalit pomocí distribučního certifikátu a prováděcího profilu. Poté je
připravena k odeslání do obchodu Apple App Store.
Poslední aktualizace 31.8.2016
69
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Nastavení vlastností mobilní aplikace
Stejně jako u jiných aplikací AIR nastavíte základní vlastnosti aplikace v jejím souboru deskriptoru. Mobilní aplikace
ignorují některé vlastnosti specifické pro stolní počítače, například velikost a průhlednost okna. Mobilní aplikace
mohou také používat své vlastní vlastnosti specifické pro platformu. Můžete například zahrnout element android
pro aplikace Android a element iPhone pro aplikace iOS.
Společná nastavení
Několik nastavení deskriptoru aplikace je důležitých pro všechny aplikace pro mobilní zařízení.
Vyžadovaná verze běhového modulu AIR
Určete verzi běhového modulu AIR požadovanou pro aplikaci využívající obor názvů souboru deskriptoru aplikace.
Obor názvů, přiřazený elementu application, určuje z velké části, které funkce může daná aplikace používat. Pokud
například aplikace používá obor názvů AIR 2.7 a uživatel má nainstalovánu některou pozdější verzi, pak bude aplikace
nadále vykazovat chování prostředí AIR 2.7 (a to i v případě, že chování se v budoucí verzi změnilo). Aplikace získá
přístup k novému chování a funkcím pouze v případě, že změníte obor názvů a publikujete aktualizaci. Důležitou
výjimkou z tohoto pravidla jsou opravy zabezpečení.
U zařízení, která používají běhový modul oddělený od aplikace, jako je Android v prostředí AIR 3.6 nebo starším, bude
uživatel, který nemá požadovanou verzi, vyzván k instalaci nebo upgradu prostředí AIR. V zařízeních zahrnujících
běhový modul, jako je například zařízení iPhone, tato situace nenastane (protože požadovaná verze je zabalena přímo
s aplikací).
Poznámka: (AIR 3.7 a vyšší) Běhový modul s aplikacemi platformy Android zabalí ve výchozím nastavení nástroj ADT.
Určete obor názvů pomocí atributu xmlns kořenového elementu application. Pro mobilní aplikace by se měly
používat následující obory názvů (v závislosti na cílové mobilní platformě):
iOS 4+ and iPhone 3Gs+ or Android:
<application xmlns="http://ns.adobe.com/air/application/2.7">
iOS only:
<application xmlns="http://ns.adobe.com/air/application/2.0">
Poznámka: Podporu pro zařízení iOS 3 zajišťuje nástroj Packager pro sadu iPhone SDK, který je založen na sadě AIR
2.0 SDK. Informace o vytváření aplikací AIR pro systém iOS 3 naleznete v tématu Vytváření aplikací pro zařízení iPhone.
Sada AIR 2.6 SDK (a novější) podporuje v zařízeních iPhone 3Gs, iPhone 4 a iPad systém iOS 4 a novější.
Další témata Nápovědy
„application“ na stránce 208
Identita aplikace
Několik nastavení by mělo být jedinečných pro každou aplikaci, kterou publikujete. Patří sem ID, název a název
souboru.
ID aplikací Android
V systému Android se ID převádí na název balíčku Android, a to přidáním prefixu „air.“ k ID aplikace AIR. Je-li tedy
ID aplikace AIR com.example.MyApp, pak název balíčku Android je air.com.example.MyApp.
<id>com.example.MyApp</id>
<name>My Application</name>
<filename>MyApplication</filename>
Poslední aktualizace 31.8.2016
70
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Kromě toho platí, že pokud ID nepředstavuje přípustný název balíčku v operačním systému Android, převede se na
přípustný název. Znaky spojovníků se změní na podtržítka a před počáteční číslice v libovolné komponentě ID se vloží
velké písmeno „A“. Například ID 3-goats.1-boat se změní na název balíčku air.A3_goats.A1_boat.
Poznámka: Na základě prefixu přidaného k ID aplikace lze aplikace AIR identifikovat na webu Android Market. Pokud
nechcete, aby aplikace byla na základě prefixu identifikována jako aplikace AIR, musíte soubor APK rozbalit, změnit ID
aplikace a znovu jej zabalit, jak je popsáno v článku Opt-out of AIR application analytics for Android (Odhlášení z
analytiky aplikací AIR pro systém Android).
ID aplikací iOS
ID aplikace AIR nastavte tak, aby odpovídalo ID aplikace vytvořenému na portálu Apple iOS Provisioning Portal.
ID aplikací iOS se skládají z ID zdroje balíku následovaného identifikátorem balíku. ID zdroje balíku představuje
řetězec znaků, jako je 5RM86Z4DJM, který společnost Apple přidělí k ID aplikace. Identifikátor balíku obsahuje vámi
vybraný název v obráceném stylu domény. Identifikátor balíku může být zakončen hvězdičkou (*) označující zástupné
ID aplikace. Pokud identifikátor balíku končí na zástupný znak, můžete tento zástupný znak nahradit přípustným
řetězcem.
Například:
• Pokud je ID aplikace Apple 5RM86Z4DJM.com.example.helloWorld, je nutné v deskriptoru aplikace použít
řetězec com.example.helloWorld.
• Pokud je ID aplikace Apple 96LPVWEASL.com.example.* (zástupné ID aplikace), můžete použít
com.example.helloWorld nebo com.example.anotherApp či nějaké jiné ID začínající řetězcem com.example.
• A konečně, pokud ID aplikace Apple tvoří jen ID zdroje balíku a zástupný znak, například 38JE93KJL.*, můžete
použít libovolné ID aplikace v prostředí AIR.
Při určování ID aplikace nezahrnujte tu část ID aplikace, která představuje zdroj balíku.
Další témata Nápovědy
„id“ na stránce 223
„filename“ na stránce 218
„name“ na stránce 231
Verze aplikace
V prostředí AIR 2.5 a novějších zadejte verzi aplikace do elementu versionNumber. Element version již není možné
používat. Při zadávání hodnoty elementu versionNumber je nutné použít posloupnost až tří čísel oddělených tečkami,
například: „0.1.2“. Každý segment čísla verze může mít až tři číslice. (Jinými slovy, nejvyšší přípustné číslo verze je
„999.999.999“.) Není nutné uvést všechny tři segmenty čísla; hodnoty „1“ a „1.0“ jsou také přípustná čísla verzí.
Můžete také zadat popisek verze pomocí elementu versionLabel. Po přidání se popisek verze zobrazí místo čísla
verze na místech, jako je informační obrazovka aplikace Android. Popisek verze musí být zadán pro aplikace, které
jsou distribuovány pomocí webu Android Market. Pokud v deskriptoru aplikace AIR nezadáte hodnotu
versionLabel, bude do pole pro popisek verze aplikace Android přiřazena hodnota versionNumber.
<!-- AIR 2.5 and later -->
<versionNumber>1.23.7<versionNumber>
<versionLabel>1.23 Beta 7</versionLabel>
V systému Android je hodnota versionNumber přeložena na celé číslo versionCode pomocí vzorce: a*1000000 +
b*1000 + c, kde a, b a c jsou součásti čísla verze prostředí AIR: a.b.c.
Poslední aktualizace 31.8.2016
71
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Další témata Nápovědy
„version“ na stránce 239
„versionLabel“ na stránce 239
„versionNumber“ na stránce 239
Soubor SWF hlavní aplikace
Soubor SWF hlavní aplikace určete v podřízeném elementu content elementu initialWindow. Pokud se zaměřujete
na zařízení v mobilním profilu, je nutné soubor SWF použít (aplikace založené na kódu HTML nejsou podporovány).
<initialWindow>
<content>MyApplication.swf</content>
</initialWindow>
Soubor je nutné zahrnout do balíčku AIR (pomocí nástroje ADT nebo vašeho prostředí IDE). Prosté uvedení názvu v
deskriptoru aplikace nevede k automatickému zahrnutí souboru do balíčku.
Vlastnosti hlavní obrazovky
Několik podřízených elementů elementu initialWindow řídí počáteční vzhled a chování hlavní obrazovky aplikace.
• aspectRatio – určuje, zda by se aplikace měla na začátku zobrazovat ve formátu na výšku (výška větší než šířka), ve
formátu na šířku (výška menší než šířka) nebo v libovolném formátu (vymezená plocha má automaticky všechny
orientace).
<aspectRatio>landscape</aspectRatio>
• autoOrients – Určuje, zda se má orientace plochy automaticky měnit, když uživatel otočí zařízení nebo provede
jiné gesto související s orientací, například otevře nebo zavře výsuvnou klávesnici. Je-li nastavena hodnota false, což
je výchozí nastavení, orientace plochy se nebude měnit se zařízením.
<autoOrients>true</autoOrients>
• depthAndStencil – určuje, zda se má použít vyrovnávací paměť pro hloubku nebo šablonu. Tyto vyrovnávací
paměti se běžně používají při práci s 3D obsahem.
<depthAndStencil>true</depthAndStencil>
• fullScreen – Určuje, zda má aplikace zabírat celý displej zařízení, nebo zda jej má sdílet s běžnými prvky operačního
systému, jako je například systémový stavový řádek.
<fullScreen>true</fullScreen>
• renderMode – Určuje, zda má běhový modul vykreslovat aplikaci pomocí grafického procesoru (GPU), nebo
hlavního procesoru (CPU). Obecně platí, že vykreslování pomocí procesoru GPU je rychlejší, ale některé funkce,
například režimy prolnutí a filtry PixelBender, nejsou v režimu GPU k dispozici. Kromě toho mají různá zařízení
a ovladače zařízení nestejné možnosti a omezení režimu GPU. Aplikaci je vždy třeba otestovat na co nejširší škále
zařízení, zejména při použití režimu GPU.
Režim vykreslování můžete nastavit na hodnoty gpu, cpu, direct nebo auto. Výchozí hodnota je auto, která
v současné době vrací do režimu cpu.
Poznámka: Aby bylo možné využít akceleraci obsahu Flash pomocí GPU v prostředí AIR pro mobilní platformy,
společnost Adobe doporučuje, abyste použili volbu renderMode="direct" (tzn. Stage3D) a nikoli renderMode="gpu".
Společnost Adobe oficiálně podporuje a doporučuje tato prostředí založená na rozhraní Stage3D – Starling (2D) a
Away3D (3D). Podrobnější informace o rozhraní Stage3D a prostředí Starling/Away3D naleznete na webu
http://gaming.adobe.com/getstarted/.
<renderMode>direct</renderMode>
Poslední aktualizace 31.8.2016
72
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Poznámka: Pro aplikace spouštěné na pozadí nelze použít nastavení renderMode=”direct”.
Omezení režimu GPU:
• Platforma Flex režim vykreslení GPU nepodporuje.
• Nejsou podporovány filtry.
• Nejsou podporovány prolnutí PixelBender a výplně.
• Nejsou podporovány následující režimy prolnutí: Vrstva, Alfa, Vymazat, Překrýt, Tvrdé světlo, Zesvětlit a
Ztmavit
• Použití režimu vykreslování GPU v aplikaci, která přehrává video, není doporučeno.
• V režimu vykreslování GPU nejsou při otevření virtuální klávesnice textová pole správně přesunuta do
viditelného umístění. Chcete-li zajistit, aby při zadávání textu uživatelem bylo vaše textové pole viditelné,
použijte vlastnost softKeyboardRect vymezené plochy a události softwarové klávesnice k přesunutí textového
pole do viditelné oblasti.
• Pokud procesor GPU nedokáže objekt zobrazení vykreslit, vůbec se nezobrazí. Je-li například u objektu
zobrazení použit filtr, objekt se nezobrazí.
Poznámka: Implementace GPU pro systém iOS v prostředí AIR 2.6+ se dost liší od implementace použité ve starší
verzi AIR 2.0. Při optimalizaci je třeba zvážit jiné faktory.
Další témata Nápovědy
„aspectRatio“ na stránce 211
„autoOrients“ na stránce 211
„depthAndStencil“ na stránce 215
„fullScreen“ na stránce 221
„renderMode“ na stránce 233
Podporované profily
Můžete přidat element supportedProfiles, pomocí kterého lze určit profily zařízení podporované danou aplikací.
Pro mobilní zařízení použijte profil mobileDevice. Při spuštění aplikace pomocí programu Adobe Debug Launcher
(ADL) použije tento nástroj první profil v seznamu jako aktivní. Při spuštění programu ADL můžete také použít
příznak -profile a vybrat konkrétní profil v seznamu podporovaných. Pokud se aplikace spouští ve všech profilech,
můžete element supportedProfiles úplně vynechat. Program ADL v tom případě jako výchozí aktivní profil
použije profil pro stolní počítače.
Chcete-li určit, že aplikace podporuje profil pro mobilní zařízení i stolní počítače, a vy obvykle chcete aplikaci testovat
v mobilním profilu, přidejte následující element:
<supportedProfiles>mobileDevice desktop</supportedProfiles>
Další témata Nápovědy
„supportedProfiles“ na stránce 236
„Profily zařízení“ na stránce 242
„Program AIR Debug Launcher (ADL)“ na stránce 157
Poslední aktualizace 31.8.2016
73
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Požadovaná nativní rozšíření
Aplikace, které podporují profil mobileDevice mohou používat nativní rozšíření.
Deklarujte všechna nativní rozšířená, která aplikace AIR používá, v deskriptoru aplikace. Následující příklad ukazuje
syntaxi pro zadání dvou požadovaných nativních rozšíření:
<extensions>
<extensionID> com.example.extendedFeature</extensionID>
<extensionID> com.example.anotherFeature</extensionID>
</extensions>
Element extensionID má stejnou hodnotu jako element id v souboru deskriptoru rozšíření. Soubor deskriptoru
rozšíření je soubor XML s názvem extension.xml. Je zabalen v souboru ANE, který obdržíte od vývojáře nativního
rozšíření.
Chování virtuální klávesnice
Nastavte element softKeyboardBehavior na hodnotu none, chcete-li zakázat chování spočívající v automatickém
posouvání a změně velikosti, pomocí kterého běhový modul zajišťuje, že po aktivaci virtuální klávesnice zůstane
textové pole s fokusem viditelné. Pokud zakážete automatické chování, bude za zajištění toho, aby při aktivaci
klávesnice byla viditelná oblast vkládání textu nebo jiný relevantní obsah, odpovídat daná aplikace. Pomocí vlastnosti
softKeyboardRect plochy ve spojení s vlastností SoftKeyboardEvent můžete rozpoznat, že se klávesnice otevřela, a
určit plochu, kterou zakrývá.
Chcete-li povolit automatické chování, nastavte element na hodnotu pan:
<softKeyboardBehavior>pan</softKeyboardBehavior>
Protože hodnota pan představuje výchozí hodnotu, lze automatické chování klávesnice povolit také vynecháním
elementu softKeyboardBehavior.
Poznámka: Používáte-li zároveň vykreslování GPU, chování typu pan není podporováno.
Další témata Nápovědy
„softKeyboardBehavior“ na stránce 235
Stage.softKeyboardRect
SoftKeyboardEvent
Nastavení systému Android
Na platformě Android můžete v deskriptoru aplikace použít element android, abyste mohli přidat informace do
manifestu aplikace Android, což je soubor vlastností aplikace používaný operačním systémem Android. Při vytváření
balíčku APK nástroj ADT automaticky generuje soubor Manifest.xml systému Android. Prostředí AIR nastaví několik
vlastností na hodnoty požadované pro fungování určitých funkcí. Veškeré další vlastnosti nastavené v části android
deskriptoru aplikace AIR jsou přidány do odpovídající části souboru Manifest.xml.
Poznámka: U většiny aplikací AIR je nutné v elementu android nastavit oprávnění systému Android požadovaná
aplikací, ale obecně není třeba nastavovat žádné další vlastnosti.
Lze nastavit pouze atributy, které přijímají řetězcové, celočíselné nebo booleovské hodnoty. Nastavení odkazů na
zdroje není v balíčku aplikace podporováno.
Poznámka: Běhový modul vyžaduje verzi sady SDK minimálně 14 nebo vyšší. Chcete-li vytvořit aplikaci pro vyšší verze,
je třeba zajistit, aby manifest obsahoval <uses-sdk android:minSdkVersion=""></uses-sdk> správné
odpovídající verze.
Poslední aktualizace 31.8.2016
74
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Vyhrazená nastavení manifestu systému Android
Prostředí AIR nastaví v generovaném dokumentu manifestu systému Android několik položek, které zajistí správné
fungování této aplikace a běhového modulu. Nemůžete definovat následující nastavení:
element manifest
Nemůžete nastavit následující atributy elementu manifest:
• package
• android:versionCode
• android:versionName
• xmlns:android
element activity
Nemůžete nastavit následující atributy hlavního elementu activity:
• android:label
• android:icon
element application
Nemůžete nastavit následující atributy elementu application:
• android:theme
• android:name
• android:label
• android:windowSoftInputMode
• android:configChanges
• android:screenOrientation
• android:launchMode
Oprávnění systému Android
Model zabezpečení systému Android vyžaduje, aby každá aplikace vyžadovala oprávnění při použití funkcí, které mají
dopad na zabezpečení nebo ochranu soukromí. Tato oprávnění musejí být zadána při zabalování aplikace a není
možné je měnit za běhu. Operační systém Android informuje uživatele, která oprávnění aplikace vyžaduje, když ji
uživatel instaluje. Pokud oprávnění vyžadované pro funkci není požadováno, může operační systém Android vyvolat
při přístupu aplikace k funkci výjimku, avšak tato výjimka není zaručena. Výjimky jsou předávány běhovým modulem
do příslušné aplikace. V případě tiché chyby je zpráva o chybě oprávnění přidána do protokolu systému Android.
V prostředí AIR zadáte oprávnění systému Android v elementu android deskriptoru aplikace. Pro přidávání
oprávnění se používá následující formát (kde PERMISSION_NAME je název oprávnění systému Android):
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission android:name="android.permission.PERMISSION_NAME" />
</manifest>
]]>
</manifestAdditions>
</android>
Poslední aktualizace 31.8.2016
75
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Příkazy uses-permissions uvnitř elementu manifest jsou přidány přímo do dokumentu manifestu systému Android.
K použití různých funkcí prostředí AIR jsou vyžadována následující oprávnění:
ACCESS_COARSE_LOCATION Umožňuje aplikaci získat přístup k údajům o umístění sítí WIFI a mobilních sítí
prostřednictvím třídy Geolocation.
ACCESS_FINE_LOCATION Umožňuje aplikaci získat přístup k údajům systému GPS prostřednictvím třídy
Geolocation.
ACCESS_NETWORK_STATE a ACCESS_WIFI_STATE Umožňují aplikaci získat přístup k informacím o sítích
prostřednictvím třídy NetworkInfo.
CAMERA Umožňuje aplikaci získat přístup k fotoaparátu či kameře.
Poznámka: Když požádáte o oprávnění k používání funkce fotoaparátu či kamery, systém Android předpokládá, že
fotoaparát či kameru vyžaduje také vaše aplikace. Pokud fotoaparát či kamera představuje volitelnou funkci dané
aplikace, měli byste do manifestu pro fotoaparát či kameru přidat element uses-feature, ve kterém je atribut required
nastaven na hodnotu false. Viz „Filtrování kompatibility systému Android“ na stránce 76.
INTERNET Umožňuje aplikaci provádět síťové požadavky. Dále umožňuje vzdálené ladění.
READ_PHONE_STATE Umožňuje běhovému modulu AIR ztlumit zvuk během telefonních volání. Pokud aplikace
přehrává zvuk v době, kdy je na pozadí, nastavte toto oprávnění.
RECORD_AUDIO Umožňuje aplikaci získat přístup k mikrofonu.
WAKE_LOCK a DISABLE_KEYGUARD Umožňují aplikaci zabránit zařízení v přechodu do režimu spánku pomocí
nastavení třídy SystemIdleMode.
WRITE_EXTERNAL_STORAGE Umožňuje aplikaci zápis na externí paměťovou kartu v zařízení.
Chcete-li například nastavit oprávnění pro aplikaci, která výslovně vyžaduje každé oprávnění, mohli byste do
deskriptoru aplikace přidat následující obsah:
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission
<uses-permission
<uses-permission
<uses-permission
<uses-permission
<uses-permission
<uses-permission
<uses-permission
<uses-permission
<uses-permission
<uses-permission
</manifest>
]]>
</manifestAdditions>
</android>
android:name="android.permission.ACCESS_COARSE_LOCATION" />
android:name="android.permission.ACCESS_FINE_LOCATION" />
android:name="android.permission.ACCESS_NETWORK_STATE" />
android:name="android.permission.ACCESS_WIFI_STATE" />
android:name="android.permission.CAMERA" />
android:name="android.permission.DISABLE_KEYGUARD" />
android:name="android.permission.INTERNET" />
android:name="android.permission.READ_PHONE_STATE" />
android:name="android.permission.RECORD_AUDIO" />
android:name="android.permission.WAKE_LOCK" />
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Další témata Nápovědy
Zabezpečení a oprávnění systému Android
Třída oprávnění v manifestu systému Android
Poslední aktualizace 31.8.2016
76
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Vlastní schémata URI systému Android
Pomocí vlastního schématu URI můžete aplikaci AIR spustit z webové stránky nebo nativní aplikace Android.
Podpora vlastního identifikátoru URI je založena na elementech intent-filter zadaných v manifestu pro systém
Android, takže tento postup nelze použít na jiných platformách.
Chcete-li použít vlastní identifikátor URI, přidejte element intent-filter do bloku <android> v deskriptoru aplikace.
Musí být zadány oba elementy intent-filter v následujícím příkladu. Příkaz <data android:scheme="mycustomuri"/> upravte tak, aby odrážel řetězec URI pro vlastní schéma.
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<application>
<activity>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="my-customuri"/>
</intent-filter>
</activity>
</application>
</manifest>
]]>
</manifestAdditions>
</android>
Element intent-filter informuje operační systém Android, že daná aplikace je k dispozici pro provedení dané akce. V
případě vlastního identifikátoru URI to znamená, že uživatel klepl na odkaz využívající dané schéma URI (a prohlížeč
neví, jak tuto akci zpracovat).
Je-li prostřednictvím vlastního identifikátoru URI vyvolána daná aplikace, objekt NativeApplication odešle událost
invoke. Adresa URL odkazu, včetně parametrů dotazu, je umístěna v poli arguments objektu InvokeEvent. Můžete
použít libovolný počet elementů intent-filter.
Poznámka: Odkazy v instanci StageWebView nelze otevřít adresy URL, které používají vlastní schéma identifikátoru URI.
Další témata Nápovědy
Elementy intent-filter systému Android
Akce a kategorie systému Android
Filtrování kompatibility systému Android
Operační systém Android určuje na základě řady elementů v souboru manifestu aplikace, zda je aplikace kompatibilní
s daným zařízením. Přidání těchto informací do manifestu je volitelné. Jestliže tyto elementy nezahrnete, bude možné
aplikaci nainstalovat do jakéhokoli zařízení Android. Nemusí však v jakémkoli zařízení Android správně fungovat.
Například aplikace fotoaparátu či kamery nebude příliš užitečná v telefonu, který takovým vybavením nedisponuje.
Manifest pro systém Android obsahuje tagy, které můžete použít pro filtrování:
• supports-screens,
Poslední aktualizace 31.8.2016
77
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
• uses-configuration,
• uses-feature,
• uses-sdk (v prostředí AIR 3+).
Aplikace fotoaparátu či kamery
Pokud pro svou aplikaci požadujete oprávnění k fotoaparátu či kameře, systém Android předpokládá, že aplikace
vyžaduje všechny dostupné funkce kamery, včetně automatického zaostřování a blesku. Nevyžaduje-li aplikace
všechny funkce fotoaparátu či kamery nebo představuje-li toto vybavení volitelnou funkci, je třeba pro ně nastavit
různé elementy uses-feature, které budou indikovat, že jsou volitelné. V opačném případě uživatelé se zařízením, v
němž chybí jedna funkce fotoaparátu či kamery nebo toto vybavení vůbec nemají, nebudou moci nalézt vaši aplikaci
na webu Android Market.
Následující příklad ilustruje, jak lze vyžadovat oprávnění k fotoaparátu či kameře a současně všechny funkce tohoto
vybavení nastavit jako volitelné:
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera"
android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus"
android:required="false"/>
<uses-feature android:name="android.hardware.camera.flash"
android:required="false"/>
</manifest>
]]>
</manifestAdditions>
</android>
Aplikace pro záznam zvuku
Pokud požadujete oprávnění pro záznam zvuku, systém Android předpokládá, že aplikace vyžaduje také mikrofon.
Pokud je záznam zvuku volitelnou funkcí aplikace, můžete přidat tag uses-feature, ve kterém učíte, že mikrofon není
vyžadován. V opačném případě uživatelé se zařízením, které nemají mikrofon, nebudou moci nalézt vaši aplikaci na
webu Android Market.
Následující příklad ilustruje, jak lze vyžadovat oprávnění k používání mikrofonu a současně ponechat hardware
mikrofonu jako volitelné vybavení:
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-feature android:name="android.hardware.microphone"
android:required="false"/>
</manifest>
]]>
</manifestAdditions>
</android>
Poslední aktualizace 31.8.2016
78
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Další témata Nápovědy
Vývojáři systému Android: Kompatibilita v systému Android
Vývojáři systému Android: Konstanty názvů funkcí v systému Android
Umístění instalace
Můžete povolit, aby aplikace byla nainstalována nebo přesunuta na externí paměťovou kartu, a to nastavením atributu
installLocation elementu manifest systému Android na hodnotu auto nebo preferExternal:
<android>
<manifestAdditions>
<![CDATA[
<manifest android:installLocation="preferExternal"/>
]]>
</manifestAdditions>
</android>
Operační systém Android nezaručuje, že aplikace bude nainstalována do externí paměti. Uživatel může aplikaci
přesunout mezi interní a externí pamětí také pomocí aplikace pro nastavení systému.
I v případě instalace do externí paměti budou mezipaměť a uživatelská data aplikace, jako je obsah adresáře appstorage, sdílené objekty a dočasné soubory, nadále uloženy v interní paměti. Chcete-li předejít využití příliš velké části
interní paměti, postupujte při výběru dat, která se budou do adresáře úložiště aplikace ukládat, selektivně. Velké
objemy dat by se měly ukládat na kartu SDCard, a to s použitím umístění File.userDirectory nebo
File.documentsDirectory (obě se mapují ke kořenu karty SD v systému Android).
Povolení přehrávače Flash Player a jiných zásuvných modulů v objektu StageWebView
Zobrazení obsahu zásuvného modulu v objektu StageWebView vyžaduje, aby aplikace v systému Android 3.0+
zapnula v elementu application systému Android hardwarovou akceleraci. Chcete-li povolit vykreslování zásuvných
modulů, nastavte atribut android:hardwareAccelerated elementu application na hodnotu true:
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<application android:hardwareAccelerated="true"/>
</manifest>
]]>
</manifestAdditions>
</android>
Barevná hloubka
Prostředí AIR 3+
Ve verzi AIR 3 a novějších nastaví běhový modul zobrazení na vykreslování 32bitových barev. Ve starších verzích
prostředí AIR používá běhový modul 16bitové barvy. Pomocí elementu <colorDepth> v deskriptoru aplikace můžete
dát běhovému modulu pokyn k používání 16bitových barev:
<android>
<colorDepth>16bit</colorDepth>
<manifestAdditions>...</manifestAdditions>
</android>
Používání 16bitové barevné hloubky může zvýšit rychlost vykreslování, ale na úkor věrnosti barev.
Poslední aktualizace 31.8.2016
79
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Nastavení systému iOS
Nastavení, která se vztahují pouze na zařízení se systémem iOS, jsou umístěna v deskriptoru aplikace v elementu
<iPhone>. Element iPhone může obsahovat elementy InfoAdditions, requestedDisplayResolution,
Entitlements, externalSwfs a forceCPURenderModeForDevices jako podřízené elementy.
Element InfoAdditions umožňuje určit dvojice klíč-hodnota, které budou přidány do souboru s nastavením
Info.plist pro danou aplikaci. Následující hodnoty například nastavují styl stavového řádku aplikace a určují, že
aplikace nevyžaduje stálý přístup wi-fi.
<InfoAdditions>
<![CDATA[
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleBlackOpaque</string>
<key>UIRequiresPersistentWiFi</key>
<string>NO</string>
]]>
</InfoAdditions>
Nastavení InfoAdditions jsou uzavřena v tagu DATA.
Element Entitlements umožňuje zadat dvojice klíč-hodnota přidané do souboru nastavení Entitlements.plist pro
aplikaci. Nastavení v souboru Entitlements.plist poskytují aplikaci přístup k určitým funkcím systému iOS, jako jsou
nabízená oznámení.
Podrobné informace o nastaveních v souboru Info.plist a Entitlements.plist naleznete v dokumentaci pro vývojáře od
společnosti Apple.
Podpora úloh na pozadí v systému iOS
AIR 3.3
Prostředí Adobe AIR 3.3 a vyšší podporuje v systému iOS zpracování více úloh současně tím, že umožní určité chování
na pozadí:
• zvuk,
• umístění aktualizací,
• sítě,
• zakázání spouštění aplikací, které běží na pozadí.
Poznámka: V případě souboru SWF verze 21 a jeho dřívějších verzí prostředí AIR nepodporuje spouštění na pozadí
v systému iOS a Android, pokud je nastaven režim přímého vykreslování. V důsledku tohoto omezení nemohou aplikace
založené na třídě Stage3D provádět úlohy na pozadí, jako je přehrávání zvuku, aktualizace polohy, odesílání nebo
stahování v síti atd. Systém iOS neumožňuje volání OpenGL ES ani vykreslení volání na pozadí. Aplikace, které se
pokoušejí o volání OpenGL na pozadí, jsou systémem iOS ukončovány. Systém Android nezakazuje aplikacím volání
OpenGL ES na pozadí ani provádění jiných úloh na pozadí (například přehrávání zvuku). V případě souboru SWF verze
22 a vyšší mohou aplikace AIR pro mobilní zařízení provádět úlohy na pozadí, pokud je nastaven atribut renderMode
s hodnotou direct. Běhový modul prostředí AIR pro systém iOS vede k chybě jazyka ActionScript (3768 – Během
provádění úloh na pozadí nelze použít rozhraní API Stage3D), pokud jsou volání OpenGL ES prováděna na pozadí.
V systému Android však nedochází k žádným chybám, protože jeho nativním aplikacím je povoleno volat OpenGL ES
na pozadí. Chcete-li dosáhnout optimálního využití mobilního zdroje, nevolejte vykreslení během spouštění aplikace na
pozadí.
Poslední aktualizace 31.8.2016
80
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Zvuk na pozadí
Chcete-li zapnout přehrávání a nahrávání zvuku na pozadí, přidejte do elementu InfoAdditions následující klíč s
hodnotou:
<InfoAdditions>
<![CDATA[
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
]]>
</InfoAdditions>
Aktualizace umístění na pozadí
Chcete-li zapnout aktualizace umístění na pozadí, přidejte do elementu InfoAdditions následující klíč s hodnotou:
<InfoAdditions>
<![CDATA[
<key>UIBackgroundModes</key>
<array>
<string>location</string>
</array>
]]>
</InfoAdditions>
Poznámka: Tuto funkci použijte, jen když je to nutné, protože rozhraní API umístění je náročné na spotřebu baterie.
Sítě na pozadí
Chcete-li spouštět krátké úlohy na pozadí, vaše aplikace nastaví vlastnost
NativeApplication.nativeApplication.executeInBackground na hodnotu true.
Aplikace může například zahájit operaci odeslání souboru, ale uživatel následně přesune jinou aplikaci do popředí.
Jakmile aplikace přijme událost dokončení odeslání na server, může nastavit vlastnost
NativeApplication.nativeApplication.executeInBackground na hodnotu false.
Nastavení vlastnosti NativeApplication.nativeApplication.executeInBackground na hodnotu true
nezaručí, že aplikace poběží nekonečně dlouho, protože systém iOS stanoví pro úlohy na pozadí určitý časový limit.
Když systém iOS zastaví zpracování na pozadí, prostředí AIR odešle událost NativeApplication.suspend.
Zakázání spouštění na pozadí
Aplikace může výslovně zakázat spouštění na pozadí tím, že do elementu InfoAdditions přidá následující klíč s
hodnotou:
<InfoAdditions>
<![CDATA[
<key>UIApplicationExitsOnSuspend</key>
<true/>
]]>
</InfoAdditions>
Vyhrazená nastavení InfoAdditions pro systém iOS
Prostředí AIR nastaví v generovaném souboru Info.plist několik položek, které zajistí správné fungování této aplikace
a běhového modulu. Nemůžete definovat následující nastavení:
Poslední aktualizace 31.8.2016
81
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
CFBundleDisplayName
CTInitialWindowTitle
CFBundleExecutable
CTInitialWindowVisible
CFBundleIconFiles
CTIosSdkVersion
CFBundleIdentifier
CTMaxSWFMajorVersion
CFBundleInfoDictionaryVersion
DTPlatformName
CFBundlePackageType
DTSDKName
CFBundleResourceSpecification
MinimumOSVersion (vyhrazeno do 3.2)
CFBundleShortVersionString
NSMainNibFile
CFBundleSupportedPlatforms
UIInterfaceOrientation
CFBundleVersion
UIStatusBarHidden
CTAutoOrients
UISupportedInterfaceOrientations
Poznámka: Můžete definovat MinimumOSVersion. Definice MinimumOSVersion bude respektována v prostředí Air
3.3 a novějším.
Podpora modelů různých zařízení se systémem iOS
Podpora zařízení iPad vyžaduje, aby v parametru UIDeviceFamily elementu InfoAdditions byla použita správná
nastavení klíč-hodnota. Nastavení parametru UIDeviceFamily je pole řetězců. Každý řetězec definuje podporovaná
zařízení. Řetězec <string>1</string> definuje podporu zařízení iPhone a iPod Touch. Řetězec
<string>2</string> definuje podporu zařízení iPad. Jestliže určíte jeden z těchto řetězců, bude podporována pouze
daná řada zařízení. Následující nastavení například omezí podporu jen na zařízení iPad:
<key>UIDeviceFamily</key>
<array>
<string>2</string>
</array>>
Následující nastavení podporuje obě řady zařízení (iPhone/iPod Touch a iPad):
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>
Dále lze v prostředí AIR 3.7 a vyšších pomocí tagu forceCPURenderModeForDevices vynutit u určené množiny zařízení
režim vykreslování pomocí CPU a u zbývajících zařízení se systémem iOS povolit režim vykreslování pomocí GPU.
Tento tag přidáte jako podřízený prvek tagu iPhone a určíte seznam názvů modelů zařízení oddělených mezerami.
Seznam platných názvů modelů zařízení naleznete v části „forceCPURenderModeForDevices“ na stránce 221.
Chcete-li například ve starých zařízeních iPod, iPhone a iPad používat režim CPU a pro všechna ostatní zařízení
povolit režim GPU, určete v deskriptoru aplikace následující položky:
...
<renderMode>GPU</renderMode>
...
<iPhone>
...
<forceCPURenderModeForDevices>iPad1,1 iPhone1,1 iPhone1,2 iPod1,1
</forceCPURenderModeForDevices>
</iPhone>
Poslední aktualizace 31.8.2016
82
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Zobrazení s vysokým rozlišením
Element requestedDisplayResolution určuje, zda v zařízeních iOS s obrazovkou s vysokým rozlišením má
aplikace používat režim rozlišení standard nebo high.
<requestedDisplayResolution>high</requestedDisplayResolution>
V režimu rozlišení high lze adresovat každý obrazový bod zobrazení s vysokým rozlišením jednotlivě. Ve režimu
standard se obrazovka zařízení jeví aplikaci jako obrazovka se standardním rozlišením. Nakreslení jednoho
obrazového bodu v tomto režimu nastaví barvu čtyř obrazových bodů na obrazovce s vysokým rozlišením.
Výchozí nastavení je standard. V případě zaměření na zařízení se systémem iOS použijte element
requestedDisplayResolution jako podřízený prvek elementu iPhone (nikoli element InfoAdditions nebo
initialWindow).
Chcete-li v různých zařízeních používat různá nastavení, zadejte požadovanou výchozí hodnotu jako hodnotu
elementu requestedDisplayResolution. Pomocí atributu excludeDevices určete zařízení, která mají používat
opačnou hodnotu. Například při použití následujícího kódu se režim vysokého rozlišení použije u všech zařízení, která
ho podporují, s výjimkou tabletů iPad 3. generace, které používají standardní režim:
<requestedDisplayResolution excludeDevices="iPad3">high</requestedDisplayResolution>
Atribut excludeDevices je k dispozici v prostředí AIR 3.6 a novějších.
Další témata Nápovědy
„requestedDisplayResolution“ na stránce 233
Renaun Erickson: Developing for both retina and non-retina iOS screens using AIR 2.6 (Vývoj pro obrazovky Retina
i pro jiné obrazovky systému iOS pomocí prostředí AIR 2.6)
Vlastní schémata identifikátoru URI v systému iOS
Registrací vlastních schémat identifikátoru URI můžete povolit, aby aplikaci mohl vyvolat odkaz na webové stránce
nebo jiná, nativní aplikace v daném zařízení. Chcete-li zaregistrovat schéma identifikátoru URI, přidejte do elementu
InfoAdditions klíč CFBundleURLTypes. Následující příklad zaregistruje schéma identifikátoru URI s názvem
com.example.app, které povoluje, aby aplikaci mohly vyvolat adresy URL ve tvaru: example://foo.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>example</string>
</array>
<key>CFBundleURLName</key>
<string>com.example.app</string>
</dict>
</array>
Je-li prostřednictvím vlastního identifikátoru URI vyvolána daná aplikace, objekt NativeApplication odešle událost
invoke. Adresa URL odkazu, včetně parametrů dotazu, je umístěna v poli arguments objektu InvokeEvent. Můžete
použít libovolný počet vlastních schémat identifikátoru URI.
Poznámka: Odkazy v instanci StageWebView nelze otevřít adresy URL, které používají vlastní schéma identifikátoru URI.
Poznámka: Pokud již schéma zaregistrovala jiná aplikace, nemůže ji vaše aplikace nahradit jako aplikaci registrovanou
pro dané schéma identifikátoru URI.
Poslední aktualizace 31.8.2016
83
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Filtrování kompatibility zařízení iOS
Má-li být vaše aplikace používána pouze v zařízeních s určitými hardwarovými nebo softwarovými funkcemi, přidejte
položky do pole UIRequiredDeviceCapabilities v elementu InfoAdditions. Následující položka například označuje,
že aplikace vyžaduje fotoaparát a mikrofon:
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>microphone</string>
<string>still-camera</string>
</array>
Pokud zařízení nemá odpovídající funkce, nelze aplikaci nainstalovat. Mezi nastavení funkcí, jež se týkají aplikací AIR,
patří:
telephony
camera-flash
wifi
video-camera
sms
accelerometer
still-camera
location-services
auto-focus-camera
gps
front-facing-camera
microphone
V prostředí AIR 2 6+ jsou do seznamu požadovaných možností automaticky přidány položky armv7 a opengles-2.
Poznámka: Tyto funkce není nutné zahrnout do deskriptoru aplikace, aby je vaše aplikace používala. Nastavení
UIRequiredDeviceCapabilities použijte pouze v případě, že chcete zabránit uživatelům v instalaci vaší aplikace do
zařízení, ve kterých nemůže fungovat správně.
Ukončení místo pozastavení
Jestliže uživatel přepne mimo aplikaci AIR, přejde tato aplikace na pozadí a dojde k jejímu pozastavení. Pokud chcete
aplikaci místo pozastavení zcela ukončit, nastavte vlastnost UIApplicationExitsOnSuspend na hodnotu YES:
<key>UIApplicationExitsOnSuspend</key>
<true/>
Minimalizace velikosti stahovaného obsahu načítáním externích souborů SWF obsahujících
pouze datové zdroje
AIR 3.7
Počáteční velikost stahované aplikace je možné minimalizovat zabalením podmnožiny souborů SWF, které tato
aplikace používá, a načtením zbývajících externích souborů SWF (obsahujících pouze datové zdroje) za běhu pomocí
metody Loader.load(). Abyste mohli tuto funkci použít, musíte aplikaci zabalit tak, aby nástroj ADT přesunul
všechen kód ABC (ActionScript ByteCode) z externě načtených souborů SWF do hlavního souboru SWF aplikace a
ponechal soubor SWF, který obsahuje pouze datové zdroje. Účelem tohoto postupu je vyhovět pravidlu obchodu
Apple Store, které zakazuje stahování jakéhokoli kódu po instalaci aplikace.
Nástroj ADT podporuje externě načítané soubory SWF (označované také jako ořezané soubory SWF) těmito úkony:
• Přečte textový soubor určený v podelementu <externalSwfs> elementu <iPhone>, aby získal přístup k seznamu
souborů SWF oddělených řádky, které se mají načíst v době provádění:
Poslední aktualizace 31.8.2016
84
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
<iPhone>
...
<externalSwfs>FilewithPathsOfSWFsThatAreToNotToBePackaged.txt</externalSwfs>
</iPhone>
• Přenese kód ABC z jednotlivých externě načtených souborů SWF do hlavního spustitelného souboru.
• Vynechá externě načtené soubory SWF ze souboru IPA.
• Zkopíruje ořezané soubory SWF do adresáře .remoteStrippedSWFs. Tyto soubory SWF budete hostovat na
webovém serveru a vaše aplikace je podle potřeby načte za běhu.
Soubory SWF, které se mají načíst za běhu, určíte zadáním jejich názvů na samostatné řádky v textovém souboru, jak
znázorňuje následující příklad:
assets/Level1/Level1.swf
assets/Level2/Level2.swf
assets/Level3/Level3.swf
assets/Level4/Level4.swf
Určená cesta souboru je relativní vzhledem k souboru deskriptoru aplikace. Dále je nutné tyto soubory SWF zadat jako
datové zdroje do příkazu adt.
Poznámka: Tato funkce je vhodná pouze pro standardní balení. V případě rychlého balení (využívajícího například
překladač, simulátor nebo ladění) nástroj ADT nevytváří ořezané soubory SWF.
Další informace o této funkci včetně vzorového kódu naleznete v příspěvku blogu External hosting of secondary
SWFs for AIR apps on iOS (Externí hostování sekundárních souborů SWF pro aplikace AIR v systému iOS)
inženýra společnosti Adobe Abhinava Dhandha.
Podpora geolokace
Chcete-li, aby aplikace podporovala geolokaci, přidejte do prvku InfoAdditions tyto dvojice klíč-hodnota:
<InfoAdditions>
<![CDATA[
<key>NSLocationAlwaysUsageDescription</key>
<string>Sample description to allow geolocation always</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Sample description to allow geolocation when application is in
foreground</string>
]]>
</InfoAdditions>
Ikony aplikace
Následující tabulka obsahuje seznam velikostí ikon na každé mobilní platformě:
Velikost ikony
Platforma
29 x 29
iOS
36 x 36
Android
40 x 40
iOS
48 x 48
Android, iOS
50 x 50
iOS
57 x 57
iOS
Poslední aktualizace 31.8.2016
85
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Velikost ikony
Platforma
58 x 58
iOS
60 x 60
iOS
72 x 72
Android, iOS
75 x 75
iOS
76 x 76
iOS
80 x 80
iOS
87 x 87
iOS
96 x 96
Android
100x100
iOS
114x114
iOS
120 x 120
iOS
144x144
Android, iOS
152 x 152
iOS
167 × 167
iOS
180 x 180
iOS
192 x 192
Android
512 x 512
Android, iOS
1 024x1 024
iOS
Cestu k souborům ikon určete v elementu icon v souboru deskriptoru aplikace:
<icon>
<image36x36>assets/icon36.png</image36x36>
<image48x48>assets/icon48.png</image48x48>
<image72x72>assets/icon72.png</image72x72>
</icon>
Pokud nezadáte ikonu dané velikosti, použije se nejbližší větší velikost a rozměry přizpůsobí.
Ikony v systému Android
V systému Android se ikony zadané v deskriptoru aplikace používají jako spouštěcí ikona aplikace. Ikona spouštěcího
programu aplikace by měla být dodána jako sada obrázků PNG o rozměrech 36 x 36, 48 x 48, 72 x 72, 96 x 96,
144 x 144 a 192 x 192 obrazových bodů. Tyto velikosti ikon se používají pro obrazovky s nízkou hustotou, střední
hustotou a vysokou hustotou (v uvedeném pořadí).
Vývojáři by při odeslání aplikace do obchodu Google Play měli použít ikonu o rozměrech 512 x 512 obrazových bodů.
Ikony v systému iOS
Ikony definované v deskriptoru aplikace se používají v následujících umístěních pro aplikaci iOS:
• Ikona 29x29 obrazových bodů – Ikona hledání Spotlight pro zařízení iPhone/iPad s nižším rozlišením a ikona
nastavení pro zařízení iPad s nižším rozlišením
• Ikona 40x40 obrazových bodů – Ikona hledání Spotlight pro zařízení iPad s nižším rozlišením
Poslední aktualizace 31.8.2016
86
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
• Ikona 48x48 obrazových bodů – Prostředí AIR přidá k tomuto obrazu okraj a použije ho jako ikonu o velikosti
50x50 pro hledání Spotlight pro zařízení iPad s nižším rozlišením.
• Ikona 50x50 obrazových bodů – Hledání Spotlight pro zařízení iPad s nižším rozlišením
• Ikona 57x57 obrazových bodů – Ikona aplikací pro zařízení iPhone/iPod s nižším rozlišením
• Ikona 58x58 obrazových bodů – Ikona hledání Spotlight pro displeje Retina zařízení iPhone/iPod a ikona nastavení
pro zařízení iPad s displeji Retina
• Ikona 60x60 obrazových bodů – Ikona aplikací pro zařízení iPhone/iPod s nižším rozlišením
• Ikona 72x72 obrazových bodů (volitelná) – Ikona aplikací pro zařízení iPad s nižším rozlišením
• Ikona 76x76 obrazových bodů (volitelná) – Ikona aplikací pro zařízení iPad s nižším rozlišením
• Ikona 80x80 obrazových bodů – Hledání Spotlight pro zařízení iPhone/iPod/iPad s vysokým rozlišením
• Ikona 100x100 obrazových bodů – Hledání Spotlight pro displeje Retina zařízení iPad
• Ikona 114x114 obrazových bodů – Ikona aplikací pro displeje Retina zařízení iPhone/iPod
• Ikona 114x114 obrazových bodů – Ikona aplikací pro displeje Retina zařízení iPhone/iPod
• Ikona 120x120 obrazových bodů – Ikona aplikací pro zařízení iPhone/iPod s vysokým rozlišením
• Ikona 152x152 obrazových bodů – Ikona aplikací pro zařízení iPad s vysokým rozlišením
• Ikona 167x167 obrazových bodů – Ikona aplikací pro zařízení iPad Pro s vysokým rozlišením
• Ikona 512x-512 obrazových bodů – Ikona aplikací pro zařízení iPhone/iPod/iPad s nižším rozlišením. Tuto ikonu
zobrazuje služba iTunes. Tento soubor PNG s 512 obrazovými body slouží pouze k testování vývojových verzí vaší
aplikace. Když odešlete konečnou aplikaci do obchodu Apple App Store, odešlete obraz 512 samostatně jako soubor
JPG, který není obsažen v souboru IPA.
• Ikona 1 024x1 024 obrazových bodů – Ikona aplikací pro displeje Retina zařízení iPhone/iPod/iPad
Systém iOS na ikonu přidá efekt lesku. U zdrojového obrazu není nutné tento efekt použít. Chcete-li tento výchozí
efekt lesku odstranit, přidejte v souboru deskriptoru aplikace do elementu InfoAdditions následující výraz:
<InfoAdditions>
<![CDATA[
<key>UIPrerenderedIcon</key>
<true/>
]]>
</InfoAdditions>
Poznámka: V systému iOS jsou metadata aplikací vkládána do ikon aplikací jako metadata PNG, aby mohla společnost
Adobe sledovat počet aplikací AIR, které jsou k dispozici v obchodě s aplikacemi pro systém Apple iOS. Pokud nechcete,
aby vaše aplikace byla na základě těchto metadat ikony identifikována jako aplikace AIR, musíte rozbalit soubor IPA,
odstranit metadata ikony a soubor znovu zabalit. Tento postup je popsán v článku Odhlášení z analytiky aplikací AIR
pro systém iOS
Další témata Nápovědy
„icon“ na stránce 222
„imageNxN“ na stránce 223
Vývojáři systému Android: Pokyny pro návrh ikon
Pokyny pro lidské rozhraní systému iOS: Pokyny pro vytváření vlastních ikon a obrazů
Poslední aktualizace 31.8.2016
87
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Spouštěcí obrazy v systému iOS
Kromě ikon aplikace je nutné zadat alespoň jeden spouštěcí obraz s názvem Default.png. Volitelně lze vložit i další
spouštěcí obrazy pro různá nastavení orientace při startu, různá rozlišení (včetně obrazovky Retina Display s vysokým
rozlišením a poměrem stran 16:9) a různá zařízení. Můžete vložit i další spouštěcí obrazy, které budou použity při
vyvolání aplikace prostřednictvím adresy URL.
Deskriptor aplikace neobsahuje odkazy na soubory se spouštěcími obrazy, ty proto musejí být umístěny v kořenovém
adresáři aplikace. (Tyto soubory neumísťujte do podadresáře.)
Schéma pojmenování souborů
Zadejte název obrazu podle následujícího schématu:
basename + screen size modifier + urischeme + orientation + scale + device + .png
Jedinou požadovanou částí je název souboru (bez přípony). Tento název souboru je buď Default (s velkým D), nebo
název, který zadáte pomocí klíče UILaunchImageFile v elementu InfoAdditions v deskriptoru aplikace.
Část modifikátor velikosti obrazovky určuje velikost obrazovky, pokud se nejedná o jednu ze standardních velikostí.
Tento modifikátor se týká pouze modelů iPhone a iPod touch s obrazovkou s poměrem stran 16:9, jako např. iPhone
5 nebo iPod touch 5. generace. Jediná přípustná hodnota tohoto modifikátoru je -568h. Jelikož tato zařízení podporují
displeje s vysokým rozlišením (Retina), používá se modifikátor velikosti obrazovky u všech obrazů, které obsahují i
modifikátor měřítka @2x. Úplný výchozí název spouštěcího obrazu pro tato zařízení je [email protected].
Část urischeme je řetězec, který slouží k identifikaci schématu URI. Tuto část použijete pouze tehdy, pokud vaše
aplikace podporuje jedno nebo více vlastních schémat URL. Pokud lze například aplikaci vyvolat pomocí odkazu, jako
je example://foo, použijte jako část schématu v názvu souboru se spouštěcím obrazem řetězec -example.
Část orientace umožňuje zadat více spouštěcích obrazů, které budou použity při spuštění aplikace podle orientace
zařízení. Tato část se týká pouze obrazů pro aplikace zařízení iPad. Může mít některou z následujících hodnot, která
se vztahuje k orientaci zařízení při spuštění aplikace:
• -Portrait
• -PortraitUpsideDown
• -Landscape
• -LandscapeLeft
• -LandscapeRight
Část scale má pro spouštěcí obrazy používané na displejích s vysokým rozlišením (Retina) hodnotu @2x (pro iPhone
4, iPhone 5 a iPhone 6) nebo @3x (pro iPhone 6 plus). (U obrazů používaných pro zobrazení se standardním rozlišením
část scale úplně vynechejte.) U spouštěcích obrazů pro větší zařízení, jako je iPhone 5 nebo iPod touch 5. generace, je
třeba zadat také modifikátor velikosti obrazovky -528h hned za základním názvem a před jakýmikoli dalšími částmi.
Část zařízení slouží k označení spouštěcích obrazů pro ruční zařízení a telefony. Tato část se používá, pokud je vaše
aplikace univerzální a podporuje jak ruční zařízení, tak tablety, přičemž používá jen jedna binární data. Přípustná
hodnota je ~ipad nebo ~iphone (týká se jak zařízení iPhone, tak iPod Touch).
Pro zařízení iPhone lze zahrnout pouze obrazy s poměrem stran s orientací na výšku. V případě zařízení iPhone 6 plus
však také lze zahrnout obrazy s orientací na šířku. Pro zařízení se standardním rozlišením použijte obrazy 320 x 480
obrazových bodů, pro zařízení s vysokým rozlišením obrazy 640 x 960 obrazových bodů a pro zařízení s poměrem
stran 16:9 (jako např. iPhone 5 nebo iPod touch 5. generace) obrazy 640 x 1 136 obrazových bodů.
Poslední aktualizace 31.8.2016
88
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
V případě zařízení iPad vložte obrazy takto:
• AIR 3.3 a starší – obrazy na část obrazovky: můžete zahrnout obrazy s poměrem stran na šířku (1 024 x 748 pro
normální rozlišení, 2 048 x 1 496 pro vysoké rozlišení) i na výšku (768 x 1 004 pro normální rozlišení, 1 536 x 2 008
pro vysoké rozlišení).
• AIR 3.4 a novější – obrazy na celou obrazovku: můžete zahrnout obrazy s poměrem stran na šířku (1 024 x 768 pro
normální rozlišení, 2 048 x 1 536 pro vysoké rozlišení) i na výšku (768 x 1 024 pro normální rozlišení, 1 536 x 2 048
pro vysoké rozlišení). Pokud obraz přes celou obrazovku upravíte pro aplikaci, která využívá jen část obrazovky,
bude horních 20 obrazových bodů (horních 40 obrazových bodů při vysokém rozlišení) zakryto stavovým řádkem.
V této oblasti nezobrazujte důležité informace.
Příklady
Následující tabulka uvádí příklady spouštěcích obrazů, které byste mohli zahrnout pro hypotetickou aplikaci, jež
podporuje nejširší možný rozsah zařízení a orientací a již lze spustit prostřednictvím adres URL používajících schéma
example://:
Název souboru
Velikost obrazu
Použití
Default.png
320 x 480
iPhone, standardní rozlišení
[email protected]
640 x 960
iPhone, vysoké rozlišení
[email protected]
640 x 1 136
iPhone, vysoké rozlišení, poměr stran 16:9
Default-Portrait.png
768 x 1 004 (AIR 3.3 a
starší)
iPad, orientace na výšku
768 x 1 024 (AIR 3.4 a vyšší)
[email protected]
1 536 x 2 008 (AIR 3.3 a
starší)
iPad, vysoké rozlišení, orientace na výšku
1 536 x 2 048 (AIR 3.4 a
vyšší)
Default-PortraitUpsideDown.png
768 x 1 004 (AIR 3.3 a
iPad, převrácená orientace na výšku
starší)768 x 1 024 (AIR 3.4 a
vyšší)
[email protected]
1 536 x 2 008 (AIR 3.3 a
iPad, vysoké rozlišení, orientace na výšku
starší)1 536 x 2 048 (AIR 3.4 (převráceně)
a vyšší)
Default-Landscape.png
1 024 x 768
iPad, orientace na šířku, doleva
[email protected]
2 048 x 1 536
iPad, vysoké rozlišení, orientace na šířku
(vlevo)
Default-LandscapeRight.png
1 024 x 768
iPad, orientace na šířku, doprava
[email protected]
2 048 x 1 536
iPad, vysoké rozlišení, orientace na šířku
(vpravo)
Default-example.png
320 x 480
URL example:// v zařízení iPhone se
standardním rozlišením
Poslední aktualizace 31.8.2016
89
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Název souboru
Velikost obrazu
Použití
[email protected]
640 x 960
URL example:// v zařízení iPhone s vysokým
rozlišením
Default-example~ipad.png
768 x 1 004
URL example:// v zařízení iPad s orientací na
výšku
Default-example-Landscape.png
1 024 x 768
URL example:// v zařízení iPad s orientací na
šířku
Tento příklad ukazuje pouze jeden přístup. Mohli byste například použít obraz Default.png pro zařízení iPad a určit
konkrétní spouštěcí obrazy pro zařízení iPhone a iPod s obrazy Default~iphone.pnga Default@2x~iphone.png.
Viz také
Průvodce programováním aplikací systému iOS: Spouštěcí obrazy aplikace
Spouštěcí obrazy k přidání do balíčku pro zařízení se systémem iOS
Zařízení
Resolution (obrazové body)
Název spouštěcího obrazu
Orientace
iPhone 4 (bez
640 x 960
displeje Retina)
Default~iphone.png
Na výšku
iPhone 4, 4s
Default@2x~iphone.png
Na výšku
iPhone 5, 5c, 5s 640 x 1 136
Default-568h@2x~iphone.png
Na výšku
iPhone 6
750 x 1334
Default-375w-667h@2x~iphone.png
Na výšku
iPhone 6+
1242 x 2208
Default-414w-736h@3x~iphone.png
Na výšku
iPhone 6+
2208 x 1242
Default-Landscape-414w736h@3x~iphone.png
Na šířku
iPad 1, 2
768 x 1 024
Default-Portrait~ipad.png
Na výšku
iPad 1, 2
768 x 1 024
Default-PortraitUpsideDown~ipad.png
Převrácená orientace na výšku
iPad 1, 2
1 024 x 768
Default-Landscape~ipad.png
Vlevo na šířku
iPad 1, 2
1 024 x 768
Default-LandscapeRight~ipad.png
Vpravo na šířku
iPad 3, Air
1 536 x 2 048
Default-Portrait@2x~ipad.png
Na výšku
iPad 3, Air
1 536 x 2 048
DefaultPortraitUpsideDown@2x~ipad.png
Převrácená orientace na výšku
iPad 3, Air
2 048 x 1 536
Default-LandscapeLeft@2x~ipad.png
Vlevo na šířku
iPad 3, Air
2 048 x 1 536
Default-LandscapeRight@2x~ipad.png
Vpravo na šířku
iPad Pro
2048 x 2732
Default-Portrait@2x~ipad.png
Na výšku
iPad Pro
2732 x 2048
Default-Landscapet@2x~ipad.png
Na šířku
Zařízení iPhone
640 x 960
Zařízení iPad
Poslední aktualizace 31.8.2016
90
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Pravidla obrazů
Pro spouštěcí obraz můžete vytvořit libovolnou grafiku se správnými rozměry. Často bývá ale nejlepší, pokud obraz
odpovídá počátečnímu stavu aplikace. Takový spouštěcí obraz můžete vytvořit pořízením snímku spouštěcí obrazovky
dané aplikace:
1
Otevřete aplikaci v zařízení iOS. Až bude zobrazena první obrazovka uživatelského rozhraní, stiskněte a podržte
tlačítko Home (Domů) pod obrazovkou. Stále držte tlačítko Home (Domů) a stiskněte v horní části zařízení tlačítko
Power/Sleep (Napájení/režim spánku). Tímto postupem pořídíte snímek obrazovky a odešlete jej do složky Camera
Roll.
2 Obraz převeďte do vývojového počítače. Použijte k tomu převod fotografií z aplikace iPhoto nebo jiné aplikace
umožňující převod fotografií.
Jestliže je aplikace lokalizována do více jazyků, nezahrnujte do spouštěcího obrazu text. Spouštěcí obraz je statický a
text by neodpovídal ostatním jazykům.
Viz také
iOS Pokyny lidského rozhraní: Spouštěcí obrazy
Ignorovaná nastavení
Aplikace v mobilních zařízeních ignorují nastavení aplikace, která se vztahují k nativním oknům nebo operačnímu
systému stolního počítače. Ignorována nastavení zahrnují:
• allowBrowserInvocation
• customUpdateUI
• fileTypes
• height
• installFolder
• maximizable
• maxSize
• minimizable
• minSize
• programMenuFolder
• resizable
• systemChrome
• title
• transparent
• visible
• width
• x
• y
Poslední aktualizace 31.8.2016
91
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Zabalení mobilní aplikace AIR
Balíček aplikace AIR určené pro mobilní zařízení vytvořte pomocí příkazu -package nástroje ADT. Parametr -target
určuje mobilní platformu, pro kterou se balíček vytváří.
Balíčky pro systém Android
Aplikace AIR v systému Android používá formát balíčku aplikace Android (APK), nikoli formát balíčku AIR.
Balíčky vytvořené nástrojem ADT s použitím cílového typu APK jsou ve formátu, který lze odeslat na web Android
Market. Na webu Android Market platí určité požadavky, které musí být splněny, aby odeslané aplikace byly přijaty.
Před vytvořením konečného balíčku byste si měli projít nejnovější požadavky. Viz Vývojáři systému Android:
Publikování na webu Market.
Na rozdíl od aplikací iOS můžete k podepsání aplikace použít normální certifikát pro podepisování kódu AIR. Pokud
však chcete aplikaci odeslat na web Android Market, musí certifikát odpovídat pravidlům tohoto webu, která vyžadují,
aby byl platný alespoň do roku 2033. Takový certifikát můžete vytvořit pomocí příkazu -certificate nástroje ADT.
Chcete-li aplikaci odeslat na alternativní tržiště, které neumožňuje aplikaci vyžadovat stažení běhového prostředí AIR
z tržiště společnosti Google, zadejte alternativní adresu URL pro stažení pomocí parametru -airDownloadURL
nástroje ADT. Pokud vaši aplikaci spustí uživatel, který nemá požadovanou verzi běhového prostředí AIR, bude
přesměrován na zadanou adresu URL. Další informace naleznete v tématu „Příkaz package nástroje ADT“ na
stránce 164.
Ve výchozím nastavení program ADT zabalí aplikaci pro systém Android se sdíleným běhovým modulem. Aby
uživatel mohl aplikaci spustit, musí do zařízení nainstalovat samostatný běhový modul AIR.
Poznámka: Chcete-li u programu ADT vynutít, aby použil vázaný běhový modul, použijte cíl target apk-captiveruntime.
Balíčky pro systém iOS
Aplikace AIR pro systém iOS používají formát balíčku iOS (IPA), nikoli nativní formát AIR.
Balíčky vytvořené nástrojem ADT s použitím cílového typu ipa-app-store a se správným certifikátem pro podepisování
kódu a prováděcím profilem jsou ve formátu, který lze odeslat do obchodu Apple App Store. Chcete-li aplikaci zabalit
pro distribuci ad hoc, použijte cílový typ ipa-ad-hoc.
K podepsání aplikace je nutné použít správný vývojářský certifikát vydaný společností Apple. Pro vytváření
zkušebních verzí se používají jiné certifikáty než ke konečnému zabalení před odesláním aplikace.
Příklad vytvoření balíku aplikace systému iOS pomocí skriptu ANT viz Piotr Walczyszyn: Packaging AIR application
for iOS devices with ADT command and ANT script (Zabalení aplikace AIR pro zařízení se systémem iOS pomocí
příkazu ADT a skriptu ANT)
Zabalení pomocí nástroje ADT
Sada AIR SDK verze 2.6 a novější podporuje zabalení pro systémy iOS i Android. Před zabalením musí být
zkompilován veškerý kód ActionScript a MXML a případných rozšíření. Musíte také mít certifikát pro podepsání
kódu.
Podrobné informace o příkazech a možnostech nástroje ADT naleznete v části věnované „AIR Developer Tool (ADT)“
na stránce 163.
Poslední aktualizace 31.8.2016
92
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Balíčky APK pro systém Android
Vytvoření balíčku APK
Chcete-li vytvořit balíček APK, použijte příkaz package nástroje ADT, přičemž cílový typ nastavte na hodnotu apk u
verzí k vydání, na hodnotu apk-debug u verzí k ladění nebo na hodnotu apk-emulator u verzí v režimu k vydání, které
se mají spouštět v emulátoru.
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Zadejte celý příkaz na jediný řádek; výše uvedený příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení. V
příkladu se také předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku.
(Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 301.)
Příkaz je nutné spustit z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myAppapp.xml (soubor deskriptoru aplikace), myApp.swf a adresář icons.
Při spuštění příkazu, jak je uveden, vás nástroj ADT vyzve k zadání hesla pro úložiště klíčů. (Vámi zadávané znaky
hesla se nezobrazují; po jeho zadání jednoduše stiskněte klávesu Enter.)
Poznámka: Ve výchozím nastavení mají všechny aplikace AIR pro systém Android v názvu balíčku předponu air.
Chcete-li toto výchozí chování vypnout, nastavte v počítači proměnnou prostředí AIR_NOANDROIDFLAIR na true.
Vytvoření balíčku APK pro aplikaci, která používá nativní rozšíření
Chcete-li vytvořit balíček APK pro aplikaci, která používá nativní rozšíření, přidejte kromě normálních voleb balení
také volbu -extdir. V případě více souborů ANE, které sdílejí prostředky/knihovny, ADT před generováním
upozornění vybere jen jeden prostředek / jednu knihovnu a ostatní duplicitní položky ignoruje. Tato volba určuje
adresář, který obsahuje soubory ANE, jež aplikace používá. Například:
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
-extdir extensionsDir
myApp.swf icons
Vytvoření balíčku APK, který obsahuje svou vlastní verzi běhového modulu prostředí AIR
Chcete-li vytvořit balíček APK, který obsahuje aplikaci i vázanou verzi běhového modulu prostředí AIR, použijte cíl
apk-captive-runtime. Tato volba určuje adresář, který obsahuje soubory ANE, jež aplikace používá. Například:
adt -package
-target apk-captive-runtime
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Možné nevýhody této techniky:
• uživatelé nebudou mít automaticky dostupné důležité opravy zabezpečení, když společnost Adobe zveřejní opravu
zabezpečení;
Poslední aktualizace 31.8.2016
93
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
• aplikace zabírá více paměti RAM.
Poznámka: Když přibalíte běhový modul, přidá nástroj ADT do aplikace oprávnění INTERNET a BROADCAST_STICKY.
Tato oprávnění vyžaduje běhový modul prostředí AIR.
Vytvoření balíčku nástroje APK pro ladění
Chcete-li vytvořit verzi aplikace, kterou lze použít s ladicím programem, použijte jako cíl hodnotu apk-debug a zadejte
možnosti připojení:
adt -package
-target apk-debug
-connect 192.168.43.45
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Příznak -connect instruuje běhový modul AIR v zařízení, kde v síti se má připojit ke vzdálenému ladicímu programu.
Chcete-li ladění provést přes port USB, je nutné místo výše uvedeného příznaku zadat příznak -listen s uvedením
portu TCP pro připojení k ladicímu programu:
adt -package
-target apk-debug
-listen 7936
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Většina funkcí ladění rovněž vyžaduje, aby soubory SWF a SWC aplikace byly kompilovány s povoleným laděním.
Nahlédněte do tématu „Možnosti připojení debuggeru“ na stránce 180, kde naleznete úplný popis příznaků -connect
a -listen.
Poznámka: Ve výchozím nastavení ADT při balení aplikace s cílem apk-debug zabalí s aplikací pro systém Android
kaptivní kopii běhového modulu AIR. Pokud nechcete, aby nástroj ADT vytvořil balíček APK, který používá externí
běhový modul, nastavte proměnnou prostředí AIR_ANDROID_SHARED_RUNTIME na hodnotu true.
V systému Android musí také aplikace mít oprávnění pro přístup k Internetu, aby se mohla v síti připojit k počítači,
ve kterém je spuštěn ladicí program. Viz „Oprávnění systému Android“ na stránce 74.
Vytvoření balíčku APK k použití v emulátoru systému Android
V emulátoru systému Android můžete použít balíček APK pro ladění, ale nikoli balíček v režimu k vydání. Chcete-li
vytvořit balíček APK v režimu k vydání pro použití v emulátoru, použijte příkaz package nástroje ADT, přičemž cílový
typ nastavte na hodnotu apk-emulator:
adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myAppapp.xml myApp.swf icons
V příkladu se předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku.
(Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 301.)
Vytvoření balíčku APK ze souboru AIR nebo AIRI
Balíček APK můžete vytvořit přímo z existujícího souboru AIR nebo AIRI:
adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air
Soubor AIR musí v souboru deskriptoru aplikace používat obor názvů AIR 2.5 (nebo novější).
Poslední aktualizace 31.8.2016
94
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Vytvoření balíčku APK pro platformu Android x86
Od verze AIR 14 lze pomocí argumentu -arch zabalit balíček APK pro platformu Android x86. Příklad:
adt
-package
-target apk-debug
-listen 7936
-arch x86
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Balíčky pro systém iOS
V systému iOS převede nástroj ADT bajtový kód souboru SWF a další zdrojové soubory na nativní aplikaci iOS.
1 Soubor SWF vytvořte pomocí aplikace Flash Builder, Flash Professional nebo kompilátoru příkazového řádku.
2 Otevřete příkazové prostředí nebo terminál a přejděte v aplikaci pro zařízení iPhone do složky projektu.
3 Pak pomocí nástroje ADT vytvořte soubor IPA s použitím následující syntaxe:
adt -package
-target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc |
ipa-debug-interpreter | ipa-debug-interpreter-simulator
ipa-test-interpreter | ipa-test-interpreter-simulator]
-provisioning-profile PROFILE_PATH
SIGNING_OPTIONS
TARGET_IPA_FILE
APP_DESCRIPTOR
SOURCE_FILES
-extdir extension-directory
-platformsdk path-to-iossdk or path-to-ios-simulator-sdk
Změňte odkaz adt tak, aby obsahoval úplnou cestu k aplikaci adt. Aplikace adt se nainstaluje do podadresáře bin
sady AIR SDK.
Vyberte volbu -target odpovídající typu aplikace pro zařízení iPhone, kterou chcete vytvořit:
•
-target ipa-test – tuto volbu vyberte, chcete-li za účelem testování v zařízení iPhone vývojáře rychle
zkompilovat verzi aplikace. Můžete také použít balíček ipa-test-interpreter pro ještě rychlejší kompilaci
nebo ipa-test-interpreter-simulator pro spouštění v simulátoru systému iOS.
•
-target ipa-debug – tuto volbu vyberte, chcete-li za účelem testování v zařízení iPhone vývojáře zkompilovat
ladicí verzi aplikace. Pomocí této volby můžete k přijetí výstupu metody trace() z aplikace pro zařízení iPhone
použít relaci ladění.
Zahrnutím jedné z následujících voleb -connect (CONNECT_OPTIONS) lze určit IP adresu vývojového počítače,
v němž je spuštěn ladicí program:
•
-connect – aplikace se pomocí wifi pokusí připojit k relaci ladění ve vývojovém počítači použitém ke
kompilaci aplikace.
•
-connect IP_ADDRESS – aplikace se pomocí wifi pokusí připojit k relaci ladění v počítači s určenou IP
adresou. Například:
-target ipa-debug -connect 192.0.32.10
•
-connect HOST_NAME – Aplikace se pomocí wifi pokusí připojit k relaci ladění v počítači s určeným názvem
hostitele. Například:
-target ipa-debug -connect bobroberts-mac.example.com
Poslední aktualizace 31.8.2016
95
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Volba -connect je volitelná. Pokud není určena, výsledná ladicí aplikace se nepokusí o připojení
k hostovanému ladicímu programu. Také můžete určením volby -listen namísto -connect povolit ladění
USB popsané v části „Vzdálené ladění pomocí nástroje FDB přes port USB“ na stránce 103.
Jestliže pokus o navázání připojení za účelem ladění selže, aplikace zobrazí dialog s výzvou k zadání IP adresy
hostitelského počítače ladicího programu. Pokus o navázání připojení může selhat, pokud zařízení není
připojeno k síti WiFi. Také to může nastat v případě, že zařízení je připojeno, ale ne za bránou firewall
hostitelského počítače ladicího programu.
Můžete také použít balíček ipa-debug-interpreter pro rychlejší kompilaci nebo ipa-debug-interpretersimulator pro spouštění v simulátoru systému iOS.
Další informace naleznete v části „Ladění mobilní aplikace AIR“ na stránce 97.
•
-target ipa-ad-hoc – Tuto volbu vyberte, chcete-li vytvořit aplikaci pro ad hoc nasazení. Další informace
naleznete v části týkající se centra pro vývojáře zařízení iPhone společnosti Apple.
•
-target ipa-app-store – Tuto volbu vyberte, chcete-li vytvořit konečnou verzi souboru IPA k nasazení
aplikace do obchodu Apple App Store.
Výraz PROFILE_PATH nahraďte cestou k souboru prováděcího profilu vaší aplikace. Další informace o prováděcích
profilech naleznete v části „Nastavení systému iOS“ na stránce 64.
Pomocí volby -platformsdk můžete odkazovat na sadu SDK simulátoru iOS, když vytváříte sestavení ke spuštění
aplikace v simulátoru iOS.
Výraz SIGNING_OPTIONS nahraďte tak, aby odkazoval na váš certifikát a heslo pro vývojáře pro zařízení iPhone.
Použijte následující syntaxi:
-storetype pkcs12 -keystore P12_FILE_PATH -storepass PASSWORD
Nahraďte výraz P12_FILE_PATH cestou k souboru certifikátu P12. Výraz PASSWORD nahraďte heslem
certifikátu. (Viz následující příklad.) Další informace o souboru certifikátu P12 naleznete v části „Převod certifikátu
pro vývojáře do souboru úložiště klíčů P12“ na stránce 195.
Poznámka: Při balení pro simulátor iOS můžete použít certifikát s vlastním podpisem.
Výraz APP_DESCRIPTOR nahraďte tak, aby odkazoval na soubor deskriptoru aplikace.
Výraz SOURCE_FILES nahraďte tak, aby odkazoval na hlavní soubor SWF projektu. Po něm mohou následovat
jakékoli další zahrnuté datové zdroje. Uveďte cesty ke všem souborům ikon, které jste definovali v aplikaci Flash
Professional v dialogovém okně nastavení aplikace a ve vlastním souboru deskriptoru aplikace. Také přidejte
grafický soubor úvodní obrazovky Default.png.
Pomocí možnosti-extdir extension-directory můžete určit adresář obsahující soubory ANE (nativní
rozšíření), které bude aplikace používat. Jestliže aplikace nepoužívá žádná nativní rozšíření, tuto možnost
nezahrnujte.
Důležité: V adresáři aplikace nevytvářejte podadresář s názvem Resources. Běhový modul automaticky vytvoří
složku s tímto názvem, aby bylo možné vyhovět struktuře balíčku IPA. Vytvoření vaší vlastní složky Resources by vedlo
k závažnému konfliktu.
Vytvoření balíčku iOS pro ladění
Chcete-li vytvořit balíček iOS pro instalaci na zkušební zařízení, použijte příkaz package nástroje ADT, přičemž cílový
typ nastavte na hodnotu ios-debug. Ještě před spuštěním tohoto příkazu musíte získat certifikát pro podepisování
vývojářského kódu a prováděcí profil od společnosti Apple.
Poslední aktualizace 31.8.2016
96
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
adt -package
-target ipa-debug
-storetype pkcs12 -keystore ../AppleDevelopment.p12
-provisioning-profile AppleDevelopment.mobileprofile
-connect 192.168.0.12 | -listen
myApp.ipa
myApp-app.xml
myApp.swf icons Default.png
Poznámka: Můžete také použít parametr ipa-debug-interpreter pro rychlejší kompilaci nebo ipa-debuginterpreter-simulator ke spuštění v simulátoru iOS.
Zadejte celý příkaz na jediný řádek; výše uvedený příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení. V
příkladu se také předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku.
(Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 301.)
Příkaz je nutné spustit z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myAppapp.xml (soubor deskriptoru aplikace), myApp.swf, adresář icons a soubor Default.png.
Aplikaci je třeba podepsat pomocí správného distribučního certifikátu vydaného společností Apple; jiné certifikáty pro
podepsání kódu nelze použít.
Volbu -connect použijte k ladění wifi. Aplikace se pokusí zahájit relaci ladění pomocí programu Flash Debugger
(FDB) spuštěného na zadané IP adrese nebo názvu hostitele. Volbu -listen použijte k ladění přes port USB. Při
prvním spuštění aplikace spusťte nástroj FDB, který spustí relaci ladění pro spuštěnou aplikaci. Další informace
naleznete v části „Připojení k ladicímu programu Flash“ na stránce 101.
Vytvoření balíčku iOS pro odeslání do obchodu Apple App Store
Chcete-li vytvořit balíček iOS pro odeslání do obchodu Apple App Store, použijte příkaz package nástroje ADT,
přičemž cílový typ nastavte na hodnotu ios-app-store. Ještě před spuštěním tohoto příkazu musíte získat certifikát pro
podepisování distribučního kódu a prováděcí profil od společnosti Apple.
adt -package
-target ipa-app-store
-storetype pkcs12 -keystore ../AppleDistribution.p12
-provisioning-profile AppleDistribution.mobileprofile
myApp.ipa
myApp-app.xml
myApp.swf icons Default.png
Zadejte celý příkaz na jediný řádek; výše uvedený příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení. V
příkladu se také předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku.
(Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 301.)
Příkaz je nutné spustit z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myAppapp.xml (soubor deskriptoru aplikace), myApp.swf, adresář icons a soubor Default.png.
Aplikaci je třeba podepsat pomocí správného distribučního certifikátu vydaného společností Apple; jiné certifikáty pro
podepsání kódu nelze použít.
Důležité: Společnost Apple vyžaduje, abyste k ukládání aplikací do obchodu App Store používali program Apple
Application Loader. Společnost Apple program Application Loader publikuje pouze pro systém Mac OS X. Ačkoli tedy
můžete aplikaci AIR pro zařízení iPhone vyvinout pomocí počítače se systémem Windows, je třeba mít přístup k počítači
se systémem OS X (verze 10.5.3 nebo novější), abyste ji mohli odeslat do obchodu App Store. Program Application Loader
můžete získat z centra Apple iOS Developer Center.
Poslední aktualizace 31.8.2016
97
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Vytvoření balíčku iOS pro distribuci ad hoc
Chcete-li vytvořit balíček iOS pro distribuci ad hoc, použijte příkaz package nástroje ADT, přičemž cílový typ nastavte
na hodnotu ios-ad-hoc. Ještě před spuštěním tohoto příkazu musíte získat odpovídající certifikát pro podepisování
kódu pro distribuci ad hoc a prováděcí profil od společnosti Apple.
adt -package
-target ipa-ad-hoc
-storetype pkcs12 -keystore ../AppleDistribution.p12
-provisioning-profile AppleDistribution.mobileprofile
myApp.ipa
myApp-app.xml
myApp.swf icons Default.png
Zadejte celý příkaz na jediný řádek; výše uvedený příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení. V
příkladu se také předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku.
(Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 301.)
Příkaz je nutné spustit z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myAppapp.xml (soubor deskriptoru aplikace), myApp.swf, adresář icons a soubor Default.png.
Aplikaci je třeba podepsat pomocí správného distribučního certifikátu vydaného společností Apple; jiné certifikáty pro
podepsání kódu nelze použít.
Vytvoření balíčku systému iOS pro aplikaci, která používá nativní rozšíření
Chcete-li vytvořit balíček systému iOS pro aplikaci, která používá nativní rozšíření, použijte příkaz package nástroje
ADT s možností -extdir. Použijte příkaz ADT pro cíl (ipa-app-store, ipa-debug, ipa-ad-hoc, ipa-test).
Například:
adt -package
-target ipa-ad-hoc
-storetype pkcs12 -keystore ../AppleDistribution.p12
-provisioning-profile AppleDistribution.mobileprofile
myApp.ipa
myApp-app.xml
-extdir extensionsDir
myApp.swf icons Default.png
Zadejte celý příkaz na jediný řádek; výše uvedený příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení.
Co se týče nativních rozšíření, v příkladu se předpokládá, že adresář s názvem extensionsdir je adresář, ve kterém
spustíte příkaz. Adresář extensionsdir obsahuje soubory ANE, které aplikace používá.
Ladění mobilní aplikace AIR
Mobilní aplikaci AIR můžete ladit několika způsoby. Nejjednodušší způsob, jak odhalit problémy s aplikační logikou,
je ladění ve vývojovém počítači pomocí programu ADL nebo simulátoru iOS. Můžete také aplikaci nainstalovat do
zařízení a provést vzdálené ladění pomocí ladicího programu Flash, který je spuštěn ve stolním počítači.
Poslední aktualizace 31.8.2016
98
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Simulace zařízení pomocí programu ADL
Nejrychlejší a nejsnadnější způsob testování a ladění většiny funkcí mobilních aplikací je spuštění aplikace ve
vývojovém počítači pomocí programu ADL (Adobe Debug Launcher). Program ADL určí profil, který má použít, na
základě elementu supportedProfiles v deskriptoru aplikace. Pokud je v seznamu uveden více než jeden profil,
program ADL použije první z nich. Lze také použít parametr -profile programu ADL k výběru jednoho z dalších
profilů v seznamu supportedProfiles. (Pokud do deskriptoru aplikace element supportedProfiles nezahrnete,
lze v argumentu -profile zadat libovolný profil.) Například pomocí následujícího příkazu spustíte aplikaci tak, aby
simulovala profil mobilního zařízení:
adl -profile mobileDevice myApp-app.xml
Při simulaci mobilního profilu ve stolním počítači tímto způsobem se aplikace spustí v prostředí, které lépe odpovídá
cílovému mobilnímu zařízení. Rozhraní API jazyka ActionScript, která nejsou součástí mobilního profilu, nejsou k
dispozici. Program ADL však nerozlišuje mezi možnostmi různých mobilních zařízení. Například můžete do aplikace
odesílat simulovaná stisknutí programovatelných kláves, i když skutečné cílové zařízení programovatelné klávesy
nevyužívá.
Simulaci změn orientace zařízení a vstupu z programovatelných kláves podporuje program ADL prostřednictvím
příkazů nabídky. Spustíte-li program ADL v profilu mobilního zařízení, zobrazí program ADL nabídku (v okně
aplikace nebo na panelu nabídek stolního počítače), která umožňuje zadávat vstup z natočení zařízení nebo
programovatelných kláves.
Vstup z programovatelných kláves
Program ADL simuluje programovatelné klávesy pro tlačítka Zpět, Nabídka a Hledat v mobilním zařízení. Vstup z
těchto kláves můžete do simulovaného zařízení odesílat pomocí nabídky zobrazené při spuštění programu ADL s
použitím mobilního profilu.
Natočení zařízení
Program ADL umožňuje simulovat natočení zařízení prostřednictvím nabídky zobrazené při spuštění programu ADL
s použitím mobilního profilu. Simulované zařízení můžete otočit doprava nebo doleva.
Simulace natočení má vliv pouze na aplikaci, která umožňuje automatickou orientaci. Tuto funkci můžete povolit
nastavením elementu autoOrients v deskriptoru aplikace na hodnotu true.
Velikost obrazovky
Aplikaci lze testovat pro různé velikosti obrazovek nastavením parametru -screensize nástroje ADL. Můžete předat
kód představující jeden z předdefinovaných typů obrazovky nebo řetězec obsahující čtyři hodnoty, které představují
rozměry normální a maximalizované obrazovky v pixelech.
Zadané rozměry v pixelech se vždy týkají rozvržení na výšku, tzn. že šířka je menší než výška. Například následující
příkaz otevře program ADL tak, že bude simulovat obrazovku používanou v zařízení Motorola Droid:
adl -screensize 480x816:480x854 myApp-app.xml
Seznam předdefinovaných typů obrazovky naleznete v části „Použití nástroje ADL“ na stránce 157.
Omezení
V programu ADL nelze simulovat některá rozhraní API, která nejsou podporována v profilu stolního počítače. Mezi
rozhraní API, která nebudou simulována, patří:
• Accelerometer
• cacheAsBitmapMatrix
Poslední aktualizace 31.8.2016
99
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
• CameraRoll
• CameraUI
• Geolocation
• Vícedotyková gesta a speciální tahy v operačních systémech pro stolní počítače, které nepodporují tyto funkce
• SystemIdleMode
Pokud aplikace používá tyto třídy, měli byste funkce otestovat ve skutečném zařízení nebo v emulátoru.
Stejně tak existují rozhraní API, jež fungují při spuštění pod programem ADL ve stolním počítači, ale nefungují ve
všech typech mobilních zařízení. Patří sem:
• Zvukový kodek Speex a AAC
• Podpora usnadnění přístupu programů pro čtení z obrazovky
• Protokol RTMPE
• Načítání souborů SWF obsahujících bajtový kód jazyka ActionScript
• Objekty Shader nástroje PixelBender
Nezapomeňte na testování aplikací, které používají tyto funkce v cílových zařízeních, protože program ADL neprovádí
úplnou replikaci spouštěcího prostředí.
Simulace zařízení pomocí simulátoru iOS
Simulátor iOS (pouze počítače Mac) nabízí rychlý způsob spouštění a ladění aplikací iOS. Při testování se simulátorem
iOS nebudete potřebovat certifikát vývojáře ani prováděcí profil. Přesto musíte vytvořit certifikát P12, i když to může
být certifikát s vlastním podpisem.
Ve výchozím nastavení nástroj ADT vždy spustí simulátor iPhone. Chcete-li změnit zařízení simulátoru, nastavte
proměnnou prostředí AIR_IOS_SIMULATOR_DEVICE takto:
launchctl setenv AIR_IOS_SIMULATOR_DEVICE "iPad Retina"
Po nastavení proměnné prostředí proces znovu spusťte a aplikaci spusťte ve vámi vybraném simulátoru.
Poznámka: Pokud se simulátorem iOS používáte ADT, musíte vždy zahrnout volbu -platformsdk, která určuje cestu
k sadě SDK simulátoru iOS.
Spuštění aplikace v simulátoru iOS:
1 Příkaz adt -package použijte s parametrem -target ipa-test-interpreter-simulator nebo -target ipadebug-interpreter-simulator, jak uvádí následující příklad.
adt -package
-target ipa-test-interpreter-simulator
-storetype pkcs12 -keystore Certificates.p12
-storepass password
myApp.ipa
myApp-app.xml
myApp.swf
-platformsdk
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
Poznámka: V případě simulátorů již nejsou vyžadovány možnosti podepisování. Do příznaku -keystore tak lze
zadat libovolnou hodnotu, protože nástroj ADT ji nebude respektovat.
2 Pomocí příkazu adt -installApp nainstalujte aplikaci do simulátoru systému iOS podle následujícího příkladu:
Poslední aktualizace 31.8.2016
100
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
adt -installApp
-platform ios
-platformsdk
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
-device ios-simulator
-package sample_ipa_name.ipa
3 Pomocí příkazu adt -launchApp spusťte aplikaci v simulátoru systému iOS podle následujícího příkladu:
adt -launchApp
-platform ios
-platformsdk
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
-device ios-simulator
-appid sample_ipa_name
Chcete-li v simulátoru iOS testovat nativní rozšíření, použijte název platformy iPhone-x86 v souboru extension.xml
a určete parametr library.a (statická knihovna) v elementu nativeLibrary podle následujícího příkladu
extension.xml:
<extension xmlns="http://ns.adobe.com/air/extension/3.1">
<id>com.cnative.extensions</id>
<versionNumber>1</versionNumber>
<platforms>
<platform name="iPhone-x86">
<applicationDeployment>
<nativeLibrary>library.a</nativeLibrary>
<initializer>TestNativeExtensionsInitializer </initializer>
<finalizer>TestNativeExtensionsFinalizer </finalizer>
</applicationDeployment>
</platform>
</platforms>
</extension>
Poznámka: Při testování nativního rozšíření v simulátoru iOS nepoužívejte statickou knihovnu (soubor .a ) vytvořený
pro dané zařízení. Místo toho používejte statickou knihovnu, která je zkompilovaná pro simulátor.
Trasování příkazů
Spustíte-li mobilní aplikaci ve stolním počítači, vytiskne se výstup trasování do ladicího programu nebo okna
terminálu použitého ke spuštění programu ADL. Při spuštění aplikace v zařízení nebo emulátoru můžete na
zobrazování výstupu trasování nastavit relaci vzdáleného ladění. Je-li to podporováno, můžete výstup trasování
zobrazit také pomocí nástrojů pro vývoj softwaru poskytnutých výrobcem zařízení nebo operačního systému.
Ve všech případech je pro vytvoření výstupu běhovým modulem na základě trasovacích příkazů nutné, aby soubory
SWF byly kompilovány s povoleným laděním.
Příkazy pro vzdálené trasování v systému Android
Při spuštění v zařízení Android nebo příslušném emulátoru můžete výstup trasovacích příkazů zobrazit v protokolu
systému Android pomocí nástroje Android Debug Bridge (ADB), který je součástí sady Android SDK. Chcete-li
zobrazit výstup pro danou aplikaci, spusťte z příkazového řádku nebo z okna terminálu ve vývojovém počítači
následující příkaz:
tools/adb logcat air.MyApp:I *:S
Poslední aktualizace 31.8.2016
101
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
kde MyApp je ID dané aplikace AIR. Argument *:S potlačí výstup ze všech ostatních procesů. Chcete-li kromě
výstupu trasování zobrazit pro aplikaci systémové informace, můžete do specifikace filtru logcat zahrnout položku
ActivityManager:
tools/adb logcat air.MyApp:I ActivityManager:I *:S
V těchto ukázkových příkazech se předpokládá, že používáte nástroj ADB ze složky Android SDK nebo že jste přidali
složku SDK do proměnné prostředí pro cestu.
Poznámka: V prostředí AIR 2.6+ je nástroj ADB součástí sady AIR SDK a naleznete jej ve složce lib/android/bin.
Příkazy pro vzdálené trasování v systému iOS
Chcete-li zobrazit výstup trasovacích příkazů z aplikace spuštěné v zařízení iOS, musíte navázat relaci vzdáleného
ladění pomocí programu Flash Debugger (FDB).
Další témata Nápovědy
Nástroj Android Debug Bridge: Povolení protokolování logcat
„Proměnné prostředí pro cestu“ na stránce 301
Připojení k ladicímu programu Flash
Chcete-li ladit aplikaci spuštěnou v mobilním zařízení, můžete spustit ladicí program Flash ve vývojovém počítači a
připojit se k němu prostřednictvím sítě. Vzdálené ladění povolíte provedením následujícího postupu:
• V systému Android zadejte oprávnění android:permission.INTERNET v deskriptoru aplikace.
• Zkompilujte soubory SWF aplikace s povoleným laděním.
• Zabalte aplikaci pomocí příkazu -target
apk-debug (pro systém Android) nebo -target ipa-debug (pro
systém iOS) a příznaku -connect (ladění wifi) nebo -listen (ladění USB).
U vzdáleného ladění v síti wifi musí mít zařízení přístup k portu TCP 7935 počítače, ve kterém je spuštěn ladicí
program Flash, a to na základě IP adresy nebo plně kvalifikovaného názvu domény. U vzdáleného ladění přes port USB
musí mít zařízení přístup k portu TCP 7936 nebo k portu zadanému v příznaku -listen.
V systému iOS můžete také určit parametr -target ipa-debug-interpreter nebo -target ipa-debuginterpreter-simulator .
Vzdálené ladění pomocí aplikace Flash Professional
Jakmile je aplikace připravena k ladění a v deskriptoru aplikace jsou nastavena oprávnění, postupujte takto:
1 Otevřete dialogové okno Nastavení prostředí AIR Android.
2 Na kartě Nasazení:
• Jako typ nasazení vyberte možnost Ladění zařízení.
• Jako možnost Po publikování vyberte položku „Instalovat aplikaci na připojeném zařízení Android“.
• Zrušte výběr položky „Spustit aplikaci na připojeném zařízení Android“ u možnosti Po publikování.
• V případě potřeby nastavte cestu k sadě Android SDK.
3 Klepněte na tlačítko Publikovat.
Aplikace se nainstaluje a spustí v zařízení.
4 Zavřete dialogové okno Nastavení prostředí AIR Android.
Poslední aktualizace 31.8.2016
102
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
5 V nabídce aplikace Flash Professional vyberte možnost Ladění > Zahájit relaci vzdáleného ladění > ActionScript 3.
Aplikace Flash Professional zobrazí na výstupním panelu zprávu „Čeká se na připojení přehrávače“.
6 Spusťte aplikaci v zařízení.
7 V dialogovém okně pro připojení prostředí Adobe AIR zadejte IP adresu nebo hostitelský název počítače, ve kterém
je spuštěn ladicí program Flash, a potom klepněte na tlačítko OK.
Vzdálené ladění pomocí nástroje FDB prostřednictvím síťového připojení
Chcete-li aplikaci spuštěnou v zařízení ladit pomocí nástroje Flash Debugger (FDB) na příkazovém řádku, spusťte
nejprve ladicí program ve vývojovém počítači a poté aplikaci v zařízení. V následujícím postupu se ke kompilaci,
zabalení a ladění aplikace v zařízení používají nástroje AMXMLC, FDB a ADT. V příkladech se předpokládá, že
používáte kombinované prostředí Flex a sadu AIR SDK a že do proměnné prostředí pro cestu je zahrnut adresář bin.
(Tento předpoklad je zde uplatněn jen proto, aby bylo možné ukázkové příkazy zjednodušit.)
1 Otevřete okno terminálu nebo příkazového řádku a přejděte do adresáře, který obsahuje zdrojový kód aplikace.
2 Zkompilujte aplikaci pomocí nástroje amxmlc, přičemž povolte ladění:
amxmlc -debug DebugExample.as
3 Zabalte aplikaci s použitím cíle apk-debug nebo ipa-debug:
Android
adt -package -target apk-debug -connect -storetype pkcs12 -keystore ../../AndroidCert.p12
DebugExample.apk DebugExample-app.xml DebugExample.swf
iOS
adt -package -target ipa-debug -connect -storetype pkcs12 -keystore
../../AppleDeveloperCert.p12 -provisioning-profile test.mobileprovision DebugExample.apk
DebugExample-app.xml DebugExample.swf
V případě, že pro ladění vždy používáte stejný název hostitele nebo IP adresu, můžete tuto hodnotu vložit za
příznak -connect. Aplikace se automaticky pokusí k této IP adrese nebo názvu hostitele připojit. Jinak budete
muset tyto údaje zadávat v zařízení při každém zahájení ladění.
4 Nainstalujte aplikaci.
V systému Android můžete použít příkaz -installApp nástroje ADT:
adt -installApp -platform android -package DebugExample.apk
U systému iOS můžete aplikaci nainstalovat pomocí příkazu -installApp nástroje ADT nebo pomocí služby
iTunes.
5 V druhém okně terminálu nebo příkazového řádku spusťte nástroj FDB:
fdb
6 V okně FDB zadejte příkaz run:
Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
Waiting for Player to connect
7 Spusťte aplikaci v zařízení.
8 Jakmile se aplikace v zařízení nebo emulátoru spustí, otevře se dialogové okno pro připojení prostředí Adobe AIR.
(Pokud jste při balení aplikace zadali název hostitele nebo IP adresu v možnosti -connect, automaticky se pokusí
připojit pomocí této adresy.) Zadejte příslušnou adresu a klepněte na tlačítko OK.
Poslední aktualizace 31.8.2016
103
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Chcete-li se připojit k ladicímu programu v tomto režimu, musí být zařízení schopno adresu nebo název hostitele
přeložit a připojit se k portu TCP 7935. Je vyžadováno připojení k síti.
9 Když se vzdálený běhový modul připojí k ladicímu programu, můžete pomocí příkazu FDB break nastavit body
přerušení a poté zahájit provádění příkazem continue:
(fdb) run
Waiting for Player to connect
Player connected; session starting.
Set breakpoints and then type 'continue' to resume the session.
[SWF] Users:juser:Documents:FlashProjects:DebugExample:DebugExample.swf - 32,235 bytes
after decompression
(fdb) break clickHandler
Breakpoint 1 at 0x5993: file DebugExample.as, line 14
(fdb) continue
Vzdálené ladění pomocí nástroje FDB přes port USB
AIR 2.6 (Android) AIR 3.3 (iOS)
Chcete-li aplikaci ladit prostřednictvím připojení USB, můžete ji zabalit s použitím možnosti -listen místo možnosti
-connect. Pokud zadáte možnost -listen, běhový modul při spuštění aplikace naslouchá připojení ladicího
programu Flash (FDB) na portu TCP 7936. Pak spusťte nástroj FDB s parametrem -p a nástroj FDB iniciuje připojení.
Ladění přes port USB pro systém Android
Aby se mohl ladicí program Flash, který je spuštěn ve stolním počítači, připojit k běhovému modulu AIR spuštěnému
v zařízení nebo emulátoru, je nutné pomocí nástroje Android Debug Bridge (ADB) ze sady Android SDK nebo iOS
Debug Bridge (IDB) ze sady AIR SDK přesměrovat port zařízení do portu stolního počítače.
1 Otevřete okno terminálu nebo příkazového řádku a přejděte do adresáře, který obsahuje zdrojový kód aplikace.
2 Zkompilujte aplikaci pomocí nástroje amxmlc, přičemž povolte ladění:
amxmlc -debug DebugExample.as
3 Zabalte aplikaci pomocí příslušného cíle ladění (například apk-debug) a určete možnost -listen:
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12
DebugExample.apk DebugExample-app.xml DebugExample.swf
4 Připojte zařízení k ladicímu počítači pomocí kabelu USB. (Tento postup můžete použít také k ladění aplikace
spuštěné v emulátoru – v takovém případě není připojení USB nutné, respektive možné.)
5 Nainstalujte aplikaci.
Můžete použít příkaz -installApp nástroje ADT:
adt -installApp -platform android -package DebugExample.apk
6 Pomocí nástroje Android ADB předejte port TCP 7936 ze zařízení nebo emulátoru do stolního počítače:
adb forward tcp:7936 tcp:7936
7 Spusťte aplikaci v zařízení.
8 V okně terminálu nebo příkazu spusťte nástroj FDB s použitím možnosti -p:
fdb -p 7936
9 V okně FDB zadejte příkaz run:
Poslední aktualizace 31.8.2016
104
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
10 Nástroj FDB se pokusí připojit se k aplikaci.
11 Po navázání vzdáleného připojení můžete pomocí příkazu FDB break nastavit body přerušení a poté zahájit
provádění příkazem continue:
(fdb) run
Player connected; session starting.
Set breakpoints and then type 'continue' to resume the session.
[SWF] Users:juser:Documents:FlashProjects:DebugExample:DebugExample.swf - 32,235 bytes
after decompression
(fdb) break clickHandler
Breakpoint 1 at 0x5993: file DebugExample.as, line 14
(fdb) continue
Poznámka: Port číslo 7936 se používá jako výchozí pro ladění přes port USB v běhovém modulu AIR i nástroji FDB. Jiné
porty můžete zadat pomocí parametru -listen port nástroje ADT a parametru -p port nástroje FDB. V tom případě je
nutné pomocí nástroje Android Debug Bridge předat číslo portu zadané v nástroji ADT do portu v nástroji FDB: adb
forward tcp:adt_listen_port# tcp:fdb_port#
Ladění přes port USB pro systém iOS
Aby se mohl ladicí program Flash, který je spuštěn ve stolním počítači, připojit k běhovému modulu AIR spuštěnému
v zařízení nebo emulátoru, je nutné pomocí nástroje iOS Debug Bridge (IDB) ze sady AIR SDK přesměrovat port
zařízení do portu stolního počítače.
1 Otevřete okno terminálu nebo příkazového řádku a přejděte do adresáře, který obsahuje zdrojový kód aplikace.
2 Zkompilujte aplikaci pomocí nástroje amxmlc, přičemž povolte ladění:
amxmlc -debug DebugExample.as
3 Aplikaci zabalte pomocí příslušného cíle ladění (jako je ipa-debug nebo ipa-debug-interpreter a určete volbu
-listen:
adt -package -target ipa-debug-interpreter -listen 16000
xyz.mobileprovision -storetype pkcs12 -keystore Certificates.p12
-storepass pass123 OutputFile.ipa InputFile-app.xml InputFile.swf
4 Připojte zařízení k ladicímu počítači pomocí kabelu USB. (Tento postup můžete použít také k ladění aplikace
spuštěné v emulátoru – v takovém případě není připojení USB nutné, respektive možné.)
5 Nainstalujte a spusťte aplikaci v zařízení se systémem iOS. V prostředí AIR 3.4 a vyšším můžete použít příkaz adt
-installApp a nainstalovat aplikaci přes rozhraní USB.
6 Určete popisovač zařízení pomocí příkazu idb -devices (nástroj IDB je umístěn ve složce
air_sdk_root/lib/aot/bin/iOSBin/idb):
./idb -devices
List of attached devices
Handle
UUID
1
91770d8381d12644df91fbcee1c5bbdacb735500
Poznámka: (AIR 3.4 a vyšší) K určení popisovače zařízení, můžete namísto příkazu idb -devices použít příkaz adt
-devices.
7 Přesměrujte port ve stolním počítači do portu zadaného v parametru adt -listen (v tomto případě 16000;
výchozí hodnota je 7936) pomocí nástroje IDB a ID zařízení nalezeném v předchozím kroku:
Poslední aktualizace 31.8.2016
105
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
idb -forward 7936 16000 1
V tomto příkladu je 7936 port stolního počítače, 16000 je port, ve kterém naslouchá připojené zařízení a 1 je ID
připojeného zařízení.
8 V okně terminálu nebo příkazu spusťte nástroj FDB s použitím možnosti -p:
fdb -p 7936
9 V okně FDB zadejte příkaz run:
Adobe fdb (Flash Player Debugger) [build 23201]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
10 Nástroj FDB se pokusí připojit se k aplikaci.
11 Po navázání vzdáleného připojení můžete pomocí příkazu FDB break nastavit body přerušení a poté zahájit
provádění příkazem continue:
Poznámka: Port číslo 7936 se používá jako výchozí pro ladění přes port USB v běhovém modulu AIR i nástroji FDB. Jiné
porty můžete zadat pomocí parametru -listen port nástroje IDB a parametru -p port nástroje FDB.
Instalace prostředí AIR a aplikací AIR v mobilních
zařízeních
Koncoví uživatelé vaší aplikace mohou nainstalovat běhový modul AIR a aplikace AIR pomocí normálního
mechanismu pro aplikace a distribuci v jejich zařízení.
Například v systému Android mohou uživatelé instalovat aplikace z webu Android Market. Nebo pokud v nastavení
aplikací povolili instalaci aplikací z neznámých zdrojů, mohou aplikaci nainstalovat klepnutím na odkaz na webové
stránce nebo zkopírováním balíčku aplikace do zařízení a jejím spuštěním. Jestliže se uživatel pokusí nainstalovat
aplikaci pro systém Android, ale nemá dosud nainstalováno běhový modul AIR, pak bude automaticky přesměrován
na web Market, odkud může běhový modul nainstalovat.
V systému iOS existují dva způsoby distribuce aplikací koncovým uživatelům. Primárním distribučním kanálem je
obchod Apple App Store. Můžete také použít distribuci ad hoc, při které lze instalaci aplikace povolit omezenému
počtu uživatelů, aniž by bylo nutné využít obchod App Store.
Instalace běhového modulu AIR a aplikací pro vývoj
Protože aplikace AIR v mobilních zařízeních se instalují jako nativní balíčky, můžete pro instalaci aplikací pro
testování využít běžné funkce platformy. Pokud je to podporováno, lze pro instalaci běhového modulu AIR a aplikací
AIR použít příkazy nástroje ADT. Tato metoda je v současné době podporována v systému Android.
V systému iOS lze aplikace pro testování nainstalovat pomocí aplikace iTunes. Testovací aplikace musejí být
podepsány certifikátem pro podepisování kódu od společnosti Apple, který je speciálně vydán pro vývoj aplikací a je
přibalen do prováděcího profilu pro vývoj. V systému iOS představuje aplikace AIR soběstačný balíček. Samostatný
běhový modul se nepoužívá.
Instalace aplikací AIR pomocí nástroje ADT
Při vývoji aplikací AIR můžete běhový modul i aplikace nainstalovat a odinstalovat pomocí nástroje ADT. (Tyto
příkazy mohou být rovněž integrovány do daného prostředí IDE, takže nemusíte nástroj ADT spouštět sami.)
Poslední aktualizace 31.8.2016
106
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Běhový modul AIR lze do zařízení nebo emulátoru nainstalovat pomocí nástroje AIR ADT. Musí být nainstalována
sada SDK pro dané zařízení. Použijte příkaz -installRuntime:
adt -installRuntime -platform android -device deviceID -package path-to-runtime
Pokud není zadán parametr -package, je z balíčků běhového modulu dostupných v nainstalované sadě AIR SDK
zvolen ten, který odpovídá danému zařízení nebo emulátoru.
Chcete-li aplikaci AIR nainstalovat do zařízení se systémem Android nebo iOS (prostředí AIR 3.4 nebo novější),
použijte obdobný příkaz -installApp:
adt -installApp -platform android -device deviceID -package path-to-app
Hodnota nastavená pro argument -platform by měla odpovídat zařízení, do kterého provádíte instalaci.
Poznámka: Před opětovnou instalací je nutné odebrat stávající verze běhového modulu AIR nebo aplikace AIR.
Instalace aplikací AIR do zařízení iOS pomocí služby iTunes
Instalace aplikace AIR do zařízení iOS pro testování:
1 Otevřete aplikaci iTunes.
2 Pokud jste tak ještě neučinili, přidejte do aplikace iTunes prováděcí soubor pro svou aplikaci. V aplikaci iTunes
vyberte položky File (Soubor) > Add to Library (Přidat do knihovny). Poté vyberte soubor prováděcího profilu
(bude označen jako typ souboru mobileprovision).
3 Některé verze aplikace iTunes aplikaci nenahradí, pokud je již nainstalována stejná verze aplikace. V takovém
případě svou aplikaci odstraňte ze zařízení i ze seznamu aplikací v aplikaci iTunes.
4 Poklepejte na soubor IPA aplikace. Aplikace by se měla objevit v seznamu aplikací v aplikaci iTunes.
5 Připojte zařízení k portu USB v počítači.
6 V aplikaci iTunes vyhledejte zařízení na záložce Application (Aplikace) a ujistěte se, že je aplikace vybrána v
seznamu aplikací určených k instalaci.
7 Vyberte zařízení v levém seznamu aplikace iTunes. Poté klepněte na tlačítko Sync (Synchronizovat). Aplikace Hello
World se po dokončení synchronizace objeví v zařízení iPhone.
Pokud není nová verze nainstalována, odstraňte ji ze zařízení i ze seznamu aplikací v aplikaci iTunes a následně celý
tento postup opakujte. K této situaci může dojít, pokud aktuálně nainstalovaná verze používá stejné ID i verzi aplikace.
Další témata Nápovědy
„Příkaz installRuntime nástroje ADT“ na stránce 174
„Příkaz installApp nástroje ADT“ na stránce 172
Spouštění aplikací AIR v zařízení
Nainstalované aplikace AIR můžete spustit pomocí uživatelského rozhraní zařízení. Pokud je to podporováno, můžete
aplikace spouštět také vzdáleně pomocí nástroje AIR ADT:
adt -launchApp -platform android -device deviceID -appid applicationID
Hodnota argumentu -appid musí představovat ID aplikace AIR, která má být spuštěna. Použijte hodnotu zadanou v
deskriptoru aplikace AIR (bez prefixu air. přidaného během balení).
Pokud je připojeno a spuštěno pouze jedno zařízení nebo emulátor, můžete vynechat příznak -device. Hodnota
nastavená pro argument -platform by měla odpovídat zařízení, na které provádíte instalaci. V současné době je
jedinou podporovanou hodnotou android.
Poslední aktualizace 31.8.2016
107
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Odebrání běhového modulu a aplikací AIR
K odebírání aplikací můžete použít běžné prostředky poskytované operačním systémem zařízení. Pokud je to
podporováno, můžete pro odebrání běhového modulu a aplikací AIR použít také nástroj AIR ADT. K odebrání
běhového modulu použijte příkaz -uninstallRuntime:
adt -uninstallRuntime -platform android -device deviceID
K odinstalaci aplikace použijte příkaz -uninstallApp:
adt -uninstallApp -platform android -device deviceID -appid applicationID
Pokud je připojeno a spuštěno pouze jedno zařízení nebo emulátor, můžete vynechat příznak -device. Hodnota
nastavená pro argument -platform by měla odpovídat zařízení, na které provádíte instalaci. V současné době je
jedinou podporovanou hodnotou android.
Nastavení emulátoru
Chcete-li aplikaci AIR spustit v emulátoru zařízení, je obvykle nutné pomocí sady SDK pro zařízení vytvořit a spustit
instanci emulátoru ve vývojovém počítači. Potom můžete do emulátoru nainstalovat verzi běhového modulu AIR pro
emulátor a aplikaci AIR. Mějte na paměti, že aplikace v emulátoru obvykle běží mnohem pomaleji než v samotném
zařízení.
Vytvoření emulátoru systému Android
1 Spusťte sadu Android SDK a aplikaci AVD Manager:
• V systému Windows spusťte soubor Setup.exe sady SDK v kořenovém adresáři sady Android SDK.
• V systému Mac OS spusťte aplikaci android v podadresáři tools v adresáři sady Android SDK.
2 Vyberte možnost Settings (Nastavení) a vyberte možnost „Force https://“ (Vynutit https://).
3 Vyberte možnost Available Packages (Dostupné balíčky). Měl by se zobrazit seznam dostupných sad Android SDK.
4 Vyberte kompatibilní sadu Android SDK (Android 2.3 nebo novější) a klepněte na tlačítko Install Selected
(Instalovat vybrané).
5 Vyberte možnost Virtual Devices (Virtuální zařízení) a klepněte na tlačítko New (Nové).
6 Proveďte následující nastavení:
• název virtuálního zařízení,
• cílové rozhraní API, jako například Android 2.3, API level 8,
• velikost pro kartu SD (například 1024),
• vzhled (například výchozí HVGA).
7 Klepněte na tlačítko Create AVD (Vytvořit AVD).
Mějte na paměti, že vytváření virtuálních zařízení může v závislosti na konfiguraci systému chvíli trvat.
Nyní můžete nové virtuální zařízení spustit.
1 V aplikaci AVD Manager vyberte položku Virtual Device (Virtuální zařízení). Virtuální zařízení, které jste vytvořili
podle postupu výše, by mělo objevit v seznamu.
2 Vyberte virtuální zařízení a klepněte na tlačítko Start.
3 Na další obrazovce klepněte na tlačítko Launch (Spustit).
Poslední aktualizace 31.8.2016
108
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Ve stolním počítači by se mělo otevřít okno emulátoru. To může trvat několik sekund. Také může chvíli trvat
inicializace operačního systému Android. Do emulátoru je možné nainstalovat aplikace zabalené pomocí příkazů apkdebug a apk-emulator. Aplikace zabalené s použitím cíle apk v emulátoru nefungují.
Další témata Nápovědy
http://developer.android.com/guide/developing/tools/othertools.html#android
http://developer.android.com/guide/developing/tools/emulator.html
Aktualizace mobilních aplikací AIR
Mobilní aplikace AIR jsou distribuovány jako nativní balíčky a proto používají standardní mechanismy aktualizací
jako ostatní aplikace na dané platformě. To obvykle zahrnuje odeslání do stejného tržiště nebo obchodu s aplikacemi,
které byly použity k distribuci původní aplikace.
Mobilní aplikace AIR nemohou používat třídu Updater ani rozhraní aktualizačního programu prostředí AIR.
Aktualizace aplikací AIR v systému Android
Aplikace distribuované na webu Android Market je možné aktualizovat umístěním nové verze na web Market, a to za
předpokladu, že jsou splněny následující podmínky (tyto zásady vynucuje web Market, nikoli prostředí AIR):
• Balíček APK je podepsán pomocí stejného certifikátu.
• ID aplikace AIR je stejné.
• Hodnota versionNumber v deskriptoru aplikace je vyšší. (Měli byste také zvýšit hodnotu versionLabel, pokud se
používá.)
Uživatelé, kteří si aplikaci z webu Android Market stáhli, budou softwarem jejich zařízení upozorněni, že je k dispozici
aktualizace.
Další témata Nápovědy
Vývojáři systému Android: Publikování aktualizací na webu Android Market
Aktualizace aplikací AIR v systému iOS
V případě aplikací AIR distribuovaných prostřednictvím obchodu s aplikacemi iTunes lze aplikaci aktualizovat
odesláním aktualizace do tohoto obchodu, pokud platí všechny následující předpoklady (tyto zásady vynucuje obchod
s aplikacemi Apple, nikoli prostředí AIR):
• Certifikát pro podpis kódu a prováděcí profily jsou vystaveny na stejné Apple ID.
• Balíček IPA používá stejné ID balíku Apple.
• Aktualizace nezmenší fond podporovaných zařízení (jinými slovy, pokud původní aplikace podporuje zařízení se
systémem iOS 3, nemůžete vytvořit aktualizaci, která nepodporuje systém iOS 3).
Důležité: Sada AIR SDK verze 2.6 a novější nepodporuje systém iOS 3, ale prostředí AIR 2 ano, a proto nelze při
aktualizaci publikované aplikace systému iOS, která byla vyvinuta pomocí prostředí AIR 2, použít aktualizaci vyvinutou
pomocí prostředí AIR 2.6+.
Poslední aktualizace 31.8.2016
109
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Použití nabízených oznámení
Nabízená oznámení umožňují poskytovatelům vzdálených oznámení odesílat oznámení do aplikací spuštěných
v mobilním zařízení. Prostředí AIR 3.4 podporuje nabízená oznámení pro zařízení se systémem iOS prostřednictvím
služby Apple Push Notification service (APNs).
Poznámka: Chcete-li povolit nabízená oznámení pro aplikaci AIR pro systém Android, použijte nativní rozšíření, jako
je as3c2dm vyvinuté propagátorem společnosti Adobe Piotrem Walczyszynem.
Ve zbytku této části je popsán postup povolení nabízených oznámení v aplikacích AIR pro systém iOS.
Poznámka: U tohoto pojednání se předpokládá, že máte ID vývojáře společnosti Apple, ovládáte pracovní postupy vývoje
v systému iOS a nasadili jste alespoň jednu aplikaci do zařízení se systémem iOS.
Přehled nabízených oznámení
Služba Apple Push Notification service (APNs) umožňuje poskytovatelům vzdálených oznámení odesílat oznámení
do aplikací spuštěných v zařízeních se systémem iOS. Služba APNs podporuje následující typy oznámení:
• Výstrahy
• Informační symboly
• Zvuky
Veškeré informace o službě APNs naleznete na webu developer.apple.com.
Používání nabízených oznámení ve vaší aplikaci se týká více aspektů:
• Klientská aplikace – registruje se pro nabízená oznámení, komunikuje s poskytovateli vzdálených oznámení a
přijímá vzdálená oznámení.
• iOS – spravuje interakci klientské aplikace se službou APNs.
• APNs – během registrace klienta poskytuje identifikátor tokenID a předává oznámení od poskytovatele vzdálených
oznámení do systému iOS.
• Poskytovatel vzdálených oznámení – uchovává informace o identifikátorech tokenId a klientských aplikacích a
předává oznámení do služby APNs.
Pracovní postup registrace
Pracovní postup registrování nabízených oznámení u služby na straně serveru je následující:
1 Klientská aplikace vydá požadavek, aby systém iOS povolil nabízená oznámení.
2 Systém iOS tento požadavek předá do služby APNs.
3 Server APNs vrátí do systému iOS identifikátor tokenId.
4 Systém iOS vrátí identifikátor tokenId do klientské aplikace.
5 Klientská aplikace (s použitím mechanismu specifického pro aplikace) předá identifikátor tokenId poskytovateli
vzdálených oznámení, který jej uchovává pro účely nabízených oznámení.
Pracovní postup oznámení
Pracovní postup oznámení je následující:
1 Poskytovatel vzdálených oznámení vygeneruje oznámení a odešle do služby APNs datovou část s identifikátorem
tokenId.
Poslední aktualizace 31.8.2016
110
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
2 Služba APNs předá oznámení do systému iOS v zařízení.
3 Systém iOS nabídne datovou část oznámení aplikaci.
Rozhraní API pro nabízená oznámení
Prostředí AIR 3.4 představilo sadu rozhraní API, která podporují nabízená oznámení systému iOS. Tato rozhraní API
se nacházejí v balíčku flash.notifications a zahrnují následující třídy:
•
NotificationStyle – definuje konstanty pro typy oznámení ALERT, BADGE a SOUND.
•
RemoteNotifier – umožňuje přihlášení a odhlášení odběru nabízených oznámení.
•
RemoteNotifierSubscribeOptions – umožňuje výběr oznámení, která budou přijímána. Pomocí vlastnosti
notificationStyles lze definovat vektor řetězců, které slouží k registraci pro více typů oznámení.
Prostředí AIR 3.4 také obsahuje událost flash.events.RemoteNotificationEvent, kterou rozesílá třída
RemoteNotifier:
• Po úspěšném vytvoření přihlášení aplikace k odběru a přijetí nového identifikátoru tokenId ze služby APNs
• Po přijetí nového vzdáleného oznámení
Dále třída RemoteNotifier rozešle událost flash.events.StatusEvent, pokud během procesu přihlášení k odběru
dojde k chybě.
Správa nabízených oznámení v aplikaci
Chcete-li svou aplikaci zaregistrovat pro nabízená oznámení, musíte provést tyto kroky:
• Vytvořit v aplikaci kód, který ji přihlásí k odběru nabízených oznámení
• Povolit nabízená oznámení v souboru XML aplikace
• Vytvořit prováděcí profil a certifikát, které povolí služby nabízení systému iOS
Následující vzorový kód s poznámkami slouží k přihlášení odběru nabízených oznámení a zpracování událostí
nabízených oznámení:
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.*;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.net.*;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;
// Required packages for push notifications
import flash.notifications.NotificationStyle;
import flash.notifications.RemoteNotifier;
import flash.notifications.RemoteNotifierSubscribeOptions;
import flash.events.RemoteNotificationEvent;
import flash.events.StatusEvent;
[SWF(width="1280", height="752", frameRate="60")]
Poslední aktualizace 31.8.2016
111
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
public class TestPushNotifications extends Sprite
{
private var notiStyles:Vector.<String> = new Vector.<String>;;
private var tt:TextField = new TextField();
private var tf:TextFormat = new TextFormat();
// Contains the notification styles that your app wants to receive
private var preferredStyles:Vector.<String> = new Vector.<String>();
private var subscribeOptions:RemoteNotifierSubscribeOptions = new
RemoteNotifierSubscribeOptions();
private var remoteNot:RemoteNotifier = new RemoteNotifier();
private var subsButton:CustomButton = new CustomButton("Subscribe");
private var unSubsButton:CustomButton = new CustomButton("UnSubscribe");
private var clearButton:CustomButton = new CustomButton("clearText");
private var urlreq:URLRequest;
private var urlLoad:URLLoader = new URLLoader();
private var urlString:String;
public function TestPushNotifications()
{
super();
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
tf.size = 20;
tf.bold = true;
tt.x=0;
tt.y =150;
tt.height = stage.stageHeight;
tt.width = stage.stageWidth;
tt.border = true;
tt.defaultTextFormat = tf;
addChild(tt);
subsButton.x = 150;
subsButton.y=10;
subsButton.addEventListener(MouseEvent.CLICK,subsButtonHandler);
stage.addChild(subsButton);
unSubsButton.x = 300;
unSubsButton.y=10;
unSubsButton.addEventListener(MouseEvent.CLICK,unSubsButtonHandler);
stage.addChild(unSubsButton);
clearButton.x = 450;
clearButton.y=10;
clearButton.addEventListener(MouseEvent.CLICK,clearButtonHandler);
stage.addChild(clearButton);
//
tt.text += "\n SupportedNotification Styles: " +
Poslední aktualizace 31.8.2016
112
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
RemoteNotifier.supportedNotificationStyles.toString() + "\n";
tt.text += "\n Before Preferred notificationStyles: " +
subscribeOptions.notificationStyles.toString() + "\n";
// Subscribe to all three styles of push notifications:
// ALERT, BADGE, and SOUND.
preferredStyles.push(NotificationStyle.ALERT
,NotificationStyle.BADGE,NotificationStyle.SOUND );
subscribeOptions.notificationStyles= preferredStyles;
tt.text += "\n After Preferred notificationStyles:" +
subscribeOptions.notificationStyles.toString() + "\n";
remoteNot.addEventListener(RemoteNotificationEvent.TOKEN,tokenHandler);
remoteNot.addEventListener(RemoteNotificationEvent.NOTIFICATION,notificationHandler);
remoteNot.addEventListener(StatusEvent.STATUS,statusHandler);
this.stage.addEventListener(Event.ACTIVATE,activateHandler);
}
// Apple recommends that each time an app activates, it subscribe for
// push notifications.
public function activateHandler(e:Event):void{
// Before subscribing to push notifications, ensure the device supports it.
// supportedNotificationStyles returns the types of notifications
// that the OS platform supports
if(RemoteNotifier.supportedNotificationStyles.toString() != "")
{
remoteNot.subscribe(subscribeOptions);
}
else{
tt.appendText("\n Remote Notifications not supported on this Platform !");
}
}
public function subsButtonHandler(e:MouseEvent):void{
remoteNot.subscribe(subscribeOptions);
}
// Optionally unsubscribe from push notfications at runtime.
public function unSubsButtonHandler(e:MouseEvent):void{
remoteNot.unsubscribe();
tt.text +="\n UNSUBSCRIBED";
}
public function clearButtonHandler(e:MouseEvent):void{
tt.text = " ";
}
// Receive notification payload data and use it in your app
public function notificationHandler(e:RemoteNotificationEvent):void{
tt.appendText("\nRemoteNotificationEvent type: " + e.type +
"\nbubbles: "+ e.bubbles + "\ncancelable " +e.cancelable);
for (var x:String in e.data) {
Poslední aktualizace 31.8.2016
113
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
tt.text += "\n"+ x + ":
" + e.data[x];
}
}
// If the subscribe() request succeeds, a RemoteNotificationEvent of
// type TOKEN is received, from which you retrieve e.tokenId,
// which you use to register with the server provider (urbanairship, in
// this example.
public function tokenHandler(e:RemoteNotificationEvent):void
{
tt.appendText("\nRemoteNotificationEvent type: "+e.type +"\nBubbles: "+ e.bubbles
+ "\ncancelable " +e.cancelable +"\ntokenID:\n"+ e.tokenId +"\n");
urlString = new String("https://go.urbanairship.com/api/device_tokens/" +
e.tokenId);
urlreq = new URLRequest(urlString);
urlreq.authenticate = true;
urlreq.method = URLRequestMethod.PUT;
URLRequestDefaults.setLoginCredentialsForHost
("go.urbanairship.com",
"1ssB2iV_RL6_UBLiYMQVfg","t-kZlzXGQ6-yU8T3iHiSyQ");
urlLoad.load(urlreq);
urlLoad.addEventListener(IOErrorEvent.IO_ERROR,iohandler);
urlLoad.addEventListener(Event.COMPLETE,compHandler);
urlLoad.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpHandler);
}
private function iohandler(e:IOErrorEvent):void
{
tt.appendText("\n In IOError handler" + e.errorID +" " +e.type);
}
private function compHandler(e:Event):void{
tt.appendText("\n In Complete handler,"+"status: " +e.type + "\n");
}
private function httpHandler(e:HTTPStatusEvent):void{
tt.appendText("\n in httpstatus handler,"+ "Status: " + e.status);
}
// If the subscription request fails, StatusEvent is dispatched with
// error level and code.
public function statusHandler(e:StatusEvent):void{
tt.appendText("\n statusHandler");
tt.appendText("event Level" + e.level +"\nevent code " +
e.code + "\ne.currentTarget: " + e.currentTarget.toString());
}
}
}
Povolení nabízených oznámení v souboru XML aplikace
Chcete-li ve své aplikaci používat nabízená oznámení, zadejte do tagu Entitlements (pod tagem iphone) následující kód:
Poslední aktualizace 31.8.2016
114
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
<iphone>
...
<Entitlements>
<![CDATA[
<key>aps-environment</key>
<string>development</string>
]]>
</Entitlements>
</iphone>
Až budete připraveni přesunout aplikaci do úložiště App Store, musíte v elementu <string> nahradit řetězec
„development“ řetězcem „production“:
<string>production</string>
Pokud vaše aplikace podporuje lokalizované řetězce, zadejte do tagu supportedLanguages pod tagem intialWindow
jazyky, jak je uvedeno v následujícím příkladu:
<supportedLanguages>en de cs es fr it ja ko nl pl pt</supportedLanguages>
Vytvoření prováděcího profilu a certifikátu, které povolí služby nabízení systému iOS
Chcete-li povolit komunikaci aplikace se službou APNs, musíte aplikaci sbalit s prováděcím profilem a certifikátem,
které povolují služby nabízení systému iOS, následujícím způsobem:
1 Přihlaste se ke svému účtu vývojáře společnosti Apple.
2 Přejděte k portálu Provisioning Portal.
3 Klikněte na kartu App IDs (ID aplikací).
4 Klikněte na tlačítko New App ID (Nové ID aplikace).
5 Zadejte popis a identifikátor balíčku (v identifikátoru balíčku se nesmí používat znak *).
6 Klikněte na tlačítko Submit (Odeslat). Portál Provisioning Portal vygeneruje váš identifikátor App ID a znovu
zobrazí stránku App IDs (ID aplikací).
7 Klikněte na tlačítko Configure (Konfigurovat) vpravo od vašeho ID aplikace. Zobrazí se stránka Configure App ID
(Konfigurace ID aplikace).
8 Zaškrtněte políčko Enable for Apple Push Notification service (Povolit pro službu Apple Push Notification service).
Povšimněte si, že existují dva typy certifikátů SSL pro nabízení: jeden pro vývoj a testování a jeden pro produkci.
9 Klikněte na tlačítko Configure (Konfigurovat) vpravo od položky Development Push SSL Certificate (Vývojový
certifikát SSL pro nabízení). Zobrazí se stránka Generate Certificate Signing Request (CSR) (Generování
požadavku CSR).
10 Podle pokynů na stránce vytvořte pomocí nástroje Keychain Access požadavek CSR.
11 Vygenerujte certifikát SSL.
12 Tento certifikát SSL si stáhněte a nainstalujte.
13 (Volitelný krok) Zopakujte kroky 9 až 12 pro produkční certifikát SSL pro nabízení.
14 Klikněte na tlačítko Done (Hotovo). Zobrazí se stránka Configure App ID (Konfigurace ID aplikace).
15 Klikněte na tlačítko Done (Hotovo). Zobrazí se stránka App IDs (ID aplikací). Povšimněte si zeleného kruhu vedle
položky Push Notification (Nabízené oznámení) pro vaše ID aplikace.
16 Je nutné, abyste svoje certifikáty uložili, protože se budou používat při komunikaci aplikace s poskytovatelem.
17 Kliknutím na kartu Provisioning (Prováděcí) zobrazíte stránku Provisioning Profiles (Prováděcí profily).
Poslední aktualizace 31.8.2016
115
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
18 Vytvořte prováděcí profil pro svoje nové ID aplikace a stáhněte si ho.
19 Klikněte na kartu Certificates (Certifikáty) a stáhněte si nový certifikát pro nový prováděcí profil.
Použití zvuku pro nabízená oznámení
Chcete-li pro svou aplikaci povolit zvuková oznámení, sbalte zvukové soubory jako kterýkoli jiný datový zdroj, ale ve
stejné složce jako soubory SWF a app-xml. Například:
Build/adt -package -target ipa-app-store -provisioning-profile _-_.mobileprovision -storetype
pkcs12 -keystore _-_.p12 test.ipa test-app.xml test.swf sound.caf sound1.caf
Společnost Apple podporuje následující formáty zvukových dat (v souborech AIFF, WAV nebo CAF):
• Lineární PCM
• MA4 (IMA/ADPCM)
• uLaw
• aLaw
Použití lokalizovaných výstražných oznámení
Chcete-li ve své aplikaci používat lokalizovaná výstražná oznámení, sbalte lokalizované řetězce do složek lproj. Můžete
například podporovat výstrahy ve španělštině, jak je uvedeno zde:
1 Vytvořte složku es.lproj v projektu na stejné úrovni jako soubor app-xml.
2 Ve složce es.lproj vytvořte textový soubor s názvem Localizable.Strings.
3 Otevřete soubor Localizable.Strings v textovém editoru a přidejte klíče zpráv a odpovídající lokalizované řetězce.
Například:
"PokeMessageFormat" = "La notificación de alertas en español."
4 Uložte soubor.
5 Když aplikace přijme výstražné oznámení s touto hodnotou klíče a jazykem zařízení bude španělština, zobrazí se
přeložený text výstrahy.
Konfigurace poskytovatele vzdálených oznámení
Potřebujete poskytovatele vzdálených oznámení, který bude do vaší aplikace odesílat nabízená oznámení. Tato
serverová aplikace slouží jako poskytovatel, přijímá váš nabízený vstup a předává oznámení a data oznámení do služby
APNs, která pak nabízená oznámení odesílá do klientské aplikace.
Podrobné informace o nabízení oznámení z poskytovatele vzdálených oznámení naleznete v článku Komunikace
poskytovatele se službou Apple Push Notification Service v knihovně pro vývojáře společnosti Apple.
Volby poskytovatele vzdálených oznámení
Volby pro poskytovatele vzdálených oznámení jsou tyto:
• Vytvoření vlastního poskytovatele na základě serveru APNS-php typu open source. Server PHP lze zřídit pomocí
webu http://code.google.com/p/apns-php/. Tento projekt Google Code umožňuje navrhnout rozhraní, které bude
splňovat vaše specifické požadavky.
• Použití poskytovatele služeb. Například web http://urbanairship.com/ nabízí poskytovatele služby APNs
k okamžitému použití. Po registraci u této služby začnete poskytnutím tokenu vašeho zařízení pomocí kódu
podobného tomuto:
Poslední aktualizace 31.8.2016
116
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
private var urlreq:URLRequest;
private var urlLoad:URLLoader = new URLLoader();
private var urlString:String;
//When subscription is successful then only call the following code
urlString = new String("https://go.urbanairship.com/api/device_tokens/" + e.tokenId);
urlreq = new URLRequest(urlString);
urlreq.authenticate = true;
urlreq.method = URLRequestMethod.PUT;
URLRequestDefaults.setLoginCredentialsForHost("go.urbanairship.com",
"Application Key","Application Secret");
urlLoad.load(urlreq);
urlLoad.addEventListener(IOErrorEvent.IO_ERROR,iohandler);
urlLoad.addEventListener(Event.COMPLETE,compHandler);
urlLoad.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpHandler);
private function iohandler(e:IOErrorEvent):void{
trace("\n In IOError handler" + e.errorID +" " +e.type);
}
private function compHandler(e:Event):void{
trace("\n In Complete handler,"+"status: " +e.type + "\n");
}
private function httpHandler(e:HTTPStatusEvent):void{
tt.appendText("\n in httpstatus handler,"+ "Status: " + e.status);
}
Pak můžete pomocí nástrojů společnosti Urban Airship odesílat zkušební oznámení.
Certifikáty pro poskytovatele vzdálených oznámení
Certifikát SSL a privátní klíč (vygenerovaný dříve) je nutné zkopírovat do vhodného umístění na serveru poskytovatele
vzdálených oznámení. Tyto dva soubory se obvykle spojují do jednoho souboru .pem. K tomu použijete následující
kroky:
1 Otevřete okno terminálu.
2 Zadáním následujícího příkazu vytvoříte z certifikátu SSL soubor .pem:
openssl x509 -in aps_developer_identity.cer -inform der -out TestPushDev.pem
3 Zadáním následujícího příkazu vytvoříte soubor PEM souboru privátního klíče (.p12):
openssl pkcs12 -nocerts -out TestPushPrivateKey.pem -in certificates.p12
4 Zadáním následujícího příkazu tyto dva soubory PEM sloučíte do jednoho souboru:
cat TestPushDev.pem TestPushPrivateKey.pem > FinalTestPush.pem
5 Sloučený soubor .pem předáte poskytovateli serveru, až budete vytvářet svou aplikaci pro nabízení na straně
serveru.
Další informace naleznete v článku Instalace certifikátu SSL a klíče na server v příručce programování místních a
nabízených oznámení společnosti Apple.
Poslední aktualizace 31.8.2016
117
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro mobilní zařízení
Zpracování nabízených oznámení v aplikaci
Zpracování nabízených oznámení v aplikaci zahrnuje tyto kroky:
• Globální konfigurace uživatele a přijetí nabízených oznámení
• Přijetí jednotlivých nabízených oznámení uživatelem
• Zpracování nabízených oznámení a dat datových částí oznámení
Konfigurace a přijetí nabízených oznámení
Když uživatel poprvé spustí aplikaci s podporou nabízených oznámení, systém iOS zobrazí dialog appname Would
Like to Send You Push Notifications (vám chce odesílat nabízená oznámení) s tlačítky Don’t Allow (Nepovolit) a
OK. Pokud uživatel vybere možnost OK, aplikace může přijímat všechny styly oznámení, k jejichž odběru je
přihlášená. Pokud uživatel vybere možnost Don’t Allow (Nepovolit), nebude přijímat žádná oznámení.
Poznámka: Uživatelé také mohou přejít do části Settings (Nastavení) > Notifications (Oznámení) a určit konkrétní typy
oznámení, které lze pro jednotlivé aplikace s podporou nabízení přijímat.
Společnost Apple doporučuje, aby byla aplikace po každé aktivaci přihlášena k odběru nabízených oznámení. Když
vaše aplikace zavolá metodu RemoteNotifier.subscribe(), obdrží událost RemoteNotificationEvent typu
token, která obsahuje 32bajtový jedinečný číselný identifikátor tokenId, který jednoznačně určuje tuto aplikaci
v zařízení.
Když zařízení obdrží nabízené oznámení, zobrazí rozbalovací okno s tlačítky Close (Zavřít) a Launch (Spustit). Když
se uživatel dotkne tlačítka Close (Zavřít), nic se nestane. Pokud se dotkne tlačítka Launch (Spustit), systém iOS vyvolá
aplikaci a ta přijme událost flash.events.RemoteNotificationEvent typu notification, jak je popsáno níže.
Zpracování nabízených oznámení a dat datových částí
Když poskytovatel vzdálených oznámení odešle oznámení do zařízení (s použitím identifikátoru tokenID), aplikace
přijme událost flash.events.RemoteNotificationEvent typu notification bez ohledu na to, zda je spuštěná.
V tomto okamžiku vaše aplikace provede zpracování oznámení specifické pro aplikaci. Pokud aplikace zpracovává data
oznámení, můžete k nim přistupovat prostřednictvím vlastnosti RemoteNotificationEvent.data ve formátu JSON.
Poslední aktualizace 31.8.2016
118
Kapitola 8: Vývoj aplikací AIR pro
televizní zařízení
Možnosti prostředí AIR pro televizní přijímače
Aplikace Adobe® AIR® pro televizní zařízení, jako jsou televize, digitální videorekordéry a přehrávače Blu-ray, můžete
vytvářet, pokud dané zařízení obsahuje platformu Adobe AIR for TV. Platforma AIR for TV je optimalizována pro
televizní zařízení, protože používá například hardwarové akcelerátory zařízení pro dosažení vysokého výkonu videa a
grafiky.
Aplikace AIR pro televizní zařízení jsou založeny na souborech SWF, a nikoli na jazyce HTML. Aplikace AIR for TV
využívá výhody hardwarové akcelerace a jiné funkce, které jsou speciálně vytvořeny pro prostředí „obývacího pokoje“.
Profily zařízení
Prostředí AIR používá k definování cílové skupiny zařízení s podobnými funkcemi profily. Pro aplikace pro platformu
AIR for TV používejte následující profily:
• Profil tv. Tento profil použijte v aplikacích AIR určených pro zařízení využívající platformu AIR for TV.
• Profil extendedTV. Tento profil použijte, pokud vaše aplikace pro platformu AIR for TV využívá nativní rozšíření.
Funkce jazyka ActionScript definované pro tyto profily jsou popsány v části „Profily zařízení“ na stránce 242.
Konkrétní rozdíly v jazyce ActionScript u aplikací AIR pro televizi jsou uvedeny v příručce ActionScript 3.0 Reference
for the Adobe Flash Platform (Referenční příručka pro jazyk ActionScript 3.0 pro platformu Adobe Flash Platform).
Podrobnosti o profilech pro platformu AIR for TV naleznete v tématu „Podporované profily“ na stránce 138.
Hardwarová akcelerace
Televizní zařízení obsahují hardwarové akcelerátory, které výrazně zvyšují výkon grafiky a videa v aplikaci AIR.
Chcete-li využívat tyto hardwarové akcelerátory, přečtěte si téma „Faktory ovlivňující návrh aplikace AIR pro televizi“
na stránce 120.
Ochrana obsahu
Platforma AIR for TV může divákům nabídnout špičkové zážitky prostřednictvím kvalitního video obsahu, od
hollywoodských trháků přes nezávislé filmy až po televizní seriály. Poskytovatelé obsahu mohou vytvářet interaktivní
aplikace pomocí nástrojů Adobe. Mohou do své infrastruktury pro distribuci obsahu integrovat serverové produkty
Adobe nebo spolupracovat s některým z partnerů společnosti Adobe.
Ochrana obsahu je klíčovým požadavkem pro distribuci kvalitního videa. Platforma AIR for TV podporuje Adobe®
Flash® Access™, tedy řešení pro tržby a ochranu obsahu, které splňuje požadavky vlastníků obsahu včetně velkých
filmových studií na přísné zabezpečení.
Řešení Flash Access podporuje následující funkce:
• Streamování a stahování videa.
• Různé obchodní modely, včetně reklamní podpory, předplatného, pronájmu a elektronického prodeje.
Poslední aktualizace 31.8.2016
119
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
• Různé technologie doručování obsahu, včetně dynamického streamování HTTP, streamování prostřednictvím
protokolu RTMP (Real Time Media Protocol), použití serveru Flash® Media Server a postupného stahování
prostřednictvím protokolu HTTP.
Platforma AIR for TV obsahuje také vestavěnou podporu protokolu RTMPE, což je šifrovaná verze protokolu RTMP,
pro stávající řešení streamování s nižšími požadavky na zabezpečení. Protokol RTMPE a související technologie
ověřování souborů SWF jsou podporovány na serveru Flash Media Server.
Další informace naleznete v části Adobe Flash Access.
Vícekanálový zvuk
Od verze AIR 3 podporuje platforma AIR for TV vícekanálový zvuk pro videa postupně stahovaná z HTTP serveru.
Tato podpora zahrnuje následující kodeky:
• AC-3 (Dolby Digital)
• E-AC-3 (Enhanced Dolby Digital)
• DTS Digital Surround
• DTS Express
• DTS-HD High Resolution Audio
• DTS-HD Master Audio
Poznámka: Podpora vícekanálového zvuku ve videích streamovaných ze serveru Adobe Flash Media Server zatím není
k dispozici.
Herní vstup
Od verze AIR 3 podporuje platforma AIR for TV rozhraní API jazyka ActionScript umožňující aplikacím komunikaci
s připojenými vstupními herními zařízeními, jako jsou pákové ovladače, gamepady nebo hůlkové ovladače (wand).
Přestože se tato zařízení nazývají vstupní herní zařízení, mohou je používat všechny aplikace platformy AIR for TV,
nejen hry.
K dispozici je velké množství různých vstupních herních zařízení s různými možnostmi. Proto jsou tato zařízení v
rozhraní API zobecněna tak, aby aplikace mohla správně fungovat s různými (a také s neznámými) typy vstupních
herních zařízení.
Vstupním bodem rozhraní API jazyka ActionScript pro herní vstup je třída GameInput. Další informace naleznete v
popisu třídy GameInput.
Akcelerované vykreslování grafiky Stage 3D
Od verze AIR 3 podporuje platforma AIR for TV akcelerované vykreslování grafiky Stage 3D. Rozhraní API jazyka
ActionScript Stage3D představuje sadu nízkoúrovňových rozhraní API s akcelerací karty GPU, ve kterých jsou k
dispozici pokročilé možnosti pro 2D a 3D grafiku. Tato nízkoúrovňová rozhraní API poskytují vývojářům možnost
pružně využít hardwarovou akceleraci karet GPU a dosáhnout podstatného zvýšení výkonu. Lze také využít herní
moduly, které podporují rozhraní API jazyka ActionScript Stage3D.
Další informace naleznete na stránce Gaming engines, 3D, and Stage 3D (Herní moduly, 3D a Stage 3D).
Nativní rozšíření
Pokud je pro aplikaci určen profil extendedTV, může používat balíčky ANE (AIR native extension).
Poslední aktualizace 31.8.2016
120
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Výrobce zařízení obvykle poskytuje balíčky ANE s cílem zajistit přístup k funkcím zařízení, které by jinak nebyly
prostředím AIR podporovány. Například nativní rozšíření by mohlo umožňovat přepnutí kanálů v televizi nebo
pozastavení přehrávání ve videopřehrávači.
Při sbalení je aplikace AIR for TV používající balíčky ANE sbalena do souboru AIRN, nikoli do souboru AIR.
Nativní rozšíření pro zařízení AIR for TV jsou vždy součástí zařízení. To znamená, že knihovny rozšíření jsou
nainstalované v zařízení AIR for TV. Balíček ANE, který zahrnete do balíčku své aplikace, nikdy neobsahuje nativní
knihovny rozšíření. Někdy tento balíček obsahuje verzi nativního rozšíření, která je pouze v jazyku ActionScript. Tato
verze v jazyce ActionScript je zástupná nebo simulační verze rozšíření. Výrobce zařízení nainstaluje do zařízení
skutečné rozšíření, včetně nativních knihoven.
Pokud vyvíjíte nativní rozšíření, je třeba vzít v úvahu následující:
• Pokud vytváříte nativní rozšíření platformy AIR for TV pro nějaké zařízení, vždy se poraďte s jeho výrobcem.
• Pro některá zařízení AIR for TV vytváří nativní rozšíření pouze výrobce zařízení.
• U všech zařízení AIR for TV rozhoduje výrobce zařízení, která nativní rozšíření budou nainstalována.
• Vývojářské nástroje pro vytváření nativních rozšíření platformy AIR for TV se liší podle výrobce.
Další informace o používání nativních rozšíření v aplikacích AIR naleznete v tématu „Použití nativních rozšíření pro
prostředí Adobe AIR“ na stránce 146.
Informace o vytváření nativních rozšíření naleznete na stránce Developing Native Extensions for Adobe AIR (Vývoj
nativních rozšíření pro Adobe AIR).
Faktory ovlivňující návrh aplikace AIR pro televizi
Faktory týkající se videa
Pokyny pro kódování videa
Společnost Adobe doporučuje při streamování videa do televizního zařízení dodržovat následující pokyny pro
kódování:
Kodek videa:
H.264, hlavní nebo vysoký profil, progresivní kódování
Rozlišení:
720i, 720p, 1 080i nebo 1 080p
Kmitočet snímků:
24 snímků za sekundu nebo 30 snímků za sekundu
Zvukový kodek:
AAC-LC nebo AC-3, 44,1 kHz, stereo nebo tyto vícekanálové zvukové kodeky: E-AC-3,
DTS, DTS Express, DTS-HD High Resolution Audio nebo DTS-HD Master Audio
Kombinovaný
datový tok:
až 8 Mb/s v závislosti na dostupné šířce pásma
Datový tok zvuku:
až 192 kb/s
Poměr stran
obrazových bodů:
1×1
Společnost Adobe doporučuje pro video doručované do zařízení využívajících platformu AIR for TV používat kodek
H.264.
Poslední aktualizace 31.8.2016
121
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Poznámka: Platforma AIR for TV podporuje rovněž kódování videa pomocí kodeků Sorenson Spark nebo On2 VP6.
Hardware ale tyto kodeky nedekóduje a neposkytuje. Místo toho běhové prostředí dekóduje a poskytuje tyto kodeky
pomocí softwaru, a proto je video přehráváno s mnohem nižším kmitočtem snímků. Proto používejte kodek H.264, pokud
je to možné.
Třída StageVideo
Platforma AIR for TV podporuje hardwarové dekódování a prezentování videa kódovaného pomocí kodeku H.264. K
aktivaci této funkce použijte třídu StageVideo.
V části Hardwarově akcelerované prezentování pomocí třídy StageVideo v Příručce pro vývojáře jazyka ActionScript
3.0 naleznete podrobnosti o těchto tématech:
• Rozhraní API třídy StageVideo a souvisejících tříd.
• Omezení použití třídy StageVideo.
Pro zajištění nejlepší podpory stávajících aplikací AIR, jež pro video kódované pomocí kodeku H.264 používají objekt
Video, používá platforma AIR for TV interně objekt StageVideo. Tímto způsobem lze při přehrávání videa využívat
výhody hardwarového dekódování a prezentování. Na objekt Video se však vztahují stejná omezení jako na objekt
StageVideo. Pokud se aplikace například pokusí otočit video, otočení se neprovede, protože prezentování videa
provádí hardware, nikoli běhové prostředí.
Při psaní nových aplikací však pro video kódované pomocí kodeku H.264 používejte objekt StageVideo.
Příklad použití třídy StageVideo naleznete v tématu Delivering video and content for the Flash Platform on TV
(Doručování videa a obsahu pro platformu Flash v televizi).
Pokyny pro doručování videa
V zařízení využívajícím platformu AIR for TV se během přehrávání videa může dostupná šířka pásma sítě měnit. K
těmto odchylkám může docházet například v případě, že stejné internetové připojení začne používat jiný uživatel.
Společnost Adobe proto doporučuje, aby systém doručování videa používal možnosti adaptivního datového toku. Na
straně serveru například Flash Media Server podporuje možnosti adaptivního datového toku. Na straně klienta můžete
používat architekturu OSMF (Open Source Media Framework).
K doručování obsahu videa prostřednictvím sítě do aplikace pro platformu AIR for TV jsou k dispozici následující
protokoly:
• Dynamické streamování HTTP a HTTPS (formát F4F)
• Streamování RTMP, RTMPE, RTMFP, RTMPT a RTMPTE
• Postupné stahování HTTP a HTTPS
Další informace naleznete v následujících zdrojích:
• Adobe Flash Media Server – příručka pro vývojáře
• Open Source Media Framework
Faktory týkající se zvuku
Jazyk ActionScript pro přehrávání zvuku se v aplikacích pro platformu AIR for TV nijak neliší od ostatních aplikací
AIR. Informace naleznete v části Práce se zvukem v Příručce pro vývojáře jazyka ActionScript 3.0.
Poslední aktualizace 31.8.2016
122
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
U podpory vícekanálového zvuku na platformě AIR for TV je třeba vzít v úvahu následující skutečnosti:
• Platforma AIR for TV podporuje vícekanálový zvuk pro videa postupně stahovaná z HTTP serveru. Podpora
vícekanálového zvuku ve videích streamovaných ze serveru Adobe Flash Media Server zatím není k dispozici.
• Přestože platforma AIR for TV podporuje mnoho zvukových kodeků, ne všechna zařízení podporují celou sadu.
Pomocí metody flash.system.CapabilitieshasMultiChannelAudio() zjistíte, zda zařízení AIR for TV podporuje
konkrétní vícekanálový zvukový kodek, například AC-3.
Představte si například aplikaci, která si postupně stahuje soubor videa ze serveru. Server obsahuje jiné soubory
videa H.264, které podporují odlišné vícekanálové zvukové kodeky. Aplikace může použít metodu
hasMultiChannelAudio() k určení, který soubor videa má ze serveru vyžádat. Nebo může aplikace odeslat
serveru řetězec zahrnutý v parametru Capabilities.serverString. Řetězec označuje, které vícekanálové
zvukové kodeky jsou k dispozici, a tím umožní serveru výběr příslušného souboru videa.
• Při použití jednoho ze zvukových kodeků DTS je možné, že metoda hasMultiChannelAudio() vrátí hodnotu
true, ale zvuk ve formátu DTS nebude hrát.
Vezměme jako příklad přehrávač disků Blu-ray s výstupem S/PDIF připojený ke starému zesilovači. Starý zesilovač
nepodporuje formát DTS, ale výstup S/PDIF nemá žádný protokol, který by přehrávač disků Blu-ray upozornil.
Pokud přehrávač disků Blu-ray odešle datový proud DTS do starého zesilovače, uživatel nic neuslyší. Proto je při
používání formátu DTS nejlepší poskytnout uživateli rozhraní, pomocí kterého může označit, že zvuk nehraje. Poté
se aplikace může přepnout na jiný kodek.
Následující tabulka shrnuje používání různých zvukových kodeků v aplikacích pro platformu AIR for TV. Tabulky
také ukazuje, kdy zařízení využívající platformu AIR for TV používá hardwarové akcelerátory k dekódování
zvukového kodeku. Hardwarové dekódování vylepšuje výkon a snižuje zatížení projektoru.
Zvukový kodek
Dostupnost Hardwarové
i v prostředí dekódování
AIR for TV
Kdy použít tento zvukový
kodek
Další informace
AAC
Vždy
Ve videích kódovaných pomocí
kodeku H.264.
Používáte-li stream AAC obsahující pouze
zvuk, zapouzdřete zvukový stream do
kontejneru MP4.
Vždy
Pro streamování zvuku, například
pro internetovou hudební
streamovací službu.
mp3
Vždy
Ne
Pro zvuky v souborech SWF dané
aplikace.
Ve videích kódovaných pomocí
kodeku Sorenson Spark nebo On2
VP6
Poslední aktualizace 31.8.2016
Video H.264, které pro zvuk používá formát
mp3, nebude v zařízeních AIR for TV hrát.
123
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Zvukový kodek
Dostupnost Hardwarové
i v prostředí dekódování
AIR for TV
Kdy použít tento zvukový
kodek
Další informace
AC-3 (Dolby Digital)
Zkontrolova
t
Ano
Ve videích kódovaných pomocí
kodeku H.264.
Platforma AIR for TV obvykle vícekanálový
zvukový proudu do externího přijímače
zvuku/videa, který dekóduje a přehraje
zvuk.
Speex
Vždy
Ne
Příjem živého zvukového streamu. Video H.264, které pro zvuk používá kodek
Speex, nebude v zařízeních AIR for TV hrát.
Kodek Speex používejte pouze s videem
kódovaným kodekem Sorenson Spark
nebo On2 VP6.
NellyMoser
Vždy
Ne
Příjem živého zvukového streamu. Video H.264, které pro zvuk používá kodek
NellyMoser, nebude v zařízeních AIR for TV
hrát. Kodek NellyMoser používejte pouze s
videem kódovaným kodekem Sorenson
Spark nebo On2 VP6.
E-AC-3 (Enhanced Dolby
Digital)
DTS Digital Surround
DTS Express
DTS-HD High Resolution
Audio
DTS-HD Master Audio
Poznámka: Některé soubory videa obsahují dva zvukové proudy. Například soubor videa může obsahovat proud AAC
a AC3. Platforma AIR for TV nepodporuje takové soubory videa a použití takového soubor může mít za následek video
bez zvuku.
Hardwarová akcelerace grafiky
Používání hardwarové akcelerace grafiky
Zařízení využívající platformu AIR for TV poskytují hardwarovou akceleraci pro operace s 2D grafikou. Hardwarové
akcelerátory grafiky v daném zařízení zbavují procesor nutnosti provádět následující operace:
• Vykreslování bitmap
• Změny velikosti bitmap
• Prolnutí bitmap
• Vyplňování plných obdélníků
Tato hardwarová akcelerace grafiky znamená, že pro řadu grafických operací v aplikaci pro platformu AIR for TV se
může použít vysoký výkon. Mezi tyto operace patří například:
• Klouzavé přechody
• Přechody se změnou velikosti
• Postupné zobrazení a mizení
• Skládání více obrazů s alfa kanály
Chcete-li využívat výkon hardwarové akcelerace grafiky pro tyto typy operací, použijte jeden z následujících postupů:
• U objektů MovieClip a dalších objektů zobrazení s obsahem, který se většinou nemění, nastavte vlastnost
cacheAsBitmap na hodnotu true. Potom u těchto objektů proveďte klouzavé přechody, přechody mizení a
prolnutí alfa kanálů.
Poslední aktualizace 31.8.2016
124
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
• U objektů zobrazení, u kterých chcete změnit velikost nebo polohu (použít přemístění v osách x a y) použijte
vlastnost cacheAsBitmapMatrix.
Hardwarové akcelerátory daného zařízení provádějí tyto operace pomocí operací třídy Matrix pro změny velikosti
a polohy. Zvažte případně také možnost, že změníte rozměry objektu zobrazení, jehož vlastnost cacheAsBitmap je
nastavena na hodnotu true. Když se rozměry změní, bitmapu překreslí software běhového prostředí. Překreslení
pomocí softwaru vykazuje slabší výkon než změny velikosti prováděné hardwarovou akcelerací při použití operace
objektu Matrix.
Představte si například aplikaci, která zobrazuje obraz, jenž se zvětší, když jej koncový uživatel vybere. K vytvoření
iluze zvětšení obrazu použijte vícenásobně operaci změny velikosti objektu Matrix. V závislosti na velikostech
původního a výsledného obrazu však kvalita výsledného obrazu může být neakceptovatelná. Po dokončení operací
zvětšování proto znovu nastavte rozměry objektu zobrazení. Vlastnost cacheAsBitmap má hodnotu true, takže
software běhového prostředí objekt zobrazení překreslí, ale pouze jednou a vykreslí jej jako obraz vysoké kvality.
Poznámka: Zařízení využívající platformu AIR for TV obvykle nepodporují hardwarově akcelerované natočení a
zkosení. Pokud tedy ve třídě Matrix určíte natočení a zkosení, platforma AIR for TV provede všechny operace třídy
Matrix softwarově. Tyto softwarové operace mohou mít nepříznivý dopad na výkon.
• K vytvoření vlastního chování funkce ukládání bitmapy do mezipaměti použijte třídu BitmapData.
Další informace o ukládání bitmapy do mezipaměti naleznete v následujících tématech:
• Ukládání objektů zobrazení do vyrovnávací paměti
• Ukládání bitmapy do mezipaměti
• Ruční ukládání bitmapy do mezipaměti
Správa grafické paměti
K provádění zrychlených operací s grafikou používají hardwarové akcelerátory zvláštní grafickou paměť. Jestliže
aplikace využívá veškerou grafickou paměť, běží daná aplikace pomaleji, protože pro platforma AIR for TV se při
operacích s grafikou vrátí k používání softwaru.
Správa využívání grafické paměti danou aplikací:
• Jakmile dokončíte práci s obrazem nebo jinými bitmapovými daty, uvolněte grafickou paměť, která je k nim
přidružena. Tuto akci provedete voláním metody dispose() pro vlastnost bitmapData objektu Bitmap.
Například:
myBitmap.bitmapData.dispose();
Poznámka: Odebrání odkazu na objekt BitmapData nezpůsobí okamžité uvolnění grafické paměti. Čištění uvolněné
paměti běhového prostředí nakonec grafickou paměť uvolní, ale volání metody dispose() poskytuje aplikaci lepší
ovládání.
• K lepšímu porozumění hardwarové akceleraci grafiky v cílovém zařízení použijte aplikaci PerfMaster Deluxe, což
je aplikace AIR, kterou poskytuje společnost Adobe. Tato aplikace zobrazuje provádění různých operací pomocí
snímků v jednotlivých sekundách. Použijte aplikaci PerfMaster Deluxe k porovnání různých implementací stejné
operace. Porovnejte například přesunutí bitmapového obrazu a přesunutí vektorového obrazu. Aplikace
PerfMaster Deluxe je k dispozici na stránce Flash Platform for TV (Platforma Flash pro televizi).
Poslední aktualizace 31.8.2016
125
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Správa seznamu zobrazení
Chcete-li, aby byl objekt zobrazení neviditelný, nastavte vlastnost visible daného objektu na hodnotu false. Objekt
tak bude nadále v seznamu zobrazení, platforma AIR for TV jej však nezobrazí ani nevykreslí. Tato technika je užitečná
pro objekty, které se často objevují v zobrazení a mizí z něj, protože má jen malou režii zpracování. Při nastavení
vlastnosti visible na hodnotu false však nedojde k uvolnění žádných zdrojů objektu. Proto až budete hotovi se
zobrazením objektu (nebo jej na dlouhou dobu nebudete potřebovat), odstraňte objekt ze seznamu zobrazení.
Nastavte také všechny odkazy na objekt na hodnotu null. Tyto akce umožní, aby byly při čištění uvolněné paměti
uvolněny zdroje objektu.
Použití obrazů PNG a JPEG
Dvěma běžnými formáty obrazů v aplikacích jsou formáty PNG a JPEG. Při použití těchto formátů obrazů v aplikacích
pro platformu AIR for TV mějte na paměti následující skutečnosti:
• K dekódování souborů JPEG obvykle aplikace pro platformu AIR for TV používá hardwarovou akceleraci.
• K dekódování souborů PNG obvykle aplikace pro platformu AIR for TV používá software. Dekódování souborů
PNG v softwaru je rychlé.
• PNG je jediný bitmapový formát pro přenos mezi platformami, který podporuje průhlednost (alfa kanál).
Používejte tedy tyto formáty obrazů v aplikacích následujícím způsobem:
• Soubory JPEG používejte pro fotografie, abyste využili výhod hardwarově akcelerovaného dekódování.
• Soubory obrazů PNG používejte pro prvky uživatelského rozhraní. Prvky uživatelského rozhraní mohou mít
nastavení alfa a softwarové dekódování poskytuje pro prvky uživatelského rozhraní dostatečně rychlý výkon.
Plocha v aplikacích pro platformu AIR for TV
Během vytváření aplikace pro platformu AIR for TV mějte při práci s třídou Stage na paměti následující informace:
• Rozlišení obrazovky
• Bezpečná oblast zobrazení
• Režim změny velikosti vymezené plochy
• Zarovnání vymezené plochy
• Stav zobrazení vymezené plochy
• Návrh pro více velikostí obrazovky
• Nastavení kvality vymezené plochy
Rozlišení obrazovky
V současné době mají televizní zařízení obvykle některé z těchto rozlišení obrazovky: 540p, 720p a 1 080p. Tato
rozlišení obrazovky mají za následek následující hodnoty ve třídě Capabilities jazyka ActionScript:
Rozlišení
obrazovky
Capabilities.screenResolutionX
Capabilities.screenResolutionY
540p
960
540
720p
1 280
720
1 080p
1 920
1 080
Poslední aktualizace 31.8.2016
126
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Chcete-li vytvořit celoobrazovkovou aplikaci pro platformu AIR for TV pro konkrétní zařízení, zadejte do kódu pro
vlastnosti Stage.stageWidth a Stage.stageHeight hodnoty, jež určují rozlišení obrazovky daného zařízení. Pokud
však chcete vytvořit celoobrazovkovou aplikaci, která bude spouštěna ve více zařízeních, použijte k nastavení rozměrů
objektu Stage vlastnosti Capabilities.screenResolutionX a Capabilities.screenResolutionY.
Například:
stage.stageWidth = Capabilities.screenResolutionX;
stage.stageHeight = Capabilities.screenResolutionY;
Bezpečná oblast zobrazení
Bezpečná oblast zobrazení v televizi je oblast obrazovky, která je vsazena dovnitř od okrajů obrazovky. Tato oblast je
vsazena dostatečně daleko, aby koncový uživatel viděl celou plochu, aniž by zkosený rám televize jakoukoli část této
oblasti zakrýval. Zkosený rám, což je vlastně fyzická konstrukce okolo obrazovky, se u jednotlivých výrobců liší, a
proto se potřebné vsazení také liší. Bezpečná oblast zobrazení se pokouší zaručit viditelnou oblast obrazovky. Bezpečná
oblast zobrazení se označuje rovněž jako bezpečná oblast pro titulky.
Překrytí je oblast obrazovky, která není viditelná, protože se nachází za zkoseným rámem.
Společnost Adobe doporučuje vsazení 7,5 % na všech okrajích obrazovky. Například:
1920
1632
Oblast bezpečného zobrazení
918
1080
Bezpečná oblast zobrazení u rozlišení obrazovky 1 920 × 1 080
Při návrhu celoobrazovkové aplikace pro platformu AIR for TV mějte vždy na paměti bezpečnou oblast zobrazení:
• Pro pozadí, například obrazy na pozadí nebo barvy pozadí, používejte celou obrazovku.
• Pro důležité prvky aplikace, jako jsou například text, grafika, video a položky uživatelského rozhraní, například
tlačítka, používejte pouze bezpečnou oblast zobrazení.
Následující tabulka uvádí rozměry bezpečné oblasti zobrazení pro jednotlivá typická rozlišení obrazovky při použití
vsazení 7,5 %.
Rozlišení
obrazovky
Šířka a výška
bezpečné oblasti
zobrazení
Šířka vsazení vlevo a
vpravo
Výška vsazení nahoře
a dole
960 x 540
816 x 460
72
40
Poslední aktualizace 31.8.2016
127
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Rozlišení
obrazovky
Šířka a výška
bezpečné oblasti
zobrazení
Šířka vsazení vlevo a
vpravo
Výška vsazení nahoře
a dole
1 280 x 720
1 088 x 612
96
54
1 920 x 1 080
1 632 x 918
144
81
Doporučujeme však vždy bezpečnou oblast zobrazení dynamicky vypočítat. Například:
var horizontalInset, verticalInset, safeAreaWidth, safeAreaHeight:int;
horizontalInset = .075 * Capabilities.screenResolutionX;
verticalInset = .075 * Capabilities.screenResolutionY;
safeAreaWidth = Capabilities.screenResolutionX - (2 * horizontalInset);
safeAreaHeight = Capabilities.screenResolutionY - (2 * verticalInset);
Režim změny velikosti vymezené plochy
Nastavte vlastnost Stage.scaleMode na hodnotu StageScaleMode.NO_SCALE a naslouchejte událostem změny
velikosti vymezené plochy.
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, layoutHandler);
Toto nastavení nastaví souřadnice vymezené plochy na stejné hodnoty jako souřadnice obrazových bodů. Toto
nastavení společně s nastavením stavu zobrazení FULL_SCREEN_INTERACTIVE a nastavením zarovnání vymezené
plochy TOP_LEFT umožňuje efektivně využívat bezpečnou oblast zobrazení.
Konkrétně v celoobrazovkových aplikacích tento režim změny velikosti znamená, že vlastnosti stageWidth a
stageHeight třídy Stage odpovídají vlastnostem screenResolutionX a screenResolutionY třídy Capabilities.
Kromě toho při změně velikosti okna aplikace si obsah vymezené plochy zachová svou definovanou velikost. Běhové
prostředí neprovádí žádné automatické rozvržení nebo změny velikosti. Běhové prostředí při změně velikosti okna
také odesílá událost resize třídy Stage. Můžete tedy zcela ovládat úpravy obsahu aplikace při spuštění aplikace a při
změně velikosti okna aplikace.
Poznámka: Chování při nastavení NO_SCALE je stejné jako u ostatních aplikací AIR. V aplikacích pro platformu AIR for
TV je však toto nastavení důležité pro používání bezpečné oblasti zobrazení.
Zarovnání vymezené plochy
Nastavte vlastnost Stage.align na hodnotu StageAlign.TOP_LEFT:
stage.align = StageAlign.TOP_LEFT;
Toto zarovnání umístí souřadnici 0,0 do levého horního rohu obrazovky, což je praktické při umístění obsahu pomocí
jazyka ActionScript.
Toto nastavení společně s nastavením režimu změny velikosti NO_SCALE a nastavením stavu zobrazení
FULL_SCREEN_INTERACTIVE umožňuje efektivně využívat bezpečnou oblast zobrazení.
Stav zobrazení vymezené plochy
Nastavte vlastnost Stage.displayState v celoobrazovkové aplikaci pro platformu AIR for TV na hodnotu
StageDisplayState.FULL_SCREEN_INTERACTIVE:
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
Poslední aktualizace 31.8.2016
128
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Tato hodnota nastaví aplikaci AIR, aby vymezenou plochu rozšířila na celou obrazovku s povoleným vstupem
uživatele.
Společnost Adobe doporučuje používat nastavení FULL_SCREEN_INTERACTIVE. Toto nastavení společně s nastavením
režimu změny velikosti NO_SCALE a nastavením zarovnání vymezené plochy TOP_LEFT umožňuje efektivně využívat
bezpečnou oblast zobrazení.
Proto u celoobrazovkových aplikací v ovladači pro událost ADDED_TO_STAGE ve třídě hlavního dokumentu proveďte
následující postup:
private function onStage(evt:Event):void
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.RESIZE, onResize);
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
}
Potom v ovladači pro událost RESIZE:
• Porovnejte velikosti rozlišení obrazovky s šířkou a výškou vymezené plochy. Pokud jsou stejné, došlo k události
RESIZE, protože stav zobrazení vymezené plochy se změnil na hodnotu FULL_SCREEN_INTERACTIVE .
• Vypočítejte a uložte rozměry bezpečné oblasti zobrazení a odpovídajících vsazení.
private function onResize(evt:Event):void
{
if ((Capabilities.screenResolutionX == stage.stageWidth) &&
(Capabilities.screenResolutionY == stage.stageHeight))
{
// Calculate and save safe viewing area dimensions.
}
}
Pokud rozměry vymezené plochy odpovídají hodnotám vlastností Capabilities.screenResolutionX a
screenResolutionY, platforma AIR for TV způsobí, že budou video a grafika zobrazeny s maximální možnou
věrností.
Poznámka: Věrnost zobrazení grafiky a videa na televizní obrazovce se může lišit od hodnot vlastností
Capabilities.screenResolutionX a screenResolutionY, které závisejí na zařízeních s platformou AIR for TV.
Například set-top box s platformou AIR for TV může mít rozlišení obrazovky 1 280 x 720 a připojená televize může mít
rozlišení obrazovky 1 920 x 1 080. Platforma AIR for TV však způsobí, že hardware bude pracovat s maximální možnou
věrností. Proto hardware v tomto příkladu zobrazuje video s rozlišením 1 080p s použitím rozlišení obrazovky 1 920 x 1 080.
Návrh pro více velikostí obrazovky
Celoobrazovkovou aplikaci pro platformu AIR for TV můžete navrhnout tak, aby pracovala a vypadala dobře ve více
zařízeních využívajících platformu AIR for TV. Postupujte takto:
1 Nastavte vlastnosti scaleMode, align a displayState u vymezené plochy na doporučené hodnoty:
StageScaleMode.NO_SCALE, StageAlign.TOP_LEFT a StageDisplayState.FULL_SCREEN_INTERACTIVE, v
tomto pořadí.
2 Určete bezpečnou oblast zobrazení na základě vlastností Capabilities.screenResolutionX a
Capabilities.screenResolutionY.
3 Upravte velikost a rozvržení obsahu podle šířky a výšky bezpečné oblasti zobrazení.
Poslední aktualizace 31.8.2016
129
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
I když jsou objekty vašeho obsahu velké, zejména ve srovnání s aplikacemi pro mobilní zařízení, koncepty, jako jsou
dynamické rozvržení, relativní umístění a adaptivní obsah, jsou stejné. Další informace o jazyku ActionScript pro
podporu těchto konceptů naleznete v článku Authoring mobile Flash content for multiple screen sizes (Vytváření
mobilního obsahu Flash pro více velikostí obrazovky).
Kvalita vymezené plochy
Vlastnost Stage.quality pro aplikaci AIR for TV má vždy hodnotu StageQuality.High. Nelze ji změnit.
Tato vlastnost určuje kvalitu vykreslování pro všechny objekty na vymezené ploše.
Zpracování vstupu z dálkového ovladače
Uživatelé provádějí interakci s aplikací pro platformu AIR for TV obvykle pomocí dálkového ovladače. Zpracování
vstupu pomocí tlačítka dálkového ovladače však nastavte stejně jako zpracování vstupu z klávesnice stolního počítače.
Konkrétně zpracování události KeyboardEvent.KEY_DOWN. Další informace naleznete v tématu Zachycení vstupu z
klávesnice v Příručce pro vývojáře jazyka ActionScript 3.0.
Tlačítka na dálkovém ovladači jsou namapována na konstanty jazyka ActionScript. Například tlačítka směrové
klávesnice dálkového ovladače jsou namapována takto:
Tlačítko směrové klávesnice dálkového
ovladače
Konstanta jazyka ActionScript 3.0
Nahoru
Keyboard.UP
Dolů
Keyboard.DOWN
Doleva
Keyboard.LEFT
Doprava
Keyboard.RIGHT
OK nebo Vybrat
Keyboard.ENTER
Do prostředí AIR 2.5 byla přidána řada dalších konstant Keyboard pro podporu vstupu z dálkového ovládače. Úplný
seznam naleznete v tématu Třída Keyboard v Referenční příručce jazyka ActionScript 3.0 pro platformu Adobe Flash.
Pro zajištění funkčnosti aplikace v co největším počtu zařízení společnost Adobe doporučuje následující:
• Využívejte pouze tlačítka směrové klávesnice, pokud to je možné.
Různé dálkové ovládače obsahují různé sady tlačítek. Vždy však mají tlačítka směrové klávesnice.
Například dálkový ovladač pro přehrávač Blu-ray obvykle nemá tlačítka pro přechod mezi jednotlivými kanály.
Dokonce ani tlačítka pro přehrávání, pozastavení a zastavení se nevyskytují na všech dálkových ovladačích.
• Pokud aplikace vyžaduje více tlačítek, než je na směrové klávesnici, použijte tlačítka Menu a Info.
Tlačítka Menu a Info jsou další nejběžnější tlačítka na dálkových ovladačích.
• Mějte na paměti časté používání univerzálních dálkových ovladačů.
I v případě, že vytváříte aplikaci pro konkrétní zařízení, vezměte v úvahu, že řada uživatelů nepoužívá dálkový
ovladač, který je dodáván s daným zařízením. Místo toho používají univerzální dálkový ovladač. Uživatelé rovněž
často svůj univerzální dálkový ovladač nenaprogramují tak, aby všechna tlačítka odpovídala dálkovému ovladači
daného zařízení. Proto je vhodné používat pouze nejběžnější tlačítka.
• Zajistěte, aby uživatel mohl vždy z každé situace uniknout pomocí některého tlačítka směrové klávesnice.
Poslední aktualizace 31.8.2016
130
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Někdy existuje v aplikaci důvod pro použití tlačítka, které nepatří mezi nejběžnější tlačítka na dálkových
ovladačích. Poskytnutí únikové cesty pomocí některého tlačítka směrové klávesnice zajistí, že vaše aplikace bude
hladce fungovat ve všech zařízeních.
• Nepožadujte vstup pomocí ukazatele, pokud si nejste jisti, že cílové zařízení AIR for TV má možnost vstupu pomocí
ukazatele.
Přestože u mnohých počítačových aplikací je očekáván vstup z myši, většina televizorů vstup pomocí ukazatele
nepodporuje. Pokud tedy převádíte aplikace pro stolní počítače na spouštění v televizorech, nezapomeňte tyto
aplikace upravit tak, aby nebyl očekáván vstup z myši. Mezi tyto úpravy patří změny zpracování událostí a změny
pokynů pro uživatele. Například na spouštěcí obrazovce aplikace nezobrazujte text „Klepnutím spusťte“.
Řízení fokusu
Jestliže má prvek uživatelského rozhraní v aplikaci pro stolní počítače fokus, je cílem událostí vstupu uživatele,
například událostí klávesnice a událostí myši. Aplikace navíc zvýrazní prvek uživatelského rozhraní, který má fokus.
Řízení fokusu v aplikaci pro platformu AIR for TV se liší od řízení fokusu v aplikaci pro stolní počítače, protože:
• V aplikacích pro stolní počítače je k přesunutí fokusu na další prvek uživatelského rozhraní často používána klávesa
tabulátoru. V aplikacích pro platformu AIR for TV nelze klávesu tabulátoru používat. Dálkové ovládače obvykle
nemají klávesu tabulátoru. Řízení fokusu pomocí vlastnosti tabEnabled objektu DisplayObject jako u stolních
počítačů proto nelze použít.
• V aplikacích pro stolní počítače je často očekáváno, že uživatel nastaví fokus na prvek uživatelského rozhraní
pomocí myši.
Ve své aplikaci proto postupujte takto:
• Přidejte k objektu Stage posluchač události, který naslouchá událostem Keyboard, jako je
KeyboardEvent.KEY_DOWN.
• Vytvořte aplikační logiku, jež bude určovat, který prvek uživatelského rozhraní má být pro koncového uživatele
zvýrazněn. Nezapomeňte zvýraznit některý prvek uživatelského rozhraní při spuštění aplikace.
• Na základě aplikační logiky odešlete událost Keyboard, kterou přijme objekt Stage, do vhodného objektu prvku
uživatelského rozhraní.
K přiřazení fokusu do prvku uživatelského rozhraní můžete použít rovněž vlastnost Stage.focus nebo metodu
Stage.assignFocus(). Potom můžete přidat posluchač události k příslušnému objektu DisplayObject, aby
přijímal události klávesnice.
Návrh uživatelského rozhraní
Správnou funkčnost uživatelského rozhraní aplikace pro platformu AIR for TV v televizorech zajistíte začleněním
těchto doporučení, jež se týkají:
• schopnosti aplikace reagovat na podněty
• použitelnosti aplikace
• osobnosti a očekávání uživatele
Poslední aktualizace 31.8.2016
131
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Schopnost reagovat na podněty
Schopnost aplikace pro platformu AIR for TV reagovat na podněty můžete zvýšit pomocí následujících tipů.
• Počáteční soubor SWF dané aplikace by měl mít co nejmenší velikost.
Do počátečního souboru SWF načítejte pouze zdroje nezbytné ke spuštění aplikace. Načtěte například pouze obraz
spouštěcí obrazovky aplikace.
Toto doporučení platí i pro aplikace AIR pro stolní počítače, ale pro zařízení využívající platformu AIR for TV je
ještě důležitější. Zařízení využívající platformu AIR for TV například nemají procesní výkon, který by byl
ekvivalentní výkonu stolních počítačů. Dále tato zařízení ukládají aplikace do paměti flash, ke které není tak rychlý
přístup jako k pevným diskům ve stolních počítačích.
• Nastavte spouštění aplikace s kmitočtem alespoň 20 snímků za sekundu.
Navrhněte grafiku pro dosažení tohoto cíle. Složitost grafických operací může ovlivnit počet snímků za sekundu.
Tipy pro zvýšení výkonu vykreslování naleznete v tématu Optimalizace výkonu pro platformu Flash.
Poznámka: Grafický hardware v zařízeních využívajících platformu AIR for TV obvykle aktualizuje obrazovku
rychlostí 60 Hz nebo 120 Hz (60krát nebo 120krát za sekundu). Pro zobrazení na 60Hz nebo 120Hz obrazovce
například hardware hledá aktualizace na ploše na 30 snímcích za sekundu nebo na 60 snímcích za sekundu.
Skutečnost, zda se uživatel setká s těmito vyššími kmitočty snímků, však závisí na složitosti grafických operací
aplikace.
• Aktualizujte obrazovku během 100–200 milisekund od vstupu uživatele.
Uživatelé jsou netrpěliví, pokud aktualizace trvají déle, což má často za následek vícenásobná stisknutí tlačítek.
Použitelnost
Uživatelé aplikací pro platformu AIR for TV se nacházejí v prostředí „obývacího pokoje“. Sedí v místnosti naproti
televizi, která od nich může být vzdálena například 3 metry. V místnosti někdy bývá tma. Ke vstupu uživatelé obvykle
používají dálkový ovladač. Aplikaci může používat více osob, někdy společně, někdy jednotlivě v řadě za sebou.
Při návrhu uživatelského rozhraní pro používání v televizoru proto mějte na paměti následující skutečnosti:
• Prvky uživatelského rozhraní by měly být velké.
Při návrhu textu, tlačítek a dalších prvků uživatelského rozhraní berte v úvahu, že uživatel sedí v opačné straně
místnosti. Nastavte vše tak, aby sledování a čtení bylo snadné ze vzdálenosti například 3 metry. Nepokoušejte se
obrazovku zaplnit jen proto, že obrazovka je velká.
• Použijte takový kontrast, aby obsah bylo možné snadno sledovat a číst z opačné strany místnosti.
• Nastavením zvýraznění u příslušného prvku uživatelského rozhraní zajistěte, aby bylo zřejmé, který prvek má
fokus.
• Pohyb používejte pouze v případě, kdy je to nutné. Například klouzavý přechod z jedné obrazovky na další
obrazovku pro zajištění návaznosti může fungovat dobře. Pohyb však může působit rušivě, pokud nepomáhá
uživateli v navigaci nebo není standardní pro danou aplikaci.
• Vždy poskytněte uživateli jasný způsob, jak se v uživatelském rozhraní vrátit zpět.
Další informace o použití dálkového ovladače naleznete v tématu „Zpracování vstupu z dálkového ovladače“ na
stránce 129.
Osobnost a očekávání uživatele
Berte v úvahu, že uživatelé aplikací pro platformu AIR for TV obvykle hledají zábavu televizní kvality v přátelském a
uvolněném prostředí. Nemusejí nutně mít znalosti z oblasti počítačů nebo technologií.
Poslední aktualizace 31.8.2016
132
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Proto aplikace pro platformu AIR for TV navrhujte s následujícími charakteristikami:
• Nepoužívejte technické termíny.
• Vyhýbejte se používání modálních dialogových oken.
• Používejte přátelské, neformální pokyny, jež se hodí pro prostředí obývacího pokoje a nikoli pro pracovní nebo
technické prostředí.
• Používejte vysoce kvalitní grafické prvky, které televizní diváci očekávají.
• Vytvořte uživatelské rozhraní, které lze snadno používat s dálkovým ovládáním. Nepoužívejte prvky uživatelského
rozhraní a návrhu, které se lépe hodí do aplikace pro počítače nebo mobily. Například uživatelské rozhraní v
počítači nebo mobilním zařízení často zahrnuje ukazování a klikání na tlačítka myší nebo prstem.
Písma a text
Můžete používat písma zařízení nebo písma vložená do aplikace pro platformu AIR for TV.
Písma zařízení jsou písma, jež jsou nainstalována v daném zařízení. Všechna zařízení využívající platformu AIR for
TV mají následující písma zařízení:
Název písma
Popis
_sans
Písmo _sans je bezpatkové písmo. Písmem _sans, jež je nainstalováno ve všech
zařízeních AIR for TV, je Myriad Pro. Na televizní obrazovce obvykle vypadá bezpatkové
písmo lépe, vzhledem k delší pozorovací vzdálenosti.
_serif
Písmo _serif patkové písmo. Písmem _serif, jež je nainstalováno ve všech zařízeních
využívajících platformu AIR for TV, je Minion Pro.
_typewriter
Písmo _typewriter je neproporcionální písmo. Písmem _typewriter, jež je
nainstalováno ve všech zařízeních využívajících platformu AIR for TV, je Courier Std.
Všechna zařízení využívající platformu AIR for TV mají také následující písma pro asijské jazyky:
Název písma
Jazyk
Kategorie
písma
Kód národního
prostředí
RyoGothicPlusN-Regular
Japonština
sans
ja
RyoTextPlusN-Regular
Japonština
serif
ja
AdobeGothicStd-Light
Korejština
sans
ko
AdobeHeitiStd-Regular
Zjednodušená
čínština
sans
zh_CN
AdobeSongStd-Light
Zjednodušená
čínština
serif
zh_CN
AdobeMingStd-Light
Tradiční čínština
serif
zh_TW a zh_HK
Tato písma zařízení využívajících platformu AIR for TV:
• Jsou z knihovny Adobe® Type Library.
• Vypadají dobře v televizorech.
• Jsou navržena pro titulky videa.
• Jsou obrysy písem, nikoli bitmapová písma.
Poslední aktualizace 31.8.2016
133
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Poznámka: Výrobci zařízení často zahrnují do zařízení další písma zařízení. Tato písma zařízení poskytovaná výrobci
jsou k písmům zařízení využívajících platformu AIR for TV nainstalována navíc.
Společnost Adobe nabízí aplikaci s názvem FontMaster Deluxe, která zobrazuje všechna písma zařízení v daném
zařízení. Aplikace je k dispozici na stránce Flash Platform for TV (Platforma Flash pro televizi).
Můžete také písma do své aplikace pro platformu AIR for TV vložit. Informace o vložených písmech naleznete v části
Rozšířené vykreslování textu v Příručce pro vývojáře jazyka ActionScript 3.0.
Společnost Adobe doporučuje při používání textových polí TLF následující:
• Chcete-li používat národní prostředí, ve kterém je aplikace spuštěna, používejte pro text v asijských jazycích textová
pole TLF. Nastavte vlastnost locale objektu TextLayoutFormat přidruženého k objektu TLFTextField. Informace
o určení aktuálního národního prostředí naleznete v části Výběr lokální verze v Příručce pro vývojáře jazyka
ActionScript 3.0.
• V případě, že se jedná o písmo, které není jedním z písem zařízení využívajících platformu AIR for TV, zadejte
název písma do vlastnosti fontFamily v objektu TextLayoutFormat. Pokud je toto písmo v zařízení k dispozici,
platforma AIR for TV je použije. Pokud požadované písmo v zařízení není, platforma AIR for TV je na základě
nastavení vlastnosti locale zamění za vhodné písmo zařízení využívajícího platformu AIR for TV.
• Určete nastavení _sans, _serif nebo _typewriter pro vlastnost fontFamily a také nastavení vlastnosti locale,
aby bylo zajištěno, že platforma AIR for TV zvolí správné písmo zařízení využívajícího platformu AIR for TV. Podle
národního prostředí platforma AIR for TV provede výběr ze sady písem zařízení pro asijské jazyky nebo ze sady
písem zařízení pro jiné než asijské jazyky. Tato nastavení poskytují jednoduchý způsob, jak automaticky použít
správné písmo pro čtyři hlavní asijská národní prostředí a pro angličtinu.
Poznámka: Používáte-li pro text v asijských jazycích klasická textová pole, pro zaručení správného vykreslení určete
název písma zařízení využívajícího platformu AIR for TV. Pokud víte, že v cílovém zařízení je nainstalováno další písmo,
můžete je také určit.
S ohledem na výkon aplikace vezměte v úvahu následující skutečnosti:
• Klasická textová pole zajišťují vyšší výkon než textová pole TLF.
• Klasické textové pole, které používá bitmapová písma, zajišťuje nejvyšší výkon.
Bitmapová písma poskytují pro každý znak bitmapu, na rozdíl od obrysových písem, která poskytují pouze data s
obrysy jednotlivých znaků. Písma zařízení i vložená písma mohou být bitmapovými písmy.
• Pokud určíte písmo zařízení, ujistěte se, že dané písmo zařízení je v cílovém zařízení nainstalováno. Pokud písmo
není v zařízení nainstalováno, platforma AIR for TV vyhledá a použije jiné písmo, které je v zařízení nainstalováno.
Toto chování však zpomalí výkon aplikace.
• Pokud se objekt TextField většinou nemění, stejně jako u jakéhokoli jiného objektu zobrazení nastavte jeho
vlastnost cacheAsBitmap na hodnotu true . Toto nastavení zvýší výkon při provádění přechodů, jako jsou
například mizení, klouzání a prolnutí alfa kanálů. Pro změny velikosti a polohy používejte vlastnost
cacheAsBitmapMatrix. Další informace naleznete v části „Hardwarová akcelerace grafiky“ na stránce 123.
Zabezpečení souborového systému
Aplikace pro platformu AIR for TV jsou aplikace AIR, a proto mají přístup k souborovému systému daného zařízení.
U zařízení pro „obývací pokoj“ je však velmi důležité, aby aplikace neměla přístup k systémovým souborům zařízení
ani k souborům jiných aplikací. Uživatelé televizorů a přidružených zařízení neočekávají a netolerují žádná selhání
zařízení – sledují přece televizi.
Poslední aktualizace 31.8.2016
134
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Na aplikaci pro platformu AIR for TV se proto v souborovém systému zařízení vztahují určitá omezení. Pomocí jazyka
ActionScript 3.0 může vaše aplikace přistupovat pouze k určitým adresářům (a jejich podadresářům). Navíc názvy
adresářů, které používáte v jazyce ActionScript, nejsou skutečnými názvy adresářů v zařízení. Tato další úroveň brání
aplikacím pro platformu AIR for TV v tom, aby náhodou nebo úmyslně se škodlivým záměrem nezískaly přístup k
místním souborům, které k nim nepatří.
Podrobnosti naleznete v tématu Zobrazení složek pro aplikace prostředí AIR for TV.
Karanténa aplikace AIR
Aplikace pro platformu AIR for TV jsou spouštěny v karanténě aplikace AIR, jež je popsána v tématu Karanténa
aplikace AIR.
Jediným rozdílem v případě aplikací pro platformu AIR for TV je, že tyto aplikace mají omezený přístup k
souborovému systému, jak je popsáno v tématu „Zabezpečení souborového systému“ na stránce 133.
Životní cyklus aplikace
Rozdílem oproti prostředí stolního počítače je, že koncový uživatel nemůže zavřít okno, ve kterém je aplikace pro
platformu AIR for TV spuštěna. Nabídněte proto v uživatelském rozhraní mechanismus pro ukončení aplikace.
Zařízení obvykle umožňuje koncovému uživateli kdykoli ukončit aplikaci pomocí tlačítka dálkového ovladače pro
ukončení. Platforma AIR for TV však událost flash.events.Event.EXITING neodešle do aplikace. Ukládejte proto
pravidelně stav aplikace, aby se při příštím spuštění mohla aplikace obnovit v odpovídajícím stavu.
Soubory cookie HTTP
Platforma AIR for TV podporuje trvalé soubory cookie protokolu HTTP a soubory cookie relací. Platforma AIR for
TV uloží každý soubor cookie aplikace AIR do specifického adresáře aplikace.
/app-storage/<app id>/Local Store
Soubor cookie má název cookies.
Poznámka: Prostředí AIR pro jiná zařízení, například stolní počítače, neukládá soubory cookie samostatně pro každou
aplikaci. Úložiště souborů cookie specifické pro aplikaci podporuje aplikaci a model zabezpečení pro platformu AIR for TV.
Použijte vlastnost URLRequest.manageCookies jazyka ActionScript takto:
• Nastavte vlastnost manageCookies na hodnotu true. Tato hodnota je výchozí. Určuje, že platforma AIR for TV
automaticky přidává soubory cookie do požadavků HTTP a ukládá do paměti soubory cookie v odpovědi HTTP.
Poznámka: I když vlastnost manageCookies má hodnotu true, je možné v aplikaci přidat soubor cookie do
požadavku HTTP ručně pomocí vlastnosti URLRequest.requestHeaders. Pokud tento soubor cookie má stejný
název jako soubor cookie, který spravuje platforma AIR for TV, bude požadavek obsahovat dva soubory cookie se
stejným názvem. Hodnoty těchto dvou souborů cookie mohou být různé.
• Nastavte vlastnost manageCookies na hodnotu false. Tato hodnota určuje, že za odesílání souborů cookie v
požadavcích HTTP a za ukládání souborů cookie v odpovědi HTTP do paměti je odpovědná aplikace.
Další informace viz třída URLRequest.
Poslední aktualizace 31.8.2016
135
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Pracovní postup pro vývoj aplikace pro platformu AIR
for TV
Aplikace pro platformu AIR for TV lze vyvíjet pomocí následujících vývojových nástrojů platformy Adobe Flash:
• Adobe Flash Professional
Aplikace Adobe Flash Professional CS5.5 podporuje prostředí AIR 2.5 for TV, první verze prostředí AIR
podporující aplikace pro platformu AIR for TV.
• Adobe Flash® Builder®
Flash Builder 4.5 podporuje prostředí AIR 2.5 for TV.
• Sada AIR SDK
Od verze AIR 2.5 můžete k vývoji aplikací používat nástroje příkazového řádku poskytované se sadou AIR SDK.
Chcete-li sadu AIR SDK stáhnout, navštivte stránku http://www.adobe.com/cz/products/air/sdk/.
Používání aplikace Flash Professional
Používání aplikace Flash Professional k vývoji, testování a publikování aplikací pro platformu AIR for TV se podobá
používání nástroje pro aplikace AIR pro stolní počítače.
Při vytváření kódu jazyka ActionScript 3.0 však používejte pouze třídy a metody, které podporují profily tv a
extendedTV prostředí AIR. Podrobnosti naleznete v tématu „Profily zařízení“ na stránce 242.
Nastavení projektu
Při nastavení projektu pro aplikaci pro platformu AIR for TV postupujte takto:
• Na kartě Flash v dialogovém okně Nastavení publikování nastavte možnost Přehrávač minimálně na hodnotu AIR 2.5.
• Na kartě Všeobecné v dialogovém okně pro nastavení aplikace Adobe AIR (Nastavení aplikace a instalátoru)
nastavte profil na hodnotu TV nebo extended TV.
Ladění
Svou aplikaci můžete spustit pomocí nástroje AIR Debug Launcher v aplikaci Flash Professional. Postupujte takto:
• Chcete-li spustit aplikaci v režimu ladění, vyberte položky:
Ladit > Ladit film > V aplikaci AIR Debug Launcher (pro stolní počítače)
Po provedení tohoto výběru můžete pro další spouštění ladění vybrat položky:
Ladit > Ladit film > Ladit
• Chcete-li aplikaci spustit bez funkcí režimu ladění, vyberte položky:
Ovládání > Testovací film > V aplikaci AIR Debug Launcher (pro stolní počítače)
Po provedení tohoto výběru můžete pro další spouštění vybrat položky Ovládání > Testovací film > Testovat.
V prostředí AIR jste nastavili profil pro televizi nebo rozšířený profil pro televizi, a proto nástroj AIR Debug Launcher
obsahuje nabídku s názvem Remote Control Buttons (Tlačítka dálkového ovladače). Tato nabídka umožňuje simulaci
stisknutí tlačítek dálkového ovladače.
Další informace naleznete v tématu „Vzdálené ladění pomocí aplikace Flash Professional“ na stránce 144.
Poslední aktualizace 31.8.2016
136
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Používání nativních rozšíření
Jestliže vaše aplikace využívá nativní rozšíření, postupujte podle pokynů v části „Seznam úloh pro používání nativního
rozšíření“ na stránce 148.
Pokud však aplikace využívá nativní rozšíření:
• Danou aplikaci nelze publikovat pomocí aplikace Flash Professional. K publikování dané aplikace použijte nástroj
ADT. Informace naleznete v tématu „Zabalení pomocí nástroje ADT“ na stránce 140.
• Danou aplikaci nelze spustit nebo ladit pomocí aplikace Flash Professional. K ladění dané aplikace ve vývojářském
počítači použijte nástroj ADT. Informace naleznete v tématu „Simulace zařízení pomocí programu ADL“ na
stránce 142.
Používání aplikace Flash Builder
Od verze Flash Builder 4.5 podporuje aplikace Flash Builder vývoj na platformě AIR for TV. Používání aplikace Flash
Builder k vývoji, testování a publikování aplikací pro platformu AIR for TV se podobá používání nástroje pro aplikace
AIR pro stolní počítače.
Nastavení aplikace
Ujistěte se, zda vaše aplikace:
• Používá jako třídu kontejneru v souboru MXML element Application, pokud používáte soubor MXML:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<!-- Place elements here. -->
</s:Application>.
Důležité: Aplikace pro platformu AIR for TV nepodporují element WindowedApplication.
Poznámka: Soubor MXML nemusíte vůbec použít. Místo toho můžete vytvořit projekt v jazyce ActionScript 3.0.
• Používá pouze třídy a metody jazyka ActionScript 3.0, které podporují profily tv a extendedTV prostředí AIR.
Podrobnosti naleznete v tématu „Profily zařízení“ na stránce 242.
Dále se v souboru XML vaší aplikace ujistěte, že:
• Atribut xmlns v elementu application je nastaven na prostředí AIR 2.5:
<application xmlns="http://ns.adobe.com/air/application/2.5">
• Element supportedProfiles obsahuje hodnotu tv nebo extendedTV:
<supportedProfiles>tv</supportedProfiles>
Ladění aplikace
Svou aplikaci můžete spustit pomocí nástroje AIR Debug Launcher v aplikaci Flash Builder. Postupujte takto:
1 Vyberte položky Run (Spustit) >Debug Configurations (Konfigurace ladění).
2 Ujistěte se, zda je v poli Profile (Profil) nastavena hodnota Desktop (Stolní počítač).
3 Pro spuštění v režimu ladění vyberte položky Run (Spustit) > Debug (Ladit). Pro spuštění bez funkcí režimu ladění
vyberte položky Run (Spustit) > Run (Spustit).
Poslední aktualizace 31.8.2016
137
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Element supportedProfiles jste nastavili na profil pro televizi nebo rozšířený profil pro televizi, a proto nástroj AIR
Debug Launcher obsahuje nabídku s názvem Remote Control Buttons (Tlačítka dálkového ovladače). Tato nabídka
umožňuje simulaci stisknutí tlačítek dálkového ovladače.
Další informace naleznete v tématu „Vzdálené ladění pomocí aplikace Flash Builder“ na stránce 144.
Používání nativních rozšíření
Jestliže vaše aplikace využívá nativní rozšíření, postupujte podle pokynů v části „Seznam úloh pro používání nativního
rozšíření“ na stránce 148.
Pokud však aplikace využívá nativní rozšíření:
• Danou aplikaci nelze publikovat pomocí aplikace Flash Builder. K publikování dané aplikace použijte nástroj ADT.
Informace naleznete v tématu „Zabalení pomocí nástroje ADT“ na stránce 140.
• Danou aplikaci nelze spustit nebo ladit pomocí aplikace Flash Builder. K ladění dané aplikace ve vývojářském
počítači použijte nástroj ADT. Informace naleznete v tématu „Simulace zařízení pomocí programu ADL“ na
stránce 142.
Vlastnosti deskriptoru aplikace AIR for TV
Stejně jako u jiných aplikací AIR nastavíte základní vlastnosti aplikace v jejím souboru deskriptoru. Aplikace s
televizním profilem ignorují některé vlastnosti specifické pro stolní počítače, například velikost a průhlednost okna.
Aplikace zaměřené na zařízení v profilu extendedTV mohou využívat nativní rozšíření. Tyto aplikace identifikují
využívaná nativní rozšíření v elementu extensions.
Společná nastavení
Několik nastavení deskriptoru aplikace je důležitých pro všechny aplikace s televizním profilem.
Vyžadovaná verze běhového modulu AIR
Určete verzi běhového modulu AIR požadovanou pro aplikaci využívající obor názvů souboru deskriptoru aplikace.
Obor názvů přiřazený elementu application do značné míry určuje, jaké funkce může daná aplikace používat.
Představte si například aplikaci, která používá obor názvů prostředí AIR 2.5, ale uživatel má nainstalovanou některou
novější verzi. V takovém případě aplikace stále sleduje chování prostředí AIR 2.5, i když chování v novější verzi
prostředí AIR se liší. Aplikace bude mít přístup k novému chování a funkcím pouze v případě, že změníte obor názvů
a publikujete aktualizaci. Důležitou výjimkou z tohoto pravidla jsou opravy zabezpečení.
Určete obor názvů pomocí atributu xmlns kořenového elementu application:
<application xmlns="http://ns.adobe.com/air/application/2.5">
Prostředí AIR 2.5 představuje první verzi, která podporuje televizní aplikace.
Identita aplikace
Několik nastavení by mělo být jedinečných pro každou aplikaci, kterou publikujete. Nastavení zahrnuje elementy id,
name a filename.
<id>com.example.MyApp</id>
<name>My Application</name>
<filename>MyApplication</filename>
Poslední aktualizace 31.8.2016
138
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Verze aplikace
Element versionNumber slouží k zadání verze aplikace. Při zadávání hodnoty elementu versionNumber lze použít
posloupnost až tří čísel oddělených tečkami, například: „0.1.2“. Každý segment čísla verze může mít až tři číslice.
(Jinými slovy, nejvyšší přípustné číslo verze je „999.999.999“.) Není nutné uvést všechny tři segmenty čísla; hodnoty
„1“ a „1.0“ jsou také přípustná čísla verzí.
Můžete také zadat popisek verze pomocí elementu versionLabel. Přidáte-li popisek verze, zobrazí se místo čísla
verze.
<versionNumber>1.23.7<versionNumber>
<versionLabel>1.23 Beta 7</versionLabel>
Hlavní soubor SWF aplikace
Do podřízeného elementu versionLabel elementu initialWindow zadejte hlavní soubor SWF aplikace. Pokud se
zaměřujete na zařízení v televizním profilu, je nutné soubor SWF použít (aplikace založené na kódu HTML nejsou
podporovány).
<initialWindow>
<content>MyApplication.swf</content>
</initialWindow>
Soubor je nutné zahrnout do balíčku AIR (pomocí nástroje ADT nebo vašeho prostředí IDE). Prosté uvedení názvu v
deskriptoru aplikace nevede k automatickému zahrnutí souboru do balíčku.
Vlastnosti hlavní obrazovky
Počáteční vzhled a chování hlavní obrazovky aplikace řídí několik elementů podřízených elementu initialWindow.
Přestože je většina těchto vlastností v zařízeních s televizními profily ignorována, lze použít element fullScreen:
•
fullScreen – určuje, zda má aplikace zabírat celý displej zařízení, nebo zda jej má sdílet s běžnými prvky
operačního systému.
<fullScreen>true</fullScreen>
Element visible
Element visible je podřízený elementu initialWindow. Platforma AIR for TV ignoruje element visible, protože
obsah aplikace je v zařízeních AIR for TV vždy viditelný.
Pokud je však vaše aplikace určena také pro počítačová zařízení, nastavte element visible na hodnotu true.
Ve stolních počítačích je hodnota tohoto elementu nastavena na výchozí hodnotu false. Proto pokud element
visible nepoužijete, nebude obsah aplikace v počítačích viditelný. I když můžete použít k zobrazení obsahu aplikace
v počítačích třídu NativeWindow jazyka ActionScript, profily televizních zařízení třídu NativeWindow nepodporují.
Pokud se pokusíte použít třídu NativeWindow v aplikaci běžící v zařízení AIR for TV, aplikace se nenačte. Nezáleží na
tom, zda voláte nějakou metodu třídy NativeWindow. Aplikace používající tuto třídu se v zařízení AIR for TV nenačte.
Podporované profily
Pokud má aplikace smysl pouze v televizním zařízení, můžete zabránit v její instalaci do jiných typů počítačových
zařízení. Element supportedProfiles umožňuje vyřadit ze seznamu podporovaných profilů ostatní, nepodporované
profily:
<supportedProfiles>tv extendedTV</supportedProfiles>
Pokud aplikace využívá nativní rozšíření, zahrňte do seznamu podporovaných profilů pouze profil extendedTV:
<supportedProfiles>extendedTV</supportedProfiles>
Poslední aktualizace 31.8.2016
139
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Vynecháte-li element supportedProfiles, předpokládá se, že aplikace podporuje všechny profily.
Nezahrnujte do seznamu supportedProfilespouze profil tv. Některá televizní zařízení vždy používají platformu
AIR for TV v režimu, který odpovídá profilu extendedTV. Toto chování znamená, že platforma AIR for TV může
spouštět aplikace, které používají nativní rozšíření. Pokud element supportedProfiles specifikuje pouze profil tv,
znamená to, že obsah není kompatibilní s režimem platformy AIR for TV pro profil extendedTV. Proto některá
televizní zařízení aplikaci, která specifikuje pouze profil tv, nenačtou.
Seznam tříd jazyka ActionScript, které jsou podporovány v profilech tv a extendedTV, naleznete v tématu
„Schopnosti různých profilů“ na stránce 243.
Požadovaná nativní rozšíření
Aplikace, které podporují profil extendedTV, mohou využívat nativní rozšíření.
Elementy extensions a extensionID umožňují deklarovat všechna nativní rozšíření, která aplikace AIR používá v
deskriptoru aplikace. Následující příklad ukazuje syntaxi pro zadání dvou požadovaných nativních rozšíření:
<extensions>
<extensionID> com.example.extendedFeature</extensionID>
<extensionID> com.example.anotherFeature</extensionID>
</extensions>
Pokud rozšíření není v seznamu, aplikace ho nemůže použít.
Element extensionID má stejnou hodnotu jako element id v souboru deskriptoru rozšíření. Soubor deskriptoru
rozšíření je soubor XML s názvem extension.xml. Je zabalen v souboru ANE, který obdržíte od výrobce zařízení.
Pokud rozšíření uvedete v elementu extensions, ale v zařízení AIR for TV toto rozšíření není nainstalované, aplikaci
nebude možné spustit. Výjimkou z tohoto pravidla je situace, kdy je v souboru ANE, který přibalíte ke své aplikaci AIR
for TV, zástupná verze tohoto rozšíření. V takovém případě aplikace může běžet a bude používat zástupnou verzi
rozšíření. Zástupná verze obsahuje kód v jazyce ActionScript, ale žádný nativní kód.
Ikony aplikace
Požadavky na ikony aplikace v televizních zařízeních jsou specifické pro konkrétní zařízení. Výrobce zařízení
například určí:
• Požadované ikony a velikosti ikon.
• Požadované typy souborů a konvence pro vytváření názvů.
• Způsob poskytování ikon pro aplikaci, například sbalení ikon spolu s aplikací.
• Zda mají být v souboru deskriptoru aplikace určeny ikony v elementu icon.
• Chování v případě, že aplikace neobsahuje ikony.
Podrobnosti vám poskytne výrobce zařízení.
Ignorovaná nastavení
Aplikace v televizních zařízeních ignorují nastavení aplikace, která se vztahují k funkcím mobilních zařízení, nativních
oken či operačního systému stolního počítače. Ignorována nastavení zahrnují:
• allowBrowserInvocation
• aspectRatio
• autoOrients
Poslední aktualizace 31.8.2016
140
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
• customUpdateUI
• fileTypes
• height
• installFolder
• maximizable
• maxSize
• minimizable
• minSize
• programMenuFolder
• renderMode
• resizable
• systemChrome
• title
• transparent
• visible
• width
• x
• y
Zabalení aplikace AIR pro televizi
Zabalení pomocí nástroje ADT
K zabalení aplikace AIR pro televizi můžete použít nástroj příkazového řádku AIR ADT. Od sady AIR SDK verze 2.5
podporuje nástroj ADT balení pro televizní zařízení. Před sbalením proveďte kompilaci celého kódu jazyka
ActionScript a MXML. Musíte také mít certifikát pro podepsání kódu. Certifikát můžete vytvořit pomocí příkazu certificate nástroje ADT.
Podrobné informace o příkazech a možnostech nástroje ADT naleznete v tématu „AIR Developer Tool (ADT)“ na
stránce 163.
Vytvoření balíčku AIR
Chcete-li vytvořit balíček AIR, použijte příkaz package nástroje ADT:
adt -package -storetype pkcs12 -keystore ../codesign.p12 myApp.air myApp-app.xml myApp.swf icons
V příkladu se předpokládá, že:
• Cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku. (Viz téma „Proměnné prostředí pro
cestu“ na stránce 301.)
• Certifikát codesign.p12 se nachází v nadřazeném adresáři adresáře, z něhož příkaz nástroje ADT spouštíte.
Spusťte příkaz z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myApp-app.xml
(soubor deskriptoru aplikace), myApp.swf a adresář icons.
Poslední aktualizace 31.8.2016
141
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Při spuštění příkazu, jak je uveden, vás nástroj ADT vyzve k zadání hesla pro úložiště klíčů. Všechny programy
prostředí nemusí zadávané znaky hesla zobrazovat; po dokončení zadávání stačí stisknout klávesu Enter. Případně
můžete k zahrnutí hesla do příkazu nástroje ADT použít parametr storepass.
Vytvoření balíčku AIRN
Pokud vaše aplikace pro platformu AIR for TV využívá nativní rozšíření, místo balíčku AIR vytvořte balíček AIRN.
Chcete-li vytvořit balíček AIRN, použijte příkaz package nástroje ADT, přičemž cílový typ nastavte na hodnotu airn.
adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp-app.xml
myApp.swf icons -extdir C:\extensions
V příkladu se předpokládá, že:
• Cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku. (Viz téma „Proměnné prostředí pro
cestu“ na stránce 301.)
• Certifikát codesign.p12 se nachází v nadřazeném adresáři adresáře, z něhož příkaz nástroje ADT spouštíte.
• Parametr -extdir určuje název adresáře, který obsahuje soubory ANE, jež aplikace používá.
Tyto soubory ANE obsahují zástupnou nebo simulační verzi rozšíření jazyka, která využívá pouze ActionScript.
Verze rozšíření jazyka, která obsahuje nativní kód, je nainstalována v zařízení využívajícím platformu AIR for TV.
Spusťte příkaz z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myApp-app.xml
(soubor deskriptoru aplikace), myApp.swf a adresář icons.
Při spuštění příkazu, jak je uveden, vás nástroj ADT vyzve k zadání hesla pro úložiště klíčů. Všechny programy
prostředí nemusí zadávané znaky hesla zobrazovat; po dokončení zadávání stačí stisknout klávesu Enter. Případně
můžete k zahrnutí hesla do příkazu použít parametr storepass.
Pro aplikaci pro platformu AIR for TV, která využívá nativní rozšíření, můžete také vytvořit soubor AIRI. Soubor AIRI
je stejný jako soubor AIRN, až na to, že není podepsán. Například:
adt -prepare myApp.airi myApp.xml myApp.swf icons -extdir C:\extensions
Až budete připraveni k podpisu aplikace, můžete ze souboru AIRI vytvořit soubor AIRN:
adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp.airi
Další informace naleznete v tématu Vývoj nativních rozšíření pro prostředí Adobe AIR.
Balení pomocí aplikace Flash Builder nebo Flash Professional
Aplikace Flash Professional a Flash Builder umožňují publikovat nebo exportovat balíčky AIR, aniž byste museli sami
spustit nástroj ADT. Postup pro vytvoření balíčku AIR pro aplikaci AIR je popsán v dokumentaci k těmto aplikacím.
V současné době však pouze nástroj ADT může vytvořit balíčky AIRN, což jsou balíčky aplikace pro aplikace AIR for
TV používající nativní rozšíření.
Další informace naleznete v následujících zdrojích:
• Balení aplikací AIR pomocí aplikace Flash Builder
• Publikování pro prostředí Adobe AIR pomocí aplikace Flash Professional
Poslední aktualizace 31.8.2016
142
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Ladění aplikací AIR pro televizi
Simulace zařízení pomocí programu ADL
Nejrychlejší a nejsnadnější způsob testování a ladění většiny funkcí aplikací je spuštění aplikace ve vývojovém počítači
pomocí programu ADL (Adobe Debug Launcher).
Program ADL zvolí profil, který má použít, na základě elementu supportedProfiles v deskriptoru aplikace.
Konkrétně:
• Pokud je v seznamu uveden více než jeden profil, program ADL použije první z nich.
• Pomocí parametru -profile programu ADL lze vybrat některý z dalších profilů v seznamu supportedProfiles.
• (Pokud do deskriptoru aplikace element supportedProfiles nezahrnete, lze v argumentu -profile zadat
libovolný profil.)
Například pomocí následujícího příkazu spustíte aplikaci tak, aby simulovala profil tv:
adl -profile tv myApp-app.xml
Při simulaci profilu tv nebo extendedTV ve stolním počítači pomocí programu ADL se aplikace spustí v prostředí,
které lépe odpovídá cílovému zařízení. Například:
• Rozhraní API jazyka ActionScript, která nejsou součástí profilu v argumentu -profile, nejsou k dispozici.
• Program ADL umožňuje vstup ovládacích prvků zařízení, například dálkových ovladačů, prostřednictvím příkazů
nabídky.
• Zadání hodnoty tv nebo extendedTV do argumentu -profile umožní programu ADL simulaci třídy StageVideo
na stolním počítači.
• Zadání hodnoty extendedTV do argumentu -profile umožní aplikaci využívat zástupné nebo simulační verze
nativního rozšíření, jež jsou sbaleny se souborem AIRN aplikace.
Protože však program ADL spustí aplikaci ve stolním počítači, platí pro testování aplikací AIR pro televizi pomocí
programu ADL určitá omezení:
• Neodráží výkon aplikace v zařízení. Výkon otestujte na cílovém zařízení.
• Nesimuluje omezení objektu StageVideo. K přehrávání videa, které je zaměřeno na aplikaci AIR pro televizní
zařízení, se obvykle používá třída StageVideo, nikoli třída Video. Třída StageVideo těží z výhod v oblasti výkonu,
které nabízí hardware zařízení, vztahují se však na ni určitá omezení v oblasti zobrazení. Program ADL přehrává
video ve stolním počítači bez těchto omezení. Otestovat proto přehrávání videa na cílovém zařízení.
• Nemůže simulovat nativní kód nativního rozšíření. Můžete však zadat profil extendedTV, který podporuje nativní
rozšíření, a to do argumentu -profile programu ADL. Program ADL umožňuje testování pomocí zástupné nebo
simulační verze rozšíření jazyka, která využívá pouze ActionScript, jež je součástí balíčku ANE. Odpovídající
rozšíření jazyka, jež je v zařízení nainstalováno, však obvykle zahrnuje také nativní kód. Chcete-li testovat pomocí
rozšíření jazyka s tímto nativním kódem, spusťte aplikaci v cílovém zařízení.
Další informace naleznete v části „Program AIR Debug Launcher (ADL)“ na stránce 157.
Používání nativních rozšíření
Pokud aplikace využívá nativní rozšíření, vypadá příkaz programu ADL jako v následujícím příkladu:
adl -profile extendedTV -extdir C:\extensionDirs myApp-app.xml
Poslední aktualizace 31.8.2016
143
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
V příkladu se předpokládá, že:
• Cesta k nástroji ADL se nachází v definici cesty v prostředí příkazového řádku. (Viz téma „Proměnné prostředí pro
cestu“ na stránce 301.)
• Aktuální adresář obsahuje soubory aplikace. Tyto soubory zahrnují soubory SWF a soubor deskriptoru aplikace,
což v tomto příkladu je myApp-app.xml.
• Parametr -extdir určuje název adresáře, který obsahuje adresáře pro všechna nativní rozšíření, jež aplikace
používá. Každý z těchto adresářů obsahuje rozbalený soubor ANE nativního rozšíření. Například:
C:\extensionDirs
extension1.ane
META-INF
ANE
default
library.swf
extension.xml
signatures.xml
catalog.xml
library.swf
mimetype
extension2.ane
META-INF
ANE
default
library.swf
extension.xml
signatures.xml
catalog.xml
library.swf
mimetype
Tyto rozbalené soubory ANE obsahují zástupnou nebo simulační verzi rozšíření jazyka, která využívá pouze
ActionScript. Verze rozšíření jazyka, která obsahuje nativní kód, je nainstalována v zařízení využívajícím platformu
AIR for TV.
Další informace naleznete v tématu Vývoj nativních rozšíření pro prostředí Adobe AIR.
Řízení vstupu
Program ADL simuluje tlačítka dálkového ovládání na televizním zařízení. Vstup z těchto tlačítek můžete do
simulovaného zařízení odesílat pomocí nabídky zobrazené při spuštění programu ADL s použitím jednoho z
televizních profilů.
Velikost obrazovky
Aplikaci můžete testovat s různými velikostmi obrazovky, a to nastavením parametru -screensize programu ADL.
Můžete zadat řetězec obsahující čtyři hodnoty představující šířku a výšku u normální a maximalizované obrazovky.
Zadané rozměry v pixelech se vždy týkají rozvržení na výšku, tzn. že šířka je menší než výška. Například:
adl -screensize 728x1024:768x1024 myApp-app.xml
Trasování příkazů
Spustíte-li televizní aplikaci ve stolním počítači, vytiskne se výstup trasování do ladicího programu nebo okna
terminálu použitého ke spuštění programu ADL.
Poslední aktualizace 31.8.2016
144
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Vzdálené ladění pomocí aplikace Flash Professional
Ke vzdálenému ladění aplikace pro platformu AIR for TV při spuštění v cílovém zařízení lze použít aplikaci Flash
Professional. Postup nastavení vzdáleného ladění však závisí na příslušném zařízení. Například sada Adobe® AIR® for
TV MAX 2010 Hardware Development Kit obsahuje dokumentaci s podrobným postupem pro dané zařízení.
Jako přípravu na vzdálené ladění však bez ohledu na cílové zařízení proveďte následující postup:
1 V dialogovém okně Nastavení publikování vyberte na kartě Flash možnost Povolit ladění.
Tato možnost zajistí, že aplikace Flash Professional zahrne ladicí informace do všech souborů SWF, jež vytvoří ze
souboru FLA.
2 Na kartě Podpis v dialogovém okně pro nastavení aplikace Adobe AIR (Nastavení aplikace a instalátoru) vyberte
volbu pro přípravu souboru AIRI (AIR Intermediate).
Pokud svou aplikaci zatím vyvíjíte, bude dostačovat použití souboru AIRI, který nevyžaduje digitální podpis.
3 Proveďte publikování aplikace, čímž vytvoříte soubor AIRI.
Posledními kroky jsou instalace a spuštění aplikace v cílovém zařízení. Tyto kroky jsou však závislé na konkrétním
zařízení.
Vzdálené ladění pomocí aplikace Flash Builder
Ke vzdálenému ladění aplikace pro platformu AIR for TV při spuštění v cílovém zařízení lze použít rovněž aplikaci
Flash Builder. Postup provádění vzdáleného ladění však závisí na příslušném zařízení.
Jako přípravu na vzdálené ladění však bez ohledu na cílové zařízení proveďte následující postup:
1 Vyberte možnosti Project (Projekt) > Export Release Build (Export sestavení vydání). Vyberte volbu pro přípravu
souboru AIRI (AIR Intermediate).
Pokud svou aplikaci zatím vyvíjíte, bude dostačovat použití souboru AIRI, který nevyžaduje digitální podpis.
2 Proveďte publikování aplikace, čímž vytvoříte soubor AIRI.
3 Změňte balíček AIRI aplikace tak, aby obsahoval soubory SWF, jež obsahují ladicí informace.
Soubory SWF, jež obsahují ladicí informace, se nacházejí v projektovém adresáři Flash Builder pro danou aplikaci
v adresáři s názvem bin-debug. Soubory SWF v balíčku AIRI nahraďte soubory SWF z adresáře bin-debug.
Ve vývojovém počítači se systémem Windows můžete toto nahrazení provést následujícím způsobem:
1 Přejmenujte soubor balíčku AIRI tak, aby místo přípony AIRI měl příponu ZIP.
2 Extrahujte obsah souboru ZIP.
3 Nahraďte soubory SWF v extrahované adresářové struktuře soubory z adresáře bin-debug.
4 Znovu zabalte soubory v extrahovaném adresáři.
5 Znovu změňte zabalený soubor tak, aby měl opět příponu AIRI.
Používáte-li vývojový počítač se systémem Mac, je postup tohoto nahrazení závislý na konkrétním zařízení. Obecně
však zahrnuje následující kroky:
1 Nainstalujte balíček AIRI do cílového zařízení.
2 Soubory SWF v instalačním adresáři aplikace v cílovém zařízení nahraďte soubory SWF z adresáře bin-debug.
Poslední aktualizace 31.8.2016
145
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Vývoj aplikací AIR pro televizní zařízení
Uveďme například postup pro zařízení, jež je součástí sady Adobe AIR for TV MAX 2010 Hardware Development
Kit. Nainstalujte balíček AIRI podle popisu v dokumentaci k sadě. Potom pro přístup k cílovému zařízení použijte
v příkazovém řádku vývojového počítače Mac nástroj telnet. Soubory SWF v instalačním adresáři aplikace
/opt/adobe/stagecraft/apps/<název_aplikace>/ nahraďte soubory SWF z adresáře bin-debug.
Následující postup je určen pro vzdálené ladění pomocí aplikace Flash Builder a zařízení, jež je součástí sady Adobe
AIR for TV MAX 2010 Hardware Development Kit.
1 Ve vývojovém počítači s aplikací Flash Builder spusťte aplikaci AIR for TV Device Connector, která se dodává se
sadou MAX 2010 Hardware Development Kit. Program zobrazí adresu IP vašeho vývojového počítače.
2 V zařízení s vývojářskou sadou spusťte aplikaci DevMaster, která se také dodává s touto vývojářskou sadou.
3 V aplikaci DevMaster zadejte adresu IP vašeho vývojového počítače, jak je uvedena v aplikaci AIR for TV Device
Connector.
4 V aplikaci DevMaster se ujistěte, zda je vybrána možnost Enable Remote Debugging (Povolit vzdálené ladění).
5 Ukončete aplikaci DevMaster.
6 Ve vývojovém počítači v aplikaci AIR for TV Device Connector vyberte položku Start (Spustit).
7 V zařízení s vývojářskou sadou spusťte jinou aplikaci. Ověřte, zda jsou v aplikaci AIR for TV Device Connector
zobrazeny informace o trasování.
Pokud nejsou informace o trasování zobrazeny, nejsou vývojový počítač a zařízení s vývojářskou sadou propojeny.
Ujistěte se, zda je ve vývojovém počítači dostupný port, který se používá pro informace o trasování. V aplikaci AIR
for TV Device Connector můžete zvolit jiný port. Ujistěte se také, zda vaše brána firewall umožňuje přístup ke
zvolenému portu.
Potom v aplikaci Flash Builder spusťte debugger. Postupujte takto:
1 V aplikaci Flash Builder vyberte položky Run (Spustit) > Debug Configurations (Konfigurace ladění).
2 Z existující konfigurace ladění, která je určena pro místní ladění, zkopírujte název projektu.
3 V dialogovém okně Debug Configurations (Konfigurace ladění) vyberte položku Web Application (Webová
aplikace). Potom vyberte ikonu New Launch Configuration (Nová konfigurace spuštění).
4 Vložte název projektu do pole Project (Projekt).
5 V části adresa URL Or Path To Launch (Adresa URL nebo cesta pro spuštění) zrušte zaškrtnutí políčka Use Default
(Použít výchozí). Do textového pole zadejte about:blank.
6 Uložte změny výběrem položky Apply (Použít).
7 Výběrem položky Debug (Ladit) spusťte debugger aplikace Flash Builder.
8 Spusťte svou aplikaci v zařízení s vývojářskou sadou.
Nyní můžete pomocí debuggeru aplikace Flash Builder například nastavit body přerušení a zkoumat proměnné.
Poslední aktualizace 31.8.2016
146
Kapitola 9: Použití nativních rozšíření pro
prostředí Adobe AIR
Nativní rozšíření prostředí AIR poskytují rozhraní API jazyka ActionScript, která umožňují přístup k funkcím
specifickým pro určitá zařízení naprogramovaným v naivním kódu. Vývojáři nativních rozšíření někdy spolupracují
s výrobci zařízení a někdy jsou vývojáři třetích stran.
Pokud vyvíjíte nativní rozšíření, vyhledejte informace v tématu Vývoj nativních rozšíření pro prostředí Adobe AIR.
Nativní rozšíření je kombinací:
• tříd ActionScript,
• nativního kódu.
Nicméně jako vývojář aplikace AIR používající nativní rozšíření pracujete pouze s třídami jazyka ActionScript.
Nativní rozšíření jsou užitečná v následujících situacích:
• Implementace nativního kódu poskytuje přístup k funkcím specifickým pro platformu. Tyto funkce specifické pro
platformu nejsou dostupné v integrovaných třídách jazyka ActionScript a nelze je implementovat ve třídách jazyka
ActionScript specifických pro aplikaci. Implementace nativního kódu může takové funkce poskytnout, protože má
přístup k hardwaru a softwaru specifickému pro zařízení.
• Implementace nativního kódu může občas být rychlejší než implementace, který používá pouze jazyk ActionScript.
• Implementace nativního kódu může poskytnout přístup jazyku ActionScript ke staršímu nativním kódu.
Některé příklady nativních rozšíření naleznete v technickém centru Adobe Developer Center. Například jedno nativní
rozšíření poskytuje aplikacím AIR přístup k funkci vibrace systému Android. Viz Nativní rozšíření pro prostředí
Adobe AIR.
Soubory ANE (AIR Native Extension)
Vývojáři nativního rozšíření zabalí nativní rozšíření do souboru ANE. Soubor ANE je archivní soubor obsahující
nezbytné knihovny a prostředky pro nativní rozšíření.
U některých zařízení obsahuje soubor ANE knihovnu nativního kódu, kterou nativní rozšíření používá. Avšak u
jiných zařízení je knihovna nativního kódu nainstalována v zařízení. V některých případech nemá nativní rozšíření
pro konkrétní zařízení vůbec žádný kód, implementuje se pouze pomocí jazyka ActionScript.
Jako vývojář aplikace AIR Developer použijte soubor ANE následovně:
• Zahrňte soubor ANE do cesty ke knihovně aplikace stejným způsobem, jakým zahrnete soubor SWC do cesty ke
knihovně. Tato akce umožňuje aplikaci, aby odkazovala na třídy jazyka ActionScript rozšíření.
Poznámka: Při kompilaci aplikace je nutné použít pro soubor ANE dynamické propojení. Pokud používáte aplikaci
Flash Builder, určete na panelu ActionScript Builder Path Properties (Vlastnosti cesty editoru jazyka ActionScript)
položku External (Externí); pokud používáte příkazový řádek, zadejte řetězec -external-library-path.
• Zabalte soubor ANE s aplikací AIR.
Poslední aktualizace 31.8.2016
147
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Použití nativních rozšíření pro prostředí Adobe AIR
Nativní rozšíření versus třída NativeProcess jazyka
ActionScript
Jazyk ActionScript 3.0 poskytuje třídu NativeProcess. Tato třída umožňuje aplikaci AIR spouštět nativní procesy v
hostitelském operačním systému. Tato možnost je podobná nativním rozšířením, která poskytují přístup k funkcím a
platformám specifickým pro platformu. Když se rozhodujete zda použít třídu NativeProcess nebo nativní rozšíření,
zvažte následující skutečnosti:
• Pouze profil extendedDesktopprostředí AIR podporuje třídu NativeProcess. Pro aplikace AIR s profilem
mobileDevice nebo extendedMobileDevice představuje nativní rozšíření jedinou možnost.
• Vývojáři nativního rozšíření často poskytují nativní implementace pro různé platformy, ale rozhraní API jazyka
ActionScript, která poskytují, jsou obvykle stejná ve více platformách. Při použití třídy NativeProcess se může kód
jazyka ActionScript pro spuštění nativního procesu na různých platformách lišit.
• Třída NativeProcess spustí samostatný proces, zatímco nativní rozšíření spustí stejný proces jako aplikace AIR.
Proto pokud máte obavy ze zhroucení kódu, je použití třídy NativeProcess bezpečnější. Samostatný proces však
znamená, že bude zřejmě nutné implementovat zpracování komunikace v rámci procesu.
Nativní rozšíření versus knihovny třídy jazyka
ActionScript (soubory SWC)
Soubor SWC je knihovna třídy jazyka ActionScript knihovny v archivním formátu. Soubor SWC obsahuje soubor
SWF a jiné zdrojové soubory. Soubor SWC je pohodlný způsob sdílení tříd jazyka ActionScript namísto sdílení
jednotlivých kódů jazyka ActionScript a zdrojových souborů.
Balíček nativního rozšíření je soubor ANE. Stejně jako soubor SWC je soubor ANE také knihovnou jazyka
ActionScript obsahující soubor SWF a jiné zdrojové soubory v archivním formátu. Nicméně nejdůležitějším rozdílem
mezi souborem ANE a souborem SWC je, že pouze soubor ANE může obsahovat knihovnu nativního kódu.
Poznámka: Při kompilaci aplikace je nutné použít pro soubor ANE dynamické propojení. Pokud používáte aplikaci Flash
Builder, určete na panelu ActionScript Builder Path Properties (Vlastnosti cesty editoru jazyka ActionScript) položku
External (Externí); pokud používáte příkazový řádek, zadejte řetězec -external-library-path.
Další témata Nápovědy
O souborech SWC
Podporovaná zařízení
Od verze prostředí AIR 3 můžete použít nativní rozšíření v aplikacích pro následující zařízení:
• zařízení se systémem Android od verze Android 2.2,
• zařízení se systémem iOS od verze iOS 4.0,
• Simulátor iOS, od aplikace AIR 3.3
• Blackberry PlayBook,
• počítačová zařízení se systémem Windows, která podporují prostředí AIR 3.0,
Poslední aktualizace 31.8.2016
148
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Použití nativních rozšíření pro prostředí Adobe AIR
• počítačová zařízení se systémem Mac OS X, která podporují prostředí AIR 3.0,
Často je jedno nativní rozšíření určeno pro více platforem. Soubor ANE rozšíření obsahuje knihovny jazyka
ActionScript a nativní knihovny pro každou podporovanou platformu. Obvykle mají knihovny jazyka ActionScript
stejná veřejná rozhraní pro všechny platformy. Nativní knihovny jsou nutně odlišné.
V některých případech nativní rozšíření podporuje výchozí platformu. Implementace výchozí platformy má pouze
kód jazyka ActionScript, ale žádný nativní kód. Pokud zabalíte aplikaci pro platformu, kterou rozšíření konkrétně
nepodporuje, použije aplikace při spuštění výchozí implementaci. Například představte si rozšíření, které podporuje
funkci vztahující se pouze na mobilní telefony. Rozšíření může poskytovat také výchozí implementaci, kterou
počítačová aplikace může použít k simulaci této funkce.
Podporované profily zařízení
Následující profily prostředí AIR podporují nativní rozšíření:
•
extendedDesktop, představen ve verzi AIR 3.0
•
mobileDevice, představen ve verzi AIR 3.0
•
extendedMobileDevice, představen ve verzi AIR 3.0
Další témata Nápovědy
Podpora profilů prostředí AIR
Seznam úloh pro používání nativního rozšíření
Chcete-li použít nativní rozšíření v aplikaci, proveďte následující úlohy:
1 Deklarujte rozšíření v souboru deskriptoru aplikace.
2 Zahrňte soubor ANE do cesty ke knihovně aplikace.
3 Zabalte aplikaci.
Deklarujte rozšíření v souboru deskriptoru aplikace.
Všechny aplikace prostředí AIR mají soubor deskriptoru aplikace. Když aplikace používá nativní rozšíření, zahrnuje
soubor deskriptoru aplikace element <extensions>. Například:
<extensions>
<extensionID>com.example.Extension1</extensionID>
<extensionID>com.example.Extension2</extensionID>
</extensions>
Element extensionID má stejnou hodnotu jako element id v souboru deskriptoru rozšíření. Soubor deskriptoru
rozšíření je soubor XML s názvem extension.xml. Je zabalen v souboru ANE. Můžete použít nástroj extraktoru archivu
pro zobrazení souboru extension.xml.
Poslední aktualizace 31.8.2016
149
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Použití nativních rozšíření pro prostředí Adobe AIR
Zahrnutí souboru ANE do cesty ke knihovně aplikace
Chcete-li zkompilovat aplikaci, která využívá nativní rozšíření, zahrňte soubor ANE do cesty knihovny.
Použití souboru ANE s aplikací Flash Builder
Jestliže vaše aplikace využívá nativní rozšíření zahrňte soubor ANE pro nativní rozšíření do cesty knihovny. Potom
můžete v aplikaci Flash Builder zkompilovat kód jazyka ActionScript.
V aplikaci Flash Builder 4.5.1 proveďte následující kroky:
1 Změňte příponu názvu souboru z ANE na SWC. Tento krok je nutný proto, aby aplikace Flash Builder soubor
našla.
2 V projektu aplikace Flash Builder vyberte možnost Project (Projekt) > Properties (Vlastnosti).
3 V dialogovém okně Properties (Vlastnosti) vyberte položku Flex Build Path (Cesta vytvoření Flex).
4 Na kartě Library Path (Cesta ke knihovně) vyberte možnost Add SWC... (Přidat soubor SWC...).
5 Vyhledejte soubor SWC a vyberte příkaz Open (Otevřít).
6 V dialogovém okně Add SWC... (Přidat soubor SWC...) klepněte na tlačítko OK.
Soubor ANE se nyní zobrazí v dialogovém okně Properties (Vlastnosti) na kartě Library Path (Cesta ke knihovně).
7 Rozbalte položku souboru SWC. Poklepáním na položku Link Type (Typ odkazu) otevřete dialogové okno Library
Path Item Options (Volby položek cesty knihovny).
8 V dialogovém okně Library Path Item Options (Volby položek cesty knihovny) změňte hodnotu volby Link Type
(Typ odkazu) na External (Externí).
Nyní můžete aplikaci zkompilovat, například výběrem položek Project (Projekt) > Build Project (Vytvořit projekt).
Použití souboru ANE s aplikací Flash Professional
Jestliže vaše aplikace využívá nativní rozšíření zahrňte soubor ANE pro nativní rozšíření do cesty knihovny. Potom
můžete pomocí aplikace Flash Professional CS5.5 zkompilovat kód jazyka ActionScript. Postupujte takto:
1 Změňte příponu souboru ANE na SWC. Tento krok je nutný proto, aby aplikace Flash Professional mohla tento
soubor nalézt.
2 Pro soubor FLA vyberte položky Soubor > Nastavení jazyka ActionScript.
3 V dialogovém okně Další nastavení jazyka ActionScript 3.0 vyberte kartu Cesta knihovny.
4 Vyberte tlačítko Vyhledat soubor SWC.
5 Vyhledejte soubor SWC a vyberte příkaz Otevřít.
Soubor SWC se nyní zobrazí v dialogovém okně Další nastavení jazyka ActionScript 3.0 na kartě Cesta knihovny.
6 S vybraným souborem SWC vyberte tlačítko Nastavit volby navázání pro knihovnu.
7 V dialogovém okně Library Path Item Options (Volby položek cesty knihovny) změňte hodnotu volby Link Type
(Typ odkazu) na External (Externí).
Poslední aktualizace 31.8.2016
150
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Použití nativních rozšíření pro prostředí Adobe AIR
Zabalení aplikace, která používá nativní rozšíření
K zabalení aplikace, která používá nativní rozšíření, použijte nástroj ADT. Ke sbalení aplikace nelze použít aplikaci
Flash Professional CS5.5 ani Flash Builder 4.5.1.
Podrobné informace o používání nástroje ADT naleznete na webu AIR Developer Tool (ADT).
Například následující příkazu ADT vytvoří soubor DMG (soubor nativního instalátoru pro Mac OS X) pro aplikaci,
která používá nativní rozšíření:
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
index.html resources
-extdir extensionsDir
Následující příkaz vytvoří balíček APK pro zařízení se systémem Android:
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
-extdir extensionsDir
Následující příkaz vytvoří balíček iOS pro aplikaci pro zařízení iPhone:
adt -package
-target ipa-ad-hoc
-storetype pkcs12 -keystore ../AppleDistribution.p12
-provisioning-profile AppleDistribution.mobileprofile
myApp.ipa
myApp-app.xml
myApp.swf icons Default.png
-extdir extensionsDir
Zapamatujte si následující pravidla:
• Použijte typ balíčku nativního instalačního programu.
• Určete adresář rozšíření.
• Zkontrolujte, že soubor ANE podporuje cílové zařízení aplikace.
Použití typu balíčku nativního instalačního programu.
Balíček aplikace musí být nativní instalační program. Nemůžete vytvořit balíček AIR pro více platforem (balíček .air)
pro aplikaci, která využívá nativní rozšíření, protože nativní rozšíření obvykle obsahují nativní kód. Typické nativní
rozšíření však podporuje více nativních platforem se stejnými rozšířeními API jazyka ActionScript. V těchto
případech můžete použít stejný soubor ANE v různých nativních balíčcích instalačního programu.
Následující tabulka nabízí souhrn hodnot pro použití u možnosti -target příkazu ADT:
Poslední aktualizace 31.8.2016
151
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Použití nativních rozšíření pro prostředí Adobe AIR
Cílová platforma aplikace
-target
Zařízení systému Mac OS X nebo Windows
-target native
-target bundle
Android
-target apk
nebo jiné cíle balíčku pro platformu Android.
iOS
-target ipa-ad-hoc
nebo jiné cíle balíčku pro platformu iOS.
Simulátor iOS
-target ipa-test-interpreter-simulator
-target ipa-debug-interpreter-simulator
Určení adresáře rozšíření
Použijte možnost ADT volba -extdir , která sdělí příkazu ADT adresář, který obsahuje nativní rozšíření (souborů ANE).
Podrobnosti o této možnosti naleznete v tématu „Možnosti souboru a cesty“ na stránce 179.
Zkontrolujte, že soubor ANE podporuje cílové zařízení aplikace.
Při poskytování souboru ANE vás vývojář nativního rozšíření informuje, které platformy dané rozšíření podporuje.
Můžete také použít nástroj extraktoru archivu, pokud si chcete obsah souboru ANE prohlédnout. Extrahované
soubory zahrnují adresář pro každou podporovanou platformu.
Znát, které platformy rozšíření podporuje, je důležité při balení aplikace, která bude soubor ANE používat. Vezměte
v úvahu následující aspekty:
• Chcete-li vytvořit balíček aplikace pro systém Android, musí soubor ANE obsahovat platformuAndroid-ARM .
Nebo musí soubor ANE zahrnovat výchozí platformu a alespoň jednu další platformu.
• Chcete-li vytvořit balíček aplikace pro systém iOS, musí soubor ANE obsahovat platformuiPhone-ARM . Nebo
musí soubor ANE zahrnovat výchozí platformu a alespoň jednu další platformu.
• Chcete-li vytvořit balíček aplikace pro simulátor iOS, musí soubor ANE obsahovat platformu iPhone-x86.
• Chcete-li vytvořit balíček aplikace pro systém Mac OS X, musí soubor ANE obsahovat platformu MacOS-x86. Nebo
musí soubor ANE zahrnovat výchozí platformu a alespoň jednu další platformu.
• Chcete-li vytvořit balíček aplikace pro systém Windows, musí soubor ANE obsahovat platformuWindows-x86.
Nebo musí soubor ANE zahrnovat výchozí platformu a alespoň jednu další platformu.
Poslední aktualizace 31.8.2016
152
Kapitola 10: Kompilátory jazyka
ActionScript
Před zahrnutím do aplikace AIR je nutné kód jazyka ActionScript a MXML kompilovat. Jestliže použijete integrované
vývojové prostředí (IDE), jako je například Adobe Flash Builder nebo Adobe Flash Professional, zpracuje prostředí
IDE kompilaci na pozadí. Můžete však vyvolat kompilátory jazyka ActionScript z příkazového řádku k vytvoření
souborů SWF, pokud nepoužíváte prostředí IDE nebo při použití skriptu sestavení.
O nástrojích příkazového řádku prostředí AIR v sadě
Flex SDK
Každý nástroj příkazového řádku použitý k vytvoření aplikace Adobe AIR volá odpovídající nástroj, který slouží
k sestavení aplikací:
• nástroj amxmlc volá nástroj mxmlc ke kompilaci tříd aplikace,
• nástroj acompc volá nástroj compc ke kompilaci tříd knihovny a komponent,
• nástroj aasdoc volá nástroj asdoc k vygenerování souborů dokumentace z komentářů zdrojového kódu.
Jediný rozdíl mezi verzemi nástrojů Flex a AIR je ten, že verze AIR načítají možnosti konfigurace ze souboru airconfig.xml místo souboru flex-config.xml.
Nástroje Flex SDK a jejich volby příkazového řádku jsou podrobně popsány v dokumentaci k prostředí Flex. Tento
dokument obsahuje základní popis nástrojů sady Flex SDK, v němž jsou vysvětleny rozdíly mezi sestavováním aplikací
Flex a aplikací AIR.
Další témata Nápovědy
„Vytvoření první aplikace AIR pro stolní počítače pomocí sady Flex SDK“ na stránce 36
Nastavení kompilátoru
Parametry kompilace se obvykle nastavují pomocí příkazového řádku a jednoho nebo více konfiguračních souborů.
Globální konfigurační soubor sady Flex SDK obsahuje výchozí hodnoty, které se použijí při každém spuštění
kompilátoru. Tento soubor lze upravit, aby vyhovoval vlastnímu vývojovému prostředí. Existují dva globální
konfigurační soubory Flex, které se nacházejí v adresáři instalace sady Flex SDK. Soubor air-config.xml se použije při
spuštění kompilátoru amxmlc. Tento soubor konfiguruje kompilátor pro prostředí AIR včetně knihoven AIR. Soubor
flex-config.xml se použije při spuštění nástroje mxmlc.
Pomocí výchozích hodnot konfigurace zjistíte, jak aplikace Flex a AIR fungují, když však přejdete k plnohodnotnému
projektu, prozkoumejte dostupné možnosti podrobněji. Do voleb kompilátoru v místním konfiguračním souboru lze
zadat hodnoty specifické pro projekt, jež budou mít přednost před globálními hodnotami pro daný projekt.
Poznámka: Žádné parametry kompilace nejsou použity speciálně pro aplikace AIR, ale při kompilaci aplikace AIR je
nutné vytvořit odkaz na knihovny AIR. Na tyto knihovny se obvykle odkazuje v konfiguračním souboru na úrovni
projektu, v souboru k nástroji sestavení, například Ant, nebo přímo na příkazovém řádku.
Poslední aktualizace 31.8.2016
153
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Kompilátory jazyka ActionScript
Kompilace zdrojových souborů MXML a ActionScript
pro aplikaci AIR
Datové zdroje jazyka Adobe® ActionScript® 3.0 a MXML aplikace AIR můžete kompilovat pomocí kompilátoru
příkazového řádku MXML (amxmlc). (Aplikace založené na HTML není nutné kompilovat. Pokud chcete kompilovat
obsah SWF v aplikaci Flash Professional, publikujte film do souboru SWF.)
Základní vzor příkazového řádku pro použití nástroje amxmlc:
amxmlc [compiler options] -- MyAIRApp.mxml
kde [možnosti kompilátoru] určují volby příkazového řádku použité ke kompilaci aplikace AIR.
Příkaz amxmlc iniciuje standardní kompilátor Flex mxmlc s dodatečným parametrem +configname=air. Tento
parametr dává kompilátoru pokyn použít soubor air-config.xml namísto souboru flex-config.xml. Používání
kompilátoru amxmlc je jinak identické s používáním mxmlc.
Kompilátor načte konfigurační soubor air-config.xml, který určuje knihovny AIR a Flex obvykle vyžadované pro
kompilaci aplikace AIR. Můžete také použít lokální konfigurační soubor na úrovni projektu pro potlačení nebo
přidání dodatečných voleb ke globální konfiguraci. Nejsnazším způsobem vytvoření lokálního konfiguračního
souboru je obvykle upravení kopie globální verze. Lokální soubor můžete načíst pomocí volby -load-config:
-load-config=project-config.xml Potlačí globální volby.
-load-config+=project-config.xml Přidá dodatečné hodnoty k těm globálním volbám, které přebírají více než
hodnotu, například k volbě -library-path. Globální volby, které přebírají pouze jedinou hodnotu, jsou potlačeny.
Jestliže pro lokální konfigurační soubor používáte speciální konvence pojmenování, kompilátor amxmlc načte lokální
soubor automaticky. Jestliže je například hlavní soubor MXML RunningMan.mxml, pojmenujte lokální konfigurační
soubor: RunningMan-config.xml. Nyní musíte pro kompilaci aplikace pouze zadat:
amxmlc RunningMan.mxml
RunningMan-config.xml je načten automaticky, protože jeho název souboru odpovídá názvu kompilovaného
souboru MXML.
Příklady kompilátoru amxmlc
Následující příklady ukazují použití kompilátoru amxmlc. (Musíte kompilovat pouze datové zdroje jazyka
ActionScript a MXML své aplikace.)
Kompilace souboru AIR MXML:
amxmlc myApp.mxml
Kompilace a nastavení názvu výstupu:
amxmlc –output anApp.swf -- myApp.mxml
Kompilace souboru AIR ActionScript:
amxmlc myApp.as
Určení konfiguračního souboru kompilátoru:
amxmlc –load-config config.xml -- myApp.mxml
Přidání dodatečných voleb z jiného konfiguračního souboru:
amxmlc –load-config+=moreConfig.xml -- myApp.mxml
Poslední aktualizace 31.8.2016
154
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Kompilátory jazyka ActionScript
Přidání knihoven na příkazový řádek (vedle knihoven, které se již v konfiguračním souboru nacházejí):
amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc
-- myApp.mxml
Kompilace souboru AIR MXML bez použití konfiguračního souboru (Win):
mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, ^
[AIR SDK]/frameworks/libs/air/airframework.swc, ^
-library-path [Flex SDK]/frameworks/libs/framework.swc ^
-- myApp.mxml
Kompilace souboru AIR MXML bez použití konfiguračního souboru (Mac OS X nebo Linux):
mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, \
[AIR SDK]/frameworks/libs/air/airframework.swc, \
-library-path [Flex 3 SDK]/frameworks/libs/framework.swc \
-- myApp.mxml
Kompilace souboru AIR MXML pro použití knihovny sdílené za běhu:
amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -myApp.mxml
Kompilace souboru MXML prostředí AIR pro použití souboru ANE (pro soubor ANE je nutné použít volbu external-library-path):
amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml
Kompilace z jazyka Java (s cestou třídy nastavenou tak, aby obsahovala mxmlc.jar):
java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional
compiler options] -- myApp.mxml
Volba flexlib určuje umístění vašeho adresáře rámce sady Flex SDK a umožňuje tak kompilátoru najít soubor
flex_config.xml.
Kompilace z jazyka Java (bez nastavené cesty třídy):
java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air
[additional compiler options] -- myApp.mxml
Vyvolání kompilátoru pomocí nástroje Apache Ant (v příkladu je použita úloha Java ke spuštění souboru mxmlc.jar):
<property name="SDK_HOME" value="C:/Flex46SDK"/>
<property name="MAIN_SOURCE_FILE" value="src/myApp.mxml"/>
<property name="DEBUG" value="true"/>
<target name="compile">
<java jar="${MXMLC.JAR}" fork="true" failonerror="true">
<arg value="-debug=${DEBUG}"/>
<arg value="+flexlib=${SDK_HOME}/frameworks"/>
<arg value="+configname=air"/>
<arg value="-file-specs=${MAIN_SOURCE_FILE}"/>
</java>
</target>
Poslední aktualizace 31.8.2016
155
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Kompilátory jazyka ActionScript
Kompilace komponenty nebo knihovny kódu aplikace
AIR (Flex)
Kompilátor komponenty acompc použijte ke kompilaci knihoven AIR a nezávislých komponent. Kompilátor
komponenty acompc se chová jako kompilátor amxmlc, s následujícími výjimkami:
• Musíte určit, které třídy v základně kódu mají být do knihovny nebo komponenty zahrnuty.
• acompc nevyhledá lokální konfigurační soubor automaticky. Pro použití konfiguračního souboru projektu musíte
použít volbu –load-config.
Příkaz acompc iniciuje standardní kompilátor komponenty Flex compc, ale načte jeho volby konfigurace ze souboru
air-config.xml namísto souboru flex-config.xml.
Konfigurační soubor kompilátoru komponenty
Použitím lokálního konfiguračního souboru se vyhnete zadání (a možná nesprávného zadání) zdrojové cesty a názvů
tříd na příkazovém řádku. Přidejte volbu -load-config do příkazového řádku acompc a načtěte tak lokální konfigurační
soubor.
Následující příklad ukazuje konfiguraci pro vývoj knihovny se dvěma třídami, ParticleManager a Particle, kde obě jsou
součástí balíku: com.adobe.samples.particles. Soubory třídy jsou umístěny ve složce
source/com/adobe/samples/particles.
<flex-config>
<compiler>
<source-path>
<path-element>source</path-element>
</source-path>
</compiler>
<include-classes>
<class>com.adobe.samples.particles.ParticleManager</class>
<class>com.adobe.samples.particles.Particle</class>
</include-classes>
</flex-config>
Pro kompilaci knihovny pomocí konfiguračního souboru pojmenovaného ParticleLib-config.xmlzadejte:
acompc -load-config ParticleLib-config.xml -output ParticleLib.swc
Pro kompletní spuštění stejného příkazu na příkazovém řádku zadejte:
acompc -source-path source -include-classes com.adobe.samples.particles.Particle
com.adobe.samples.particles.ParticleManager -output ParticleLib.swc
(Zadejte celý příkaz na jeden řádek, nebo použijte znak pro pokračování řádku pro svou skořepinu příkazu.)
příklady kompilátoru acompc
Tyto příklady předpokládají, že používáte konfigurační soubor pojmenovaný myLib-config.xml.
Kompilace komponenty nebo knihovny AIR:
acompc -load-config myLib-config.xml -output lib/myLib.swc
Poslední aktualizace 31.8.2016
156
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Kompilátory jazyka ActionScript
Kompilace knihovny sdílené za běhu:
acompc -load-config myLib-config.xml -directory -output lib
(Všimněte si, že před spuštěním příkazu musí existovat složka lib a musí být prázdná.)
Poslední aktualizace 31.8.2016
157
Kapitola 11: Program AIR Debug
Launcher (ADL)
Nástroj AIR Debug Launcher (ADL) použijte během vyvíjení pro spuštění aplikací vycházejících z SWF i HTML.
Pomocí ADL můžete spustit aplikaci bez předchozího zabalení a instalace. ADL implicitně používá runtime obsažený
v sadě SDK, což znamená, že pro použití ADL nemusíte runtime instalovat samostatně.
ADL vytiskne příkazy trace a chyby v době běhu do standardního výstupu, ale nepodporuje body rozdělení nebo jiné
funkce ladění. K ladění složitých problémů lze použít nástroj Flash Debugger (nebo integrované vývojové prostředí,
např. Flash Builder).
Poznámka: Pokud se příkazy trace() nezobrazí v konzole, zkontrolujte, zda jste v souboru mm.cfg neurčili vlastnost
ErrorReportingEnable nebo TraceOutputFileEnable. Další informace o umístěních tohoto souboru specifických
pro platformu naleznete v článku Úpravy souboru mm.cfg.
Prostředí AIR podporuje přímé ladění, takže nepotřebujete ladicí verzi běhového modulu (kterou byste potřebovali
v aplikaci Adobe® Flash® Player). Chcete-li provést ladění z příkazového řádku, použijte nástroje Flash Debugger a AIR
Debug Launcher (ADL).
Nástroj Flash Debugger se dodává v adresáři Flex SDK. Nativní verze, například fdb.exe pro Windows, se nacházejí
v podadresáři bin. Java verze se nachází v dílčím adresáři lib. Aplikace AIR Debug Launcher, adl.exe, se nachází
v adresáři bin instalace sady Flex SDK. (Není k dispozici samostatná verze Java.)
Poznámka: Aplikaci AIR nelze spustit přímo pomocí souboru fdb, protože soubor fdb se ji pokouší spustit v aplikaci Flash
Player. Místo toho nechejte aplikaci AIR, aby se připojila ke spuštěné relaci souboru fdb.
Použití nástroje ADL
Chcete-li spustit aplikaci pomocí programu ADL, postupujte následovně:
adl application.xml
Kde application.xml je soubor deskriptoru aplikace pro danou aplikaci.
Kompletní syntaxe pro program ADL je:
adl [-runtime runtime-directory]
[-pubid publisher-id]
[-nodebug]
[-atlogin]
[-profile profileName]
[-screensize value]
[-extdir extension-directory]
application.xml
[root-directory]
[-- arguments]
(Položky v závorkách [] jsou volitelné).
Poslední aktualizace 31.8.2016
158
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Program AIR Debug Launcher (ADL)
-runtimeruntime-directoryUrčuje adresář obsahující běhový modul, který má být použit. Jestliže není určeno, použije
se adresář runtime ve stejné sadě SDK jako v případě programu ADL. Jestliže program ADL přesunete mimo složku
sady SDK, určete adresář runtime. V systémech Windows a Linux určete adresář obsahující adresář prostředí Adobe
AIR . V OS X Mac určete adresář obsahující Adobe AIR.framework.
-pubid publisher-id Přiřadí určenou hodnotu jako ID vydavatele aplikace AIR pro toto spuštění. Určení
přechodného ID vydavatele pro testování funkcí aplikace AIR, například komunikaci přes lokální připojení, které
používá ID vydavatele. To vám umožní jedinečně identifikovat aplikaci. Od verze prostředí AIR 1.5.3 lze rovněž zadat
ID vydavatele do souboru deskriptoru aplikace (a tento parametr by se neměl používat).
Poznámka: Od verze prostředí AIR 1.5.3 již ID vydavatele není automaticky vypočítáno a přiřazeno k aplikaci AIR. ID
vydavatele můžete zadat při vytváření aktualizace stávající aplikace AIR, ale nové aplikace nemusí a ani by neměly
určovat ID vydavatele.
-nodebug Vypne podporu ladění. Je-li použit, proces aplikace se nemůže připojit k nástroji ladění Flash a dialogy pro
zpracovávání výjimek jsou potlačeny. (Příkazy trace se nicméně stále tisknou do okna konzoly.) Vypnete-li ladění,
poběží vaše aplikace o trochu rychleji a také podrobněji emuluje režim spuštění nainstalované aplikace.
-atlogin Simuluje spuštění aplikace při přihlášení. Tento příznak umožňuje testování logiky aplikace, která se spustí
pouze při nastavení aplikace ke spuštění při přihlášení uživatele. Je-li -atlogin použit, vlastnost reason objektu
InvokeEvent odeslaného do aplikace bude login místostandard (pokud již aplikace není spuštěna).
-profile profileName Program ADL ladí aplikaci pomocí určeného profilu. Proměnná profileName může mít
jednu z následujících hodnot:
• Stolní počítač
• Rozšířený profil pro stolní počítače
• Mobilní zařízení
Pokud deskriptor aplikace obsahuje element supportedProfiles, musí být profil zadaný pomocí příznaku -profile
členem seznamu podporovaných profilů. Pokud se příznak -profile nepoužívá, bude jako aktivní profil použit první
profil v deskriptoru aplikace. Pokud deskriptor aplikace neobsahuje element supportedProfiles a nepoužijete příznak
-profile, bude použit profil desktop.
Další informace naleznete v tématu „supportedProfiles“ na stránce 236 a „Profily zařízení“ na stránce 242.
-screensize hodnota Simulovaná velikost obrazovky při spuštění aplikace v profilu mobileDevice na ploše. Zadejte
velikost obrazovky buď jako předdefinovaný typ obrazovky, nebo zadejte rozměry v pixelech pro normální šířku a
výšku při rozvržení na výšku plus šířku a výšku maximalizované obrazovky. Chcete-li zadat hodnotu podle typu,
použijte jeden z následujících předdefinovaných typů obrazovky:
Typ obrazovky
Šířka x výška normální obrazovky
Šířka x výška celé obrazovky
480
720 x 480
720 x 480
720
1 280 x 720
1 280 x 720
1 080
1 920 x 1 080
1 920 x 1 080
Droid
480 x 816
480 x 854
FWQVGA
240 x 432
240 x 432
FWVGA
480 x 854
480 x 854
HVGA
320 x 480
320 x 480
iPad
768 x 1 004
768 x 1 024
Poslední aktualizace 31.8.2016
159
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Program AIR Debug Launcher (ADL)
Typ obrazovky
Šířka x výška normální obrazovky
Šířka x výška celé obrazovky
iPadRetina
1 536 x 2 008
1 536 x 2 048
iPhone
320 x 460
320 x 480
iPhoneRetina
640 x 920
640 x 960
iPhone5Retina
640 x 1 096
640 x 1 136
iPhone6
750 x 1294
750 x 1334
iPhone6Plus
1242 x 2148
1242 x 2208
iPod
320 x 460
320 x 480
iPodRetina
640 x 920
640 x 960
iPod5Retina
640 x 1 096
640 x 1 136
NexusOne
480 x 762
480 x 800
QVGA
240 x 320
240 x 320
SamsungGalaxyS
480 x 762
480 x 800
SamsungGalaxyTab
600 x 986
600 x 1 024
WQVGA
240 x 400
240 x 400
WVGA
480 x 800
480 x 800
K určení rozměrů obrazovky v obrazových bodech přímo použijte následující formát:
widthXheight:fullscreenWidthXfullscreenHeight
Zadané rozměry v pixelech se vždy týkají rozvržení na výšku, tzn. že šířka je menší než výška. Například obrazovku
zařízení NexusOne lze specifikovat pomocí parametru:
-screensize 480x762:480x800
-extdir extension-directory Adresář, ve kterém má běhové prostředí hledat nativní rozšíření. Tento adresář obsahuje
podadresáře pro každé nativní rozšíření, které bude aplikace používat. Každý z těchto podadresářů obsahuje rozbalený
soubor ANE rozšíření. Například:
Poslední aktualizace 31.8.2016
160
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Program AIR Debug Launcher (ADL)
C:\extensionDirs\
extension1.ane\
META-INF\
ANE\
Android-ARM\
library.swf
extension1.jar
extension.xml
signatures.xml
catalog.xml
library.swf
mimetype
extension2.ane\
META-INF\
ANE\
Android-ARM\
library.swf
extension2.jar
extension.xml
signatures.xml
catalog.xml
library.swf
mimetype
Při použití parametru -extdir mějte na paměti následující skutečnosti:
• Příkaz programu ADL vyžaduje, aby každý ze zadaných adresářů měl příponu názvu souboru ANE. Nicméně část
názvu souboru před příponu ANE může být jakýkoli platný název souboru. Nemusí se shodovat s hodnotou
elementu extensionID souboru popisovače aplikace.
• Parametr -extdir můžete určit více než jednou.
• Použití parametru -extdir v nástroji ADT a v nástroji ADL se liší. V nástroji ADT určuje parametr adresář, který
obsahuje soubory ANE.
• Můžete také použít proměnnou prostředí AIR_EXTENSION_PATH k určení adresářů rozšíření. Viz téma „Proměnné
prostředí nástroje ADT“ na stránce 185.
application.xml Soubor deskriptoru aplikace. Další informace naleznete v tématu „Soubory deskriptorů aplikací AIR“
na stránce 202. Deskriptor aplikace je jediný parametr vyžadovaný programem ADL a ve většině případů je jediným
potřebným parametrem.
root-directory Určuje kořenový adresář aplikace, které má být spuštěna. Není-li určeno, použije se adresář obsahující
soubor deskriptoru aplikace.
-- argumentsJakékoliv řetězce znaků, které se zobrazí za pomlčkami „--“, jsou předány aplikaci jako argumenty
příkazového řádku.
Poznámka: Když spustíte aplikaci AIR, která již běží, nespustí se nová instance dané aplikace. Namísto toho se k běžící
instanci odešle událost invoke.
Příklady ADL
Spuštění aplikace v aktuálním adresáři:
adl myApp-app.xml
Poslední aktualizace 31.8.2016
161
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Program AIR Debug Launcher (ADL)
Spuštění aplikace v podadresáři aktuálního adresáře:
adl source/myApp-app.xml release
Spusťte aplikaci a předejte dva argumenty příkazového řádku, „tick“ a „tock“:
adl myApp-app.xml -- tick tock
Spuštění aplikace pomocí specifického runtime:
adl -runtime /AIRSDK/runtime myApp-app.xml
Spuštění aplikace bez podpory ladění:
adl -nodebug myApp-app.xml
Spusťte aplikaci v profilu mobilního zařízení a simulujte velikost obrazovky zařízení Nexus One:
adl -profile mobileDevice -screensize NexusOne myMobileApp-app.xml
Spusťte aplikaci pomocí programu Apache Ant pro spuštění aplikace (cesty v příkladu jsou určeny pro systém
Windows):
<property
<property
<property
<property
name="SDK_HOME" value="C:/AIRSDK"/>
name="ADL" value="${SDK_HOME}/bin/adl.exe"/>
name="APP_ROOT" value="c:/dev/MyApp/bin-debug"/>
name="APP_DESCRIPTOR" value="${APP_ROOT}/myApp-app.xml"/>
<target name="test">
<exec executable="${ADL}">
<arg value="${APP_DESCRIPTOR}"/>
<arg value="${APP_ROOT}"/>
</exec>
</target>
Kódy ukončení a chyb nástroje ADL
Následující tabulka popisuje kódy ukončení vytištěné ADL:
Kódy
ukončení
Popis
0
Úspěšné spuštění. ADL se ukončí po ukončení aplikace AIR.
1
Úspěšná iniciace již běžící aplikace AIR. ADL se okamžitě ukončí.
2
Chyba použití. Argumenty dodané ADL nejsou správné.
3
Runtime se nepodařilo nalézt.
4
Runtime se nepodařilo spustit. K tomu často dojde z toho důvodu, že verze určená v aplikaci neodpovídá
verzi runtime.
5
Došlo k neznámé chybě.
6
Soubor deskriptoru aplikace se nepodařilo nalézt.
7
Obsah deskriptoru aplikace není platný. Tato chyba obvykle určuje, že XML není dobře vytvořen.
8
Hlavní obsahový soubor aplikace (určený v elementu <content> souboru deskriptoru aplikace) se
nepodařilo nalézt.
Poslední aktualizace 31.8.2016
162
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Program AIR Debug Launcher (ADL)
Kódy
ukončení
Popis
9
Hlavní obsahový soubor aplikace není platným SWF nebo HTML souborem.
10
Aplikace nepodporuje profil určený v možnosti -profile.
11
Argument - screensize není v aktuálním profilu podporován.
Poslední aktualizace 31.8.2016
163
Kapitola 12: AIR Developer Tool (ADT)
AIR Developer Tool (ADT) je víceúčelový nástroj příkazového řádku pro vývoj aplikací AIR. Pomocí nástroje ADT
lze provádět následující úkoly:
• Zabalit aplikaci AIR jako instalační soubor .air
• Zabalit aplikaci AIR jako nativní instalační balíček – například jako soubor .exe instalační služby v systému
Windows, soubor .ipa v systému iOS nebo soubor .apk na platformě Android
• Zabalení nativního rozšíření jako soubor AIRNative Extension (ANE)
• Podepsat aplikaci AIR digitálním certifikátem
• Změnit (migrovat) digitální podpis použitý pro aktualizace aplikace
• Určit zařízení připojená k počítači
• Vytvořit podpisový certifikát s automatickým podpisem digitálního kódu
• Vzdáleně nainstalovat, spustit a odinstalovat aplikaci v mobilním zařízení
• Vzdáleně nainstalovat a odinstalovat běhový modul AIR v mobilním zařízení
ADT je program v jazyce Java zahrnutý v sadě AIR SDK. K jeho použití je nutná verze jazyka Java 1.5 nebo vyšší. Sada
SDK obsahuje soubor skriptu pro vyvolání nástroje ADT. Chcete-li tento skript použít, musí být program Java zahrnut
v proměnné prostředí path. Pokud je adresář AIR SDK bin rovněž uveden v proměnné prostředí path, můžete
zadáním příkazu adt s příslušnými argumenty na příkazovém řádku vyvolat nástroj ADT. (Pokud nevíte, jak nastavit
proměnnou prostředí path, naleznete informace v dokumentaci k operačnímu systému. Za účelem další podpory jsou
postupy pro nastavení cesty ve většině počítačových systémů popsány v tématu „Proměnné prostředí pro cestu“ na
stránce 301.)
Aby bylo možné používat nástroj ADT, jsou nutné minimálně 2 GB paměti počítače. Pokud máte méně paměti, může
dojít k nedostatku paměti pro nástroj ADT, zejména při balení aplikací pro iOS.
Za předpokladu, že program Java i adresáře bin AIR SDK jsou oba zahrnuty v proměnné path, můžete spustit nástroj
ADT pomocí následující základní syntaxe:
adt -command options
Poznámka: Většina integrovaných vývojových prostředí, včetně aplikací Adobe Flash Builder a Adobe Flash
Professional, může balit a podepisovat aplikace AIR automaticky. Obvykle není třeba pro tyto běžné úlohy používat
nástroj ADT, když již používáte toto vývojové prostředí. Nicméně může být nutné použít nástroj ADT jako nástroj
příkazového řádku pro funkce, jež integrované vývojové prostředí nepodporuje. Nástroj ADT navíc můžete použít jako
nástroj příkazového řádku jako součást procesu automatického sestavení.
Příkazy nástroje ADT
První argument předaný nástroji ADT určuje jeden z následujících příkazů.
• -package – Zabalí aplikaci AIR nebo balíček ANE (AIR Native Extension).
• -prepare – Zabalí aplikaci AIR jako přechodný soubor (AIRI), ale nepodepíše jej. Soubory AIRI nelze nainstalovat.
Poslední aktualizace 31.8.2016
164
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
• -sign – Podepíše balíček AIRI vytvořené pomocí příkazu -prepare. Příkazy -prepare a - sign umožňují provést
zabalení a podepsání v různou dobu. Příkaz -sign lze použít také k podepsání nebo opakovanému podepsání
balíčku ANR.
• -migrate – Použije podpis migrace u podepsaného balíčku AIR, čímž umožní použít nový nebo obnovený certifikát
podpisu kódu.
• -certificate – Vytvoří digitální certifikát podpisu kódu podepsaný sám sebou.
• -checkstore – Ověří, zda lze přistupovat k digitálnímu certifikátu v úložišti klíčů.
• -installApp – Nainstaluje aplikaci AIR do zařízení nebo do emulátoru zařízení.
• -launchApp – Spustí aplikaci AIR v zařízení nebo v emulátoru zařízení.
• -appVersion – Zobrazí verzi aktuálně nainstalované aplikace AIR v zařízení nebo v emulátoru zařízení.
• -uninstallApp – Odinstaluje aplikaci AIR ze zařízení nebo z emulátoru zařízení.
• -installRuntime – Nainstaluje běhový modul AIR do zařízení nebo do emulátoru zařízení.
• -runtimeVersion – Zobrazí verzi běhového modulu AIR aktuálně nainstalovaného v zařízení nebo v emulátoru
zařízení.
• -uninstallRuntime – Odinstaluje aktuálně nainstalovaný běhovÝ modul AIR ze zařízení nebo z emulátoru zařízení.
• -version – Zobrazí číslo verze nástroje ADT.
• -devices – Zobrazí informace o zařízení pro připojená mobilní zařízení nebo emulátory.
• -help – Zobrazí seznam příkazů a možností.
Mnoho příkazů nástroje ADT sdílejí související sady příznaků možností a parametrů. Tyto sady možností jsou
podrobně popsány samostatně:
• „Možnosti podpisu kódu nástroje ADT“ na stránce 177
• „Možnosti souboru a cesty“ na stránce 179
• „Možnosti připojení debuggeru“ na stránce 180
• „Možnosti nativního rozšíření“ na stránce 181
Příkaz package nástroje ADT
Příkaz -package je nutné spouštět z hlavního adresáře aplikace. Tento příkaz používá následující syntaxi:
Vytvoření balíčku prostředí AIR z dílčích souborů aplikace:
adt -package
AIR_SIGNING_OPTIONS
-target packageType
-sampler
-hideAneLibSymbols
NATIVE_SIGNING_OPTIONS
output
app_descriptor
FILE_OPTIONS
Vytvoření nativního balíčku z dílčích souborů aplikace:
Poslední aktualizace 31.8.2016
165
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
adt -package
AIR_SIGNING_OPTIONS
-target packageType
DEBUGGER_CONNECTION_OPTIONS
-airDownloadURL URL
NATIVE_SIGNING_OPTIONS
output
app_descriptor
-platformsdk path
FILE_OPTIONS
Vytvoření nativního balíčku obsahujícího nativní rozšíření z dílčích souborů aplikace:
adt -package
AIR_SIGNING_OPTIONS
-migrate MIGRATION_SIGNING_OPTIONS
-target packageType
DEBUGGER_CONNECTION_OPTIONS
-airDownloadURL URL
NATIVE_SIGNING_OPTIONS
output
app_descriptor
-platformsdk path
FILE_OPTIONS
Vytvoření nativního balíčku ze souboru AIR nebo AIRI:
adt -package
-target packageType
NATIVE_SIGNING_OPTIONS
output
input_package
Vytvoření balíčku nativního rozšíření ze souborů nativního rozšíření komponenty:
adt -package
AIR_SIGNING_OPTIONS
-target ane
output
ANE_OPTIONS
Poznámka: Soubor ANE není nutné podepisovat, proto jsou parametry AIR_SIGNING_OPTIONS v tomto příkladu
volitelné.
AIR_SIGNING_OPTIONS Možnosti podpisu AIR identifikují certifikát použitý k podepsání instalačního souboru
AIR. Možnosti podpisu jsou kompletně popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 177.
-migrate Tento příznak určuje, že je aplikace podepsána nejen certifikátem určeným v parametrech
AIR_SIGNING_OPTIONS, ale i certifikátem přenosu. Tento příznak je platný, pouze pokud balíte aplikaci pro stolní
počítače jako nativní instalátor, přičemž tato aplikace využívá nativní rozšíření. V ostatních případech dojde k chybě.
Možnosti podpisu pro certifikát přenosu jsou určeny jako parametry MIGRATION_SIGNING_OPTIONS. Tyto
možnosti podpisu jsou podrobně popsány v části „Možnosti podpisu kódu nástroje ADT“ na stránce 177. Pomocí
příznaku -migrate lze vytvořit aktualizaci aplikace nativního instalátoru pro stolní počítače, která používá nativní
rozšíření, a pro tuto aplikaci změnit podpisový certifikát kódu, například když původnímu certifikátu vyprší platnost.
Další informace naleznete v části „Podepisování aktualizované verze aplikace AIR“ na stránce 197.
Příznak -migrate příkazu -package je k dispozici v prostředí AIR 3.6 a novějších.
Poslední aktualizace 31.8.2016
166
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
-target Typ balíčku, který chcete vytvořit. Podporované typy balíčků jsou:
• air – balíček aplikace AIR. air je výchozí hodnota a příznak -target nemusí být při vytváření souborů AIR nebo AIRI
zadán.
• airn – balíček nativní aplikace pro zařízení v profilu rozšířené televize.
• ane – balíček nativního rozšíření AIR
• Cíle balíčku pro platformu Android:
• apk – balíček pro platformu Android Balíček vytvořený s tímto cílem lze nainstalovat pouze do zařízení se
systémem Android, nikoli do emulátoru.
• apk-captive-runtime – balíček pro systém Android, který obsahuje aplikaci i vázanou verzi běhového prostředí
AIR. Balíček vytvořený s tímto cílem lze nainstalovat pouze do zařízení se systémem Android, nikoli do
emulátoru.
• apk-debug – balíček pro platformu Android se zvláštními informacemi o ladění. (Soubory SWF v aplikaci musí
být také zkompilovány s podporou ladění.)
• apk-emulator – balíček pro platformu Android pro použití v emulátoru bez podpory ladění. (Cíl apk-emulator
použijte, chcete-li povolit ladění v emulátorech i v zařízeních.)
• apk-profile – balíček pro platformu Android, který podporuje výkon aplikací a profilování paměti.
• Cíle balíčku pro systém iOS:
• ipa-ad-hoc – balíček iOS pro distribuci ad hoc.
• ipa-app-store – balíček iOS pro distribuci úložiště aplikací Apple.
• ipa-debug – balíček iOS se zvláštními informacemi o ladění. (Soubory SWF v aplikaci musí být také
zkompilovány s podporou ladění.)
• ipa-test – balíček iOS kompilovaný bez informací o optimalizaci nebo ladění.
• ipa-debug-interpreter – funkční ekvivalent ladícího balíčku, ale s rychlejší kompilací. Bytový kód jazyka
ActionScript je však interpretován a není převáděn do strojového kódu. Spuštění kódu v balíčku interpreteru je
proto pomalejší.
• ipa-debug-interpreter-simulator – funkce ekvivalentní k funkci ipa-debug-interpreter, ale zabalená pro
simulátor iOS. Pouze systém Macintosh. Pokud použijete tuto možnost, musíte také zahrnout volbu platformsdk, která určuje cestu k simulátoru iOS sady SDK.
• ipa-test-interpreter – funkční ekvivalent testovacího balíčku, ale s rychlejší kompilací. Bytový kód jazyka
ActionScript je však interpretován a není převáděn do strojového kódu. Spuštění kódu v balíčku interpreteru je
proto pomalejší.
• ipa-test-interpreter-simulator – funkce ekvivalentní k funkci ipa-test-interpreter, ale zabalená pro simulátor
iOS. Pouze systém Macintosh. Pokud použijete tuto možnost, musíte také zahrnout volbu -platformsdk, která
určuje cestu k simulátoru iOS sady SDK.
• native – nativní instalační program pro stolní počítač. Typ souboru, které bude vytvořen, je nativní instalační
formát operačního systému, ve kterém je příkaz spuštěn:
• EXE – Windows
• DMG – Mac
• DEB – Ubuntu Linux (AIR 2.6 nebo starší)
• RPM – Fedora nebo OpenSuse Linux (AIR 2.6 nebo starší)
Další informace naleznete v části „Sbalení nativního instalátoru pro stolní počítač“ na stránce 55.
Poslední aktualizace 31.8.2016
167
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
-sampler (Pouze systém iOS, AIR 3.4 a vyšší) Zapíná v aplikacích systému iOS sampler jazyka ActionScript založený
na telemetrii. Při použití tohoto příznaku lze aplikace profilovat nástrojem Adobe Scout. Přestože nástroj Scout může
profilovat libovolný obsah platformy Flash, zapnutím podrobné telemetrie získáte lepší přehled o časování funkcí
jazyka ActionScript, objektu DisplayList, vykreslování objektu Stage3D a podobně. Používáním tohoto příznaku se
mírně snižuje výkon, proto ho nepoužívejte u produkčních aplikací.
-hideAneLibSymbols (pouze systém iOS, AIR 3.4 a vyšší) vývojáři aplikací mohou používat více nativních rozšíření
z různých zdrojů, a pokud soubory ANE sdílejí společný název symbolu, ADT vygeneruje chybu „duplicitní symbol
v souboru objektu“. V některých případech se tato chyba může projevit jako selhání za běhu. Pomocí volby
hideAneLibSymbols můžete určit, zda se mají symboly knihovny souboru ANE změnit na viditelné pouze pro zdroje
této knihovny (yes), nebo mají být viditelné globálně (no):
• yes – skryje symboly souboru ANE, čímž vyřeší případné problémy s neúmyslnými konflikty symbolů.
• no – (výchozí) neskryje symboly souboru ANE. Toto je chování před uvedením verze AIR 3.4.
DEBUGGER_CONNECTION_OPTIONS Možnosti připojení debuggeru určují, zda se má ladicí balíček pokusit
připojit ke vzdálenému debuggeru, který je spuštěn v jiném počítači, nebo má naslouchat připojení ze vzdáleného
debuggeru. Tato sada možností je podporována pouze pro ladicí balíčky pro mobilní zařízení (cíle apk-debug a ipadebug). Tyto možnosti jsou popsány v tématu „Možnosti připojení debuggeru“ na stránce 180.
- airDownloadURL Určuje alternativní adresu URL pro stažení a instalaci běhového prostředí AIR do zařízení
Android. Pokud není zadána, přesměruje aplikace AIR uživatele na běhové prostředí AIR na webu Android Market,
pokud není běhové prostředí již nainstalováno.
Pokud je aplikace distribuována prostřednictvím alternativního tržiště (jiného než web Android Market, který je
spravován společností Google), bude pravděpodobně nutné zadat adresu URL pro stažení běhového prostředí AIR z
daného tržiště. Některá alternativní tržiště neumožňují, aby aplikace vyžadovaly stažení z webu mimo dané tržiště.
Tato možnost je podporována pouze u balíčků pro zařízení Android.
NATIVE_SIGNING_OPTIONS Nativní možnosti podpisů identifikují certifikát použitý k podepsání nativního
souboru balíčku. Tyto možnosti podpisů slouží k použití podpisu používaného nativním operačním systémem, nikoli
běhovým modulem AIR. Možnosti jsou jinak identické s možnostmi AIR_SIGNING_OPTIONS a jsou podrobně
popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 177.
Nativní podpisy jsou podporovány v systémech Windows a Android. V systému Windows je třeba zadat možnosti
podpisů AIR i možnosti nativních podpisů. V systému Android lze zadat pouze možnosti nativních podpisů.
V mnoha případech můžete použít stejný certifikát podpisu kódu k přidání podpisu AIR i nativního podpisu. Neplatí
to však ve všech případech. Například zásady společnosti Google pro aplikace odeslané so služby Android Market
vyžadují, aby všechny aplikace byly podepsány certifikátem, který je platný alespoň do roku 2033. To znamená, že
certifikát vydaný dobře známou certifikační autoritou, který se doporučuje při použití podpisu AIR, by neměl být
použit k podepsání aplikace Android. (Žádné certifikační autority nevydávají certifikát podpisu kódu s tak dlouhou
dobou platnosti.)
output Název souboru balíčku, který má být vytvořen. Určení přípony souboru je volitelné. Pokud není zadána, bude
přidána příslušná přípona pro hodnotu -target a aktuální operační systém.
app_descriptorC esta k souboru deskriptoru aplikace. Cestu lze určit relativně k aktuálnímu adresáři nebo jako
absolutní cestu. (Soubor deskriptoru aplikace je v souboru AIR přejmenován na application.xml.)
-platformsdk Cesta k sadě SDK platformy pro cílové zařízení:
• Android – Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných
příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě
SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí
AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
Poslední aktualizace 31.8.2016
168
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
• iOS – Sada AIR SDK se dodává s kaptivní sadou SDK pro systém iOS. Možnost -platformsdk umožňuje balení
aplikací s externí sadou SDK, takže nejste omezení na používání kaptivní verze iOS SDK. Pokud jste například
vytvořili rozšíření s nejnovější sadou iOS SDK, můžete tuto sadu SDK určit při balení aplikace. Pokud navíc sadu
ADT používáte se simulátorem iOS, musíte vždy zahrnout možnost -platformsdk určující cestu k sadě SDK
simulátoru iOS.
-archVývojáři aplikací mohou pomocí tohoto argumentu vytvořit aplikaci APK pro platformy x86; argument může
mít tyto hodnoty:
• armv7 - Sada ADT zabalí aplikaci APK pro platformu Android armv7.
•
x86 - Sada ADT zabalí aplikaci APK pro platformu Android x86.
Pokud není zadána žádná hodnota, je výchozí hodnotou armv7.
FILE_OPTIONS Určuje soubory aplikace, které mají být zahrnuty do balíčku. Možnosti souboru jsou kompletně
popsány v tématu „Možnosti souboru a cesty“ na stránce 179. Nezadávejte možnosti souboru při vytváření nativního
balíčku ze souboru AIR nebo AIRI.
input_airi Zadejte při vytváření nativního balíčku ze souboru AIRI. AIR_SIGNING_OPTIONS jsou požadovány,
pokud je jako cíl zadána hodnota air (nebo pokud není zadán žádný cíl).
input_air Zadejte při vytváření nativního balíčku ze souboru AIR. Nezadávejte AIR_SIGNING_OPTIONS.
ANE _ OPTIONS Identifikuje možnosti a soubory k vytváření nativního balíčku rozšíření. Možnosti balíčku rozšíření
jsou kompletně popsány v tématu „Možnosti nativního rozšíření“ na stránce 181.
Příklady příkazu -package programu ADT
Zabalení konkrétních souborů aplikace do aktuálního adresáře pro aplikaci AIR založenou na formátu SWF:
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf components.swc
Zabalení konkrétních souborů aplikace do aktuálního adresáře pro aplikaci AIR založenou na jazyce HTML:
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js
image.gif
Všechny soubory a podadresáře balíku v aktuálním pracovním adresáři:
adt –package -storetype pkcs12 -keystore ../cert.p12 myApp.air myApp.xml .
Poznámka: Soubor úložiště klíčů obsahuje osobní klíč použití k podepsání vaší aplikace. Certifikát podpisu nikdy
nevkládejte do balíku AIR! Jestliže v příkazu programu ADT použijete zástupné znaky, uložte soubor úložiště klíčů do
odlišného umístění, aby nebyl zahrnut do balíku. V tomto příkladu je soubor úložiště klíčů, cert.p12, umístěn do
nadřazeného adresáře.
Zabalení pouze hlavních souborů a obrazů podadresáře:
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf images
Zabalení aplikace vycházející z HTML a všech souborů v podadresářích HTML, skriptů a obrazů:
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml index.html AIRALiases.js
html scripts images
Zabalení souboru application.xml a hlavního souboru SWF umístěného v pracovním adresáři(release/bin):
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air release/bin/myApp.xml –C
release/bin myApp.swf
Zabalení datových zdrojů z více než jednoho místa v systému vývoje souborů. V tomto příkladu jsou datové zdroje
aplikace před zabalením umístěny v následujících složkách:
Poslední aktualizace 31.8.2016
169
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
/devRoot
/myApp
/release
/bin
myApp-app.xml
myApp.swf or myApp.html
/artwork
/myApp
/images
image-1.png
...
image-n.png
/libraries
/release
/libs
lib-1.swf
lib-2.swf
lib-a.js
AIRAliases.js
Spuštění následujícího příkazu ADT z adresáře /devRoot/myApp:
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air release/bin/myApp-app.xml
–C release/bin myApp.swf (or myApp.html)
–C ../artwork/myApp images
–C ../libraries/release libs
Má za následek následující strukturu balíku:
/myAppRoot
/META-INF
/AIR
application.xml
hash
myApp.swf or myApp.html
mimetype
/images
image-1.png
...
image-n.png
/libs
lib-1.swf
lib-2.swf
lib-a.js
AIRAliases.js
Spuštění ADT jako programu jazyka Java pro jednoduchou aplikaci založenou na formátu SWF (bez nastavení cest
pro třídy):
java –jar {AIRSDK}/lib/ADT.jar –package -storetype pkcs12 -keystore cert.p12 myApp.air
myApp.xml myApp.swf
Spuštění ADT jako programu jazyka Java pro jednoduchou aplikaci založenou na jazyce HTML (bez nastavení cest
pro třídy):
java –jar {AIRSDK}/lib/ADT.jar –package -storetype pkcs12 -keystore cert.p12 myApp.air
myApp.xml myApp.html AIRAliases.js
Spuštění ADT jako programu jazyka Java (cesta třídy Java je nastavena tak, aby obsahovala balík ADT.jar):
Poslední aktualizace 31.8.2016
170
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
java -com.adobe.air.ADT –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml
myApp.swf
Spusťte ADT jako úlohu jazyka Java v nástroji Apache Ant (přestože je obvykle nejvhodnější použít příkaz ADT přímo
ve skriptech nástroje Ant). Cesty uvedené v příkladu jsou určeny pro systém Windows:
<property name="SDK_HOME" value="C:/AIRSDK"/>
<property name="ADT.JAR" value="${SDK_HOME}/lib/adt.jar"/>
target name="package">
<java jar="${ADT.JAR}" fork="true" failonerror="true">
<arg value="-package"/>
<arg value="-storetype"/>
<arg value="pkcs12"/>
<arg value="-keystore"/>
<arg value="../../ExampleCert.p12"/>
<arg value="myApp.air"/>
<arg value="myApp-app.xml"/>
<arg value="myApp.swf"/>
<arg value="icons/*.png"/>
</java>
</target>
Poznámka: V některých počítačových systémech mohou být chybně interpretovány dvoubajtové znaky v souboru
systémových cest. V takovém případě zkuste nastavit běhové prostředí Java použité ke spuštění nástroje ADT na
znakovou sadu UTF-8. Ve výchozím nastavení to provedete ve skriptu použitém ke spuštění nástroje ADT v systémech
Mac a Linux. V souboru adt.bat systému Windows, nebo pokud spouštíte ADT přímo prostřednictvím jazyka Java,
určete na příkazovém řádku jazyka Java volbu -Dfile.encoding=UTF-8.
Příkaz prepare nástroje ADT
Příkaz -prepare vytvoří nepodepsaný balíček AIRI. Balíček AIRI nelze použít samostatně. Použijte příkaz -sign k
převodu souboru AIRI na podepsaný balíček AIR nebo použijte příkaz package k převodu souboru AIRI na nativní
balíček.
Příkaz -prepare používá následující syntaxi:
adt -prepare output app_descriptor FILE_OPTIONS
output Název souboru AIRI, který je vytvořen.
app_descriptorC esta k souboru deskriptoru aplikace. Cestu lze určit relativně k aktuálnímu adresáři nebo jako
absolutní cestu. (Soubor deskriptoru aplikace je v souboru AIR přejmenován na application.xml.)
FILE_OPTIONS Určuje soubory aplikace, které mají být zahrnuty do balíčku. Možnosti souboru jsou plně popsány
v tématu „Možnosti souboru a cesty“ na stránce 179.
Příkaz sign nástroje ADT
Příkaz -sign podepíše soubory AIRI a ANE.
Příkaz -sign používá následující syntaxi:
adt -sign AIR_SIGNING_OPTIONS input output
AIR_SIGNING_OPTIONS Možnosti podpisu aplikace AIR identifikují certifikát použitý k podepsání souboru
balíčku. Možnosti podpisu jsou kompletně popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 177.
input Název souboru AIRI nebo ANE, který má být podepsán.
Poslední aktualizace 31.8.2016
171
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
output Název podepsaného balíčku, který má být vytvořen.
Pokud je soubor ANE již podepsán, bude původní podpis zrušen. (Soubory AIR nelze podepsat znovu – chcete-li pro
aktualizaci aplikace použít nový podpis, použijte příkaz -migrate.)
Příkaz migrate nástroje ADT
Příkaz -migrate použije podpis migrace u souboru AIR. Podpis migrace musí být použit při obnovení nebo změně
digitálního certifikátu, či pokud je nutné aktualizovat aplikace podepsané starým certifikátem.
Další informace o balení aplikací AIR pomocí podpisu přenosu naleznete v části „Podepisování aktualizované verze
aplikace AIR“ na stránce 197.
Poznámka: Certifikát přenosu je nutné použít do 365 dnů od vypršení platnosti. Po uplynutí této lhůty již aktualizace
aplikace nemohou být podepsány podpisem migrace. Uživatelé mohou nejprve aktualizovat na verzi aplikace, která byla
podepsána podpisem migrace, a pak nainstalovat nejnovější aktualizaci, nebo mohou původní aplikaci odinstalovat a
nainstalovat nový balíček AIR.
Chcete-li použít podpis migrace, nejprve podepište aplikaci AIR pomocí nového či obnoveného certifikátu (použijte
příkaz -package nebo -sign) a pak použijte podpis migrace pomocí původního certifikátu a příkazu -migrate.
Příkaz -migrate používá následující syntaxi:
adt -migrate AIR_SIGNING_OPTIONS input output
AIR_SIGNING_OPTIONS Možnosti podpisu aplikace AIR identifikující původní certifikát, který byl použit k
podepsání stávajících verzí aplikace AIR. Možnosti podpisu jsou kompletně popsány v tématu „Možnosti podpisu
kódu nástroje ADT“ na stránce 177.
input Soubor AIR již podepsaný pomocí NOVÉHO certifikátu aplikace.
output Název konečného balíčku s podpisy z nového i starého certifikátu.
Názvy souborů použité pro vstupní a výstupní soubory AIR musí být odlišné.
Poznámka: Příkaz migrate nástroje ADT nelze použít u aplikací AIR pro stolní počítače, které zahrnují nativní rozšíření,
protože tyto aplikace jsou zabaleny jako nativní instalátory a nikoli jako soubory s příponou AIR. Chcete-li změnit
certifikáty pro aplikaci AIR pro stolní počítače, která zahrnuje nativní rozšíření, zabalte aplikaci pomocí „Příkaz package
nástroje ADT“ na stránce 164 s příznakem -migrate.
Příkaz checkstore nástroje ADT
Příkaz -checkstore umožňuje zkontrolovat platnost úložiště klíčů. Příkaz používá následující syntaxi:
adt -checkstore SIGNING_OPTIONS
SIGNING_OPTIONS Možnosti podpisu identifikující úložiště klíčů, které má být ověřeno. Možnosti podpisu jsou
kompletně popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 177.
Příkaz certificate nástroje ADT
Příkaz -certificate umožňuje vytvořit digitální certifikát podpisu kódu podepsaný sám sebou. Příkaz používá
následující syntaxi:
adt -certificate -cn name -ou orgUnit -o orgName -c country -validityPeriod years key-type
output password
-cn Řetězec přiřazený jako běžný název nového certifikátu.
Poslední aktualizace 31.8.2016
172
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
-ou Řetězec přiřazený jako organizační jednotka vydávající certifikát. (Volitelné.)
-o Řetězec přiřazený jako organizace vydávající certifikát. (Volitelné.)
-c Kód země ISO-3166 obsahující dvě písmena. Certifikát není vygenerován, je-li zadán neplatný kód. (Volitelné.)
-validityPeriod Počet let, během kterých bude certifikát platný. Pokud není tato hodnota určena, je přiřazena doba
platnosti pět let. (Volitelné.)
key_type Typ klíče, který se použije pro certifikát, je 2048-RSA.
output Cesta a název souboru pro soubor certifikátu, který má být vygenerován.
password Heslo pro přístup k novému certifikátu. Heslo je vyžadováno při podepisování souborů AIR tímto
certifikátem.
Příkaz installApp nástroje ADT
Příkaz - installApp nainstaluje aplikaci do zařízení nebo emulátoru.
Před opětovnou instalací pomocí tohoto příkazu je nutné odinstalovat existující aplikace.
Příkaz používá následující syntaxi:
adt -installApp -platform platformName -platformsdk path-to-sdk -device deviceID -package
fileName
-platform Název platformy zařízení. Určete systém ios nebo android.
-platformsdk Cesta k sadě SDK platformy pro cílové zařízení (volitelné):
• Android – Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných
příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě
SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí
AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
• iOS – Sada AIR SDK se dodává s kaptivní sadou SDK pro systém iOS. Možnost -platformsdk umožňuje balení
aplikací s externí sadou SDK, takže nejste omezení na používání kaptivní verze iOS SDK. Pokud jste například
vytvořili rozšíření s nejnovější sadou iOS SDK, můžete tuto sadu SDK určit při balení aplikace. Pokud navíc sadu
ADT používáte se Simulátorem iOS, musíte vždy zahrnout možnost -platformsdk určující cestu k sadě SDK
simulátoru iOS.
-device Určete vlastnost ios_simulator, sériové číslo (Android) nebo parametr handle (iOS) připojeného zařízení.
V systému iOS je tento parametr vyžadován, v systému Android je tento parametr třeba určovat pouze tehdy, když je
k počítači připojeno a spuštěno více než jedno zařízení nebo emulátor se systémem Android. Pokud není určené
zařízení připojeno, vrací nástroj ADT kód ukončení 14: Chyba zařízení (Android) nebo Určeno neplatné zařízení
(iOS). Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj ADT kód ukončení 2:
Chyba použití.
Poznámka: Instalace souboru IPA přímo do zařízení se systémem iOS je možná v prostředí AIR 3.4 a vyšších a vyžaduje
přehrávač iTunes 10.5.0 nebo vyšší.
Za účelem určení parametru handle nebo sériového čísla připojených zařízení použijte příkaz adt -devices
(k dispozici v prostředí AIR 3.4 a novějším). Upozorňujeme, že v systému iOS je třeba použít parametr handle, a nikoli
identifikátor UUID zařízení. Další informace naleznete v tématu „Příkaz devices nástroje ADT“ na stránce 176.
U platformy Android můžete kromě toho seznam sériových čísel připojených zařízení a spuštěných emulátorů
zobrazit pomocí nástroje Android ADB:
adb devices
Poslední aktualizace 31.8.2016
173
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
-package Název souboru pro instalovaný balíček. V systému iOS se musí jednat o soubor IPA. U platformy Android
to musí být balíček APK. Pokud je zadaný balíček již nainstalován, vrátí nástroj ADT kód chyby 14: Chyba zařízení.
Příkaz appVersion nástroje ADT
Příkaz - appVersion zobrazí nainstalovanou verzi aplikace v zařízení nebo emulátoru. Příkaz používá následující
syntaxi:
adt -appVersion -platform platformName -platformsdk path_to_sdk -device deviceID -appid
applicationID
-platform Název platformy zařízení. Určete systém ios nebo android.
-platformsdk Cesta k sadě SDK platformy pro cílové zařízení:
• Android – Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných
příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě
SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí
AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
• iOS – Sada AIR SDK se dodává s kaptivní sadou SDK pro systém iOS. Možnost -platformsdk umožňuje balení
aplikací s externí sadou SDK, takže nejste omezení na používání kaptivní verze iOS SDK. Pokud jste například
vytvořili rozšíření s nejnovější sadou iOS SDK, můžete tuto sadu SDK určit při balení aplikace. Pokud navíc sadu
ADT používáte se Simulátorem iOS, musíte vždy zahrnout možnost -platformsdk určující cestu k sadě SDK
simulátoru iOS.
-device Určete ios_simulator nebo sériové číslo zařízení. Zařízení je nutné určit pouze v případě, že je k počítači
připojeno a spuštěno více zařízení nebo emulátorů Android. Pokud zadané zařízení není připojeno, vrátí nástroj ADT
kód ukončení 14: Chyba zařízení. Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj
ADT kód ukončení 2: Chyba použití.
U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje
Android ADB:
adb devices
-appid ID aplikace AIR nainstalované aplikace. Pokud v zařízení není nainstalována žádná aplikace se zadaným ID,
vrátí nástroj ADT vrátí kód ukončení 14: Chyba zařízení.
Příkaz launchApp nástroje ADT
Příkaz - launchApp spustí nainstalované aplikace v zařízení nebo emulátoru. Příkaz používá následující syntaxi:
adt -launchApp -platform platformName -platformsdk path_to_sdk -device deviceID -appid
applicationID
-platform Název platformy zařízení. Určete systém ios nebo android.
-platformsdk Cesta k sadě SDK platformy pro cílové zařízení:
• Android – Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných
příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě
SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí
AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
Poslední aktualizace 31.8.2016
174
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
• iOS – Sada AIR SDK se dodává s kaptivní sadou SDK pro systém iOS. Možnost -platformsdk umožňuje balení
aplikací s externí sadou SDK, takže nejste omezení na používání kaptivní verze iOS SDK. Pokud jste například
vytvořili rozšíření s nejnovější sadou iOS SDK, můžete tuto sadu SDK určit při balení aplikace. Pokud navíc sadu
ADT používáte se Simulátorem iOS, musíte vždy zahrnout možnost -platformsdk určující cestu k sadě SDK
simulátoru iOS.
-device Určete ios_simulator nebo sériové číslo zařízení. Zařízení je nutné určit pouze v případě, že je k počítači
připojeno a spuštěno více zařízení nebo emulátorů Android. Pokud zadané zařízení není připojeno, vrátí nástroj ADT
kód ukončení 14: Chyba zařízení. Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj
ADT kód ukončení 2: Chyba použití.
U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje
Android ADB:
adb devices
-appid ID aplikace AIR nainstalované aplikace. Pokud v zařízení není nainstalována žádná aplikace se zadaným ID,
vrátí nástroj ADT vrátí kód ukončení 14: Chyba zařízení.
Příkaz uninstallApp nástroje ADT
Příkaz - uninstallApp slouží k úplnému odebrání nainstalovaných aplikací ze vzdáleného zařízení nebo emulátoru.
Příkaz používá následující syntaxi:
adt -uninstallApp -platform platformName -platformsdk path_to_sdk -device deviceID -appid
applicationID
-platform Název platformy zařízení. Určete systém ios nebo android.
-platformsdk Cesta k sadě SDK platformy pro cílové zařízení:
• Android – Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných
příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě
SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí
AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
• iOS – Sada AIR SDK se dodává s kaptivní sadou SDK pro systém iOS. Možnost -platformsdk umožňuje balení
aplikací s externí sadou SDK, takže nejste omezení na používání kaptivní verze iOS SDK. Pokud jste například
vytvořili rozšíření s nejnovější sadou iOS SDK, můžete tuto sadu SDK určit při balení aplikace. Pokud navíc sadu
ADT používáte se Simulátorem iOS, musíte vždy zahrnout možnost -platformsdk určující cestu k sadě SDK
simulátoru iOS.
-device Určete ios_simulator nebo sériové číslo zařízení. Zařízení je nutné určit pouze v případě, že je k počítači
připojeno a spuštěno více zařízení nebo emulátorů Android. Pokud zadané zařízení není připojeno, vrátí nástroj ADT
kód ukončení 14: Chyba zařízení. Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj
ADT kód ukončení 2: Chyba použití.
U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje
Android ADB:
adb devices
-appid ID aplikace AIR nainstalované aplikace. Pokud v zařízení není nainstalována žádná aplikace se zadaným ID,
vrátí nástroj ADT vrátí kód ukončení 14: Chyba zařízení.
Příkaz installRuntime nástroje ADT
Příkaz - installRuntime nainstaluje běhový modul AIR do zařízení.
Poslední aktualizace 31.8.2016
175
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
Před opětovnou instalací pomocí tohoto příkazu je nutné odinstalovat stávající verzi běhového modulu AIR.
Příkaz používá následující syntaxi:
adt -installRuntime -platform platformName -platformsdk path_to_sdk -device deviceID -package
fileName
-platform Název platformy zařízení. Tento příkaz je aktuálně podporován pouze na Android platform. Použijte název
android.
-platformsdk Cesta k sadě SDK platformy pro cílové zařízení. V současné době je jedinou podporovanou sadou SDK
platformy Android. Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných
příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě
SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí
AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
-device Sériové číslo zařízení Zařízení je nutné zadat pouze v případě, že je k počítači připojeno a spuštěno více zařízení
nebo emulátorů. Pokud zadané zařízení není připojeno, vrátí nástroj ADT kód ukončení 14: Chyba zařízení. Pokud je
připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj ADT kód ukončení 2: Chyba použití.
U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje
Android ADB:
adb devices
-package Název souboru pro instalovaný běhový modul. U platformy Android to musí být balíček APK. Pokud není
zadán žádný balíček, bude vybrán příslušný běhový modul pro emulátor nebo zařízení z těch, které jsou k dispozici v
sadě SDK AIR. Pokud je běhový modul již nainstalován, vrátí nástroj ADT kód chyby 14:Chyba zařízení.
Příkaz runtimeVersion nástroje ADT
Příkaz - runtimeVersion zobrazí nainstalovanou verzi běhového modulu AIR v zařízení nebo emulátoru. Příkaz
používá následující syntaxi:
adt -runtimeVersion -platform platformName -platformsdk path_to_sdk -device deviceID
-platform Název platformy zařízení. Tento příkaz je aktuálně podporován pouze na Android platform. Použijte název
android.
-platformsdk Cesta k sadě SDK platformy pro cílové zařízení. V současné době je jedinou podporovanou sadou SDK
platformy Android. Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných
příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě
SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí
AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
-device Sériové číslo zařízení Zařízení je nutné zadat pouze v případě, že je k počítači připojeno a spuštěno více zařízení
nebo emulátorů. Pokud není nainstalován běhový modulu nebo zadané zařízení není připojeno, vrátí nástroj ADT kód
ukončení 14: Chyba zařízení. Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj
ADT kód ukončení 2: Chyba použití.
U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje
Android ADB:
adb devices
Poslední aktualizace 31.8.2016
176
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
Příkaz uninstallRuntime nástroje ADT
Příkaz - uninstallRuntime zcela odstraní běhový modul AIR ze zařízení nebo emulátoru. Příkaz používá následující
syntaxi:
adt -uninstallRuntime -platform platformName -platformsdk path_to_sdk -device deviceID
-platform Název platformy zařízení. Tento příkaz je aktuálně podporován pouze na Android platform. Použijte název
android.
-platformsdk Cesta k sadě SDK platformy pro cílové zařízení. V současné době je jedinou podporovanou sadou SDK
platformy Android. Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných
příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě
SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí
AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
-device Sériové číslo zařízení Zařízení je nutné zadat pouze v případě, že je k počítači připojeno a spuštěno více zařízení
nebo emulátorů. Pokud zadané zařízení není připojeno, vrátí nástroj ADT kód ukončení 14: Chyba zařízení. Pokud je
připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj ADT kód ukončení 2: Chyba použití.
U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje
Android ADB:
adb devices
Příkaz devices nástroje ADT
Příkaz -help nástroje ADT zobrazí ID zařízení pro aktuálně připojená mobilní zařízení a emulátory:
adt -devices -platform iOS|android
-platform Zobrazí název platformy ke kontrole. Zadejte hodnoty android nebo iOS.
Poznámka: V systému iOS tento příkaz vyžaduje přehrávač iTunes 10.5.0 nebo vyšší.
Příkaz help nástroje ADT
Příkaz -help nástroje ADT zobrazí výstižné připomenutí možností příkazového řádku:
adt -help
Výstup nápovědy používá následující konvence symbolů:
• < > – položky v lomených závorkách označují informace, které je nutné zadat.
• () – položky v závorkách označují možnosti, které jsou ve výstupu příkazu help považovány za skupinu.
• ALL_CAPS – položky velkými písmeny označují sadu možností, které jsou popsány zvlášť.
• | – Nebo Například (A | B) znamená položka A nebo položka B.
• ? – 0 nebo 1. Otazník následující za položkou označuje, že položka je volitelná a pokud je použita, může se
vyskytnout pouze jedenkrát.
• * – 0 nebo více Hvězdička následující za položkou znamená, že položka je nepovinná a může se vyskytovat v
libovolném počtu instancí.
• + – 1 nebo více. Znaménko plus následující za položkou označuje, že položka je vyžadována a může se vyskytovat
ve více instancích.
• žádný symbol – Pokud za položkou nenásleduje žádný symbol, je vyžadována a může se vyskytnout pouze
jedenkrát.
Poslední aktualizace 31.8.2016
177
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
Sady možností nástroje ADT
Několik příkazů nástroje ADT sdílí společné sady možností.
Možnosti podpisu kódu nástroje ADT
Program ADT používá funkci Java Cryptography Architecture (JCA) k získání přístupu k osobním klíčům a
certifikátům pro podpis aplikací AIR. Možnosti podpisu určují úložiště klíčů a osobní klíče a certifikáty v daném
úložišti klíčů.
Úložiště klíčů musí obsahovat osobní klíč i asociovaný řetězec certifikátu. Jestliže certifikát podpisu provede propojení
k důvěryhodnému certifikátu v počítači, zobrazí se obsah běžného názvu certifikátu jako název vydavatele v
dialogovém okně instalace AIR.
Nástroj ADT vyžaduje, aby certifikát odpovídal normě x509v3 (RFC3280) a obsahoval příponu rozšířeného použití
klíče (Extended Key Usage) s řádnou hodnotou pro podepsání kódu. Omezení definovaná v rámci certifikátu jsou
respektována a mohou vyloučit použití některých certifikátů pro podepsání aplikací AIR.
Poznámka: Je-li to vhodné, používá nástroj ADT nastavení proxy běhového prostředí jazyka Java pro připojení ke
zdrojům na Internetu ke kontrole seznamu zrušených certifikátů a získání časových známek. Jestliže používáte nástroj
ADT a při připojování ke zdrojům na Internetu dojde k potížím a vaše síť vyžaduje specifické nastavení proxy, bude třeba
nakonfigurovat nastavení proxy běhového prostředí Java.
Syntaxe možností podpisu aplikace AIR
U možností podpisu se používá následující syntaxe (na jednom příkazovém řádku):
-alias aliasName
-storetype type
-keystore path
-storepass password1
-keypass password2
-providerName className
-tsa url
-alias Alias klíče v úložišti klíčů. Určení alias není nutné, jestliže úložiště klíčů obsahuje pouze jediný certifikát. Neníli určen žádný alias, použije program ADT první klíč v úložišti klíčů.
Ne všechny aplikace pro správu úložiště klíčů umožňují přiřazení alias certifikátům. Například při používání úložiště
klíčů systému Windows použijte jako alias rozlišující název certifikátu. Můžete použít utilitu Java Keytool pro
zobrazení dostupných certifikátů, takže budete moct určit alias. Například spuštění příkazu:
keytool -list -storetype Windows-MY
vytvoří pro certifikát výstup podobný následující ukázce:
CN=TestingCert,OU=QE,O=Adobe,C=US, PrivateKeyEntry,
Certificate fingerprint (MD5): 73:D5:21:E9:8A:28:0A:AB:FD:1D:11:EA:BB:A7:55:88
Pro odkázání tohoto certifikátu na příkazovém řádku ADT nastavte alias na:
CN=TestingCert,OU=QE,O=Adobe,C=US
V OS Mac X je alias certifikátu v řetězci klíčů název zobrazený v aplikaci přístupu k řetězci klíčů.
Poslední aktualizace 31.8.2016
178
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
-storetype Typ úložiště klíčů určený implementací úložiště. Výchozí implementace úložiště klíčů zahrnutá ve většině
instalací jazyka Java podporuje typy JKS a PKCS12. Java 5.0 obsahuje podporu pro typ PKCS11 pro získání přístupu k
úložištím klíčů na známkách hardware a typ Keychain pro získání přístupu k řetězci klíčů OS Mac X. Java 6.0 obsahuje
podporu pro typ MSCAPI (pro OS Windows). Jestliže byly nainstalovány a nakonfigurovány jiní poskytovatelé JCA,
mohou být k dispozici další typy úložišť klíčů. Jestliže nebyly určeny žádné typy úložiště klíčů, použije se výchozí typ
pro výchozího poskytovatele JCA.
Typ uložení
Formát úložiště klíčů
Minimální verze Java
JKS
Soubor úložiště klíčů Java
(.keystore)
1.2
PKCS12
soubor PKCS12 (.p12 nebo .pfx) 1.4
PKCS11
Známka hardware
1.5
Úložiště řetězce
klíčů
Úložiště řetězce klíčů pro OS
Mac X
1.5
Windows-MY nebo
Windows-ROOT
MSCAPI
1.6
-keystore Cesta k souboru úložiště klíčů pro typy uložení vycházející ze souborů.
-storepass Heslo vyžadované pro přístup k úložišti klíčů. Není-li určeno, nástroj ADT požádá o zadání hesla.
-keypass Heslo vyžadované pro přístup k osobnímu klíči, který je použit pro podepsání aplikace AIR. Není-li určeno,
nástroj ADT požádá o zadání hesla.
Poznámka: Pokud jako součást příkazu nástroje ADT zadáte heslo, budou znaky hesla uloženy do historie příkazového
řádku. Proto se použití příkazu -keypass nebo -storepass nedoporučuje, je-li důležité zabezpečení certifikátu. Všimněte si
také, že při vynechání možnosti hesla se znaky zadané při výzvě k zadání hesla nezobrazí (ze stejných důvodů
zabezpečení). Jednoduše zadejte heslo a stiskněte klávesu Enter.
-providerName Poskytovatel JCA pro určený typ úložiště klíčů. Není-li určen, použije nástroj ADT výchozího
poskytovatele pro daný typ úložiště klíčů.
-tsa Určuje adresu URL RFC3161vyhovujícího serveru časového razítka pro přidání časového razítka k digitálnímu
podpisu. Není-li určena žádná URL, použije se výchozí server časové známky poskytnutý autoritou Geotrust. Když je
podpis aplikace AIR opatřen časovou známkou, aplikace může být stále instalována i po vypršení certifikátu podpisu,
protože časová známka ověří, že certifikát byl v době podpisu platný.
Jestliže se program ADT nemůže připojit k serveru časové známky, je podepisování zrušeno a nebude vytvořen žádný
balík. Pro vypnutí získávání časové známky určete -tsa none. Nicméně aplikace AIR zabalená bez časové známky
nemůže být nainstalována po vypršení certifikátu podpisu.
Poznámka: Mnoho možností podpisu je shodných se stejnou možností v nástroji Java Keytool. Utilitu Keytool můžete
použít k prozkoumání a správě úložišť klíčů v systému Windows. Utilitu zabezpečení Apple® lze za tímto účelem také
použít v OS Mac X.
-provisioning-profile Soubor zajišťování Apple iOS. (Požadováno pouze pro balení aplikací iOS.)
Příklady možností podepsání
Podepsání se souborem .p12:
-storetype pkcs12 -keystore cert.p12
Podepsání s výchozím úložištěm klíčů Java:
Poslední aktualizace 31.8.2016
179
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
-alias AIRcert -storetype jks
Podepsání se specifickým úložištěm klíčů Java:
-alias AIRcert -storetype jks -keystore certStore.keystore
Podepsání s řetězcem klíčů OS Mac X:
-alias AIRcert -storetype KeychainStore -providerName Apple
Podepsání s úložištěm klíčů OS Windows:
-alias cn=AIRCert -storeype Windows-MY
Podepsání známkou hardware (rady pro konfiguraci Java k použití známky a správnou hodnotu providerName
naleznete v pokynech výrobce známky):
-alias AIRCert -storetype pkcs11 -providerName tokenProviderName
Podepsání bez vložení časové známky:
-storetype pkcs12 -keystore cert.p12 -tsa none
Možnosti souboru a cesty
Možnosti souboru a cestu určují všechny soubory, které jsou součástí balíčku. Možnosti souboru a cesty používají
následující syntaxi:
files_and_dirs -C dir files_and_dirs -e file_or_dir dir -extdir dir
files_and_dirs Soubory a adresáře, které budou zabaleny v souboru AIR. Lze určit jakýkoliv počet souborů a slovníků,
oddělených prázdným prostorem. Jestliže uvedete adresář, budou všechny soubory a podadresáře, s výjimkou skrytých
souborů, přidány do balíku. (Pokud je určen soubor deskriptoru aplikace, přímo nebo pomocí zástupného znaku či
doplnění aplikace, je ignorován a není podruhé přidán do balíku.) Určené soubory a slovníky musí být umístěny v
aktuálním adresáři nebo jednom z jeho podadresářích. Pomocí volby -C změňte aktuální adresář.
Důležité: Zástupné znaky nelze použít v argumentech file_or_dir po volbě –C. (Skořepiny příkazu rozšiřují zástupné
znaky před předání argumentů do programu ADT a tento program vyhledá soubory ve špatném umístění.) Pro
nahrazení stávajícího adresáře můžete nicméně použít znak tečky „.“. Například: -C assets. zkopíruje vše v adresáři
datového zdroje, včetně všech dílčích adresářů, až ke kořenové úrovni balíku aplikace.
-C dir files_and_dirs Změní pracovní adresář na hodnotu dir před tím, než zpracuje následné soubory a adresáře
přidané do balíčku aplikace určeného argumentem files_and_dirs). Soubory nebo adresáře jsou přidány ke
kořenům balíku aplikace. Volbu –C lze použít tolikrát, kolikrát si přejete, pro zahrnutí souborů s více bodů do systému
souborů. Je-li pro dirurčena relativní cesta, je cesta vždy získána z původního pracovního adresáře.
Když program ADT zpracovává soubory a adresáře obsažené v balení, uloží se relativní cesta mezi aktuálním
adresářem a cílovými soubory. Tyto cesty jsou při instalaci balíku rozšířeny do struktury adresáře aplikace. Proto
určením -C release/bin lib/feature.swf umístíte soubor release/bin/lib/feature.swf do podadresáře lib
kořenové složky aplikace.
-e file_or_dir dir Umístí soubor nebo adresář do zadaného adresáře balíčku. Tuto možnost nelze použít při
balení souboru ANE.
Poznámka: Element <content> souboru deskriptoru aplikace musí určit finální umístění hlavního souboru aplikace ve
stromové struktuře adresáře balíku aplikace.
-extdir dir Hodnota dir je název adresáře pro vyhledávání nativních rozšíření (souborů ANE). Určuje absolutní nebo
relativní cestu k aktuálnímu adresáři. Možnost -extdir můžete zadat vícekrát.
Poslední aktualizace 31.8.2016
180
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
Zadaný adresář obsahuje soubory ANE pro nativní rozšíření, která bude aplikace používat. Každý soubor ANE v tomto
adresáři má příponu názvu souboru .ane. Název souboru před příponou ANE však nemusí odpovídat hodnotě
elementu extensionID v souboru deskriptoru aplikace.
Pokud například použijete hodnotu -extdir./extensions , může adresář extensions vypadat například takto:
extensions/
extension1.ane
extension2.ane
Poznámka: Použití možnosti -extdir v nástroji ADT a v nástroji ADL se liší. V nástroji ADL tato možnost určuje adresář
obsahující podadresáře, z nichž každý obsahuje nerozbalený soubor ANE. V nástroji ADT určuje tato možnost adresář,
který obsahuje soubory ANE.
Možnosti připojení debuggeru
Pokud je cílem balíčku apk-debug a ipa-debug nebo ipa-debug-interpreter, lze pomocí možností připojení určit, zda
se má aplikace pokusit připojit ke vzdálenému debuggeru, (který se obvykle používá k ladění wifi) nebo zda má
naslouchat příchozímu připojení ze vzdáleného debuggeru (obvykle používaného k ladění USB). Pro připojení
k ladicímu programu použijte volbu -connect. Chcete-li přijmout připojení z ladicímu programu přes rozhraní USB,
použijte volbu -listen. Tyto volby se vzájemně vylučují, což znamená, že je nelze použít společně.
Možnost -connect používá následující syntaxi:
-connect hostString
-connect Pokud je tato možnost zadána, aplikace se pokusí připojit ke vzdálenému debuggeru.
hostString Řetězec identifikující počítač se spuštěným nástrojem ladění Flash FDB. Pokud tato možnost není zadána,
aplikace se pokusí připojit k debuggeru spuštěnému v počítači, ve kterém je balíček vytvořen. Řetězec host může být
plně kvalifikovaný název domény počítače: machinename.subgroup.example.com nebo adresa IP 192.168.4.122. Pokud
zadaný (nebo výchozí) počítač nebyl nalezen, zobrazí běhový modul dialogové okno požadující platný název hostitele.
Možnost -listen používá následující syntaxi:
-listen port
-listen Pokud je tato možnost zadána, běhové prostředí čeká na připojení ze vzdáleného debuggeru.
port (volitelné) Port pro naslouchání. Ve výchozím nastavení běhové prostředí naslouchá na portu 7936. Další
informace o použití možnosti -listen naleznete v části „Vzdálené ladění pomocí nástroje FDB přes port USB“ na
stránce 103.
Možnosti profilování aplikace Android
Pokud je cílem balíčku apk-profile, lze pomocí možností profileru určit, který předem zavedený soubor SWF má být
použit pro profilování výkonu a paměti. Možnosti profileru používají následující syntaxi:
-preloadSWFPath directory
-preloadSWFPath Je-li tato možnost zadána, aplikace se pokusí najít předem zavedený soubor SWF v zadaném
adresáři. Pokud není zadána, obsahuje nástroj ADT předem zavedený soubor SWF ze sady AIR SDK.
directory Adresář obsahující předem zavedený soubor SWF profileru.
Poslední aktualizace 31.8.2016
181
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
Možnosti nativního rozšíření
Možnosti nativního rozšíření určují možnosti a soubory pro balení souboru ANE pro nativní rozšíření. Tyto možnosti
použijte s příkazem package nástroje ADT, ve kterém má možnost -target hodnotu ane.
extension-descriptor -swc swcPath
-platform platformName
-platformoptions path/platform.xml
FILE_OPTIONS
extension-descriptor Soubor deskriptoru pro nativní rozšíření.
-swc Soubor SWC obsahující kód jazyka ActionScript a prostředky pro nativní rozšíření.
-platform Název platformy, kterou tento soubor ANE podporuje. Můžete zahrnout více možností -platform, každou
s vlastním parametrem FILE_OPTIONS.
-platformoptions Cesta k souboru obsahujícímu možnosti platformy (platform.xml). Tento soubor můžete použít
k určení jiných než výchozích možností propojení, sdílených knihoven a statických knihoven třetích stran
používaných v rozšíření. Další informace a ukázky naleznete v části Nativní knihovny iOS.
FILE_OPTIONS Určuje nativní soubory platformy, které budou součástí balíčku, jako např. statické knihovny
obsažené v nativním balíčku rozšíření. Možnosti souboru jsou kompletně popsány v tématu „Možnosti souboru a
cesty“ na stránce 179. (Všimněte si, že možnost -e nelze použít při balení souboru ANE.)
Další témata Nápovědy
Zabalení nativního rozšíření
Chybová hlášení programu ADT
Následující tabulka obsahuje seznam možných chyb, které může nahlásit program ADT, a jejich pravděpodobné
příčiny:
Chyby ověření deskriptoru aplikace
Kód chyby
Popis
Poznámky
100
Deskriptor aplikace nelze analyzovat.
Zkontrolujte, zda se v souboru deskriptoru
aplikace nevyskytují chyby syntaxe jazyka
XML, jako jsou například neuzavřené tagy.
101
Chybí jmenný prostor.
Přidejte chybějící jmenný prostor.
102
Neplatný jmenný prostor
Zkontrolujte pravopis jmenného prostoru.
103
Neočekávaný element nebo atribut
Odstraňte nevhodné elementy a atributy. V
souboru deskriptoru nejsou povoleny
vlastní hodnoty.
Zkontrolujte pravopis názvů elementů a
atributů.
Ujistěte se, že jsou elementy umístěny ve
správném nadřazeném elementu a že jsou
atributy použity se správnými elementy.
104
Chybějící element nebo atribut
Přidejte požadovaný element nebo atribut.
Poslední aktualizace 31.8.2016
182
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
Kód chyby
Popis
Poznámky
105
Element nebo atribut obsahuje neplatnou
hodnotu.
Opravte nevhodnou hodnotu.
106
Nesprávná kombinace atributu okna
Některá nastavení oken nelze používat
společně (například nastavení
transparency = true a
systemChrome = standard. Změňte
jedno z nekompatibilních nastavení.
107
Minimální velikost okna je větší než
maximální velikost okna.
Změňte buď nastavení minimální velikosti,
nebo nastavení maximální velikosti.
108
Atribut se již používá v předchozím
elementu.
109
Element je duplicitní.
Odeberte duplicitní element.
110
Je vyžadován alespoň jeden element
určeného typu.
Přidejte chybějící element.
111
Žádné profily uvedené v deskriptoru
aplikace nepodporují nativní rozšíření.
Do seznamu supportedProfies přidejte
profil, který podporuje nativní rozšíření
112
Cíl AIR nepodporuje nativní rozšíření.
Vyberte cíl, který podporuje nativní
rozšíření.
113
<nativeLibrary> a <initializer> musí být
uvedeny společně.
Funkce inicializátoru musí být zadána pro
každou nativní knihovnu v nativním
rozšíření.
114
Byl nalezen <finalizer> bez
<nativeLibrary>.
Nezadávejte finalizační metodu, pokud
platforma používá nativní knihovnu.
115
Výchozí platforma nesmí obsahovat nativní Nezadávejte nativní knihovnu ve výchozím
implementaci.
elementu platformy.
116
Vyvolání prohlížeče není pro tento cíl
podporováno.
117
Tento cíl vyžaduje minimálně obor názvů n Změňte obor názvů AIR v deskriptoru
pro zabalení nativních rozšíření.
aplikace na podporovanou hodnotu.
Element <allowBrowserInvocation>
nemůže mít pro zadaný cíl balíčku hodnotu
true.
Informace o oborech názvů, elementech, atributech a jejich platných hodnotách naleznete v tématu „Soubory
deskriptorů aplikací AIR“ na stránce 202.
Chyby ikony aplikace
Poslední aktualizace 31.8.2016
183
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
Kód chyby
Popis
Poznámky
200
Nelze otevřít soubor ikony.
Zkontrolujte, že soubor v určené cestě
existuje.
Ujistěte se pomocí jiné aplikace, že soubor
lze otevřít.
201
Ikona má nesprávnou velikost.
Velikost ikony (v obrazových bodech) musí
odpovídat tagu XML. Je-li například daný
element deskriptoru aplikace:
<image32x32>icon.png</image32x3
2>
Musí mít obraz v souboru icon.png
rozměry 32 x 32 obrazových bodů.
202
Soubor ikony obsahuje nepodporovaný
formát souboru.
Podporován je pouze formát PNG. Před
zabalením aplikace převeďte obrazy v
jiných formátech.
Chyby souboru aplikace
Kód chyby
Popis
Poznámky
300
Soubor chybí nebo nelze otevřít.
Soubor určený na příkazovém řádku nelze
najít nebo otevřít.
301
Soubor deskriptoru aplikace chybí nebo
nelze otevřít.
Soubor deskriptoru aplikace nelze v určené
cestě najít nebo ho nelze otevřít.
302
V balíčku chybí soubor kořenového
obsahu.
Do balíčku je třeba přidat soubor SWF nebo
HTML odkazovaný v elementu <content>
deskriptoru aplikace – zahrňte tento
soubor do souborů, které jsou uvedeny na
příkazovém řádku programu ADT.
303
V balíčku chybí soubor ikony.
Do balíčku je třeba přidat soubory ikony
určené v deskriptoru aplikace – zahrňte
tyto soubory do souborů uvedených na
příkazovém řádku programu ADT. Soubory
ikon nejsou přidávány automaticky.
304
Počáteční obsah okna je neplatný.
Soubor odkazovaný v elementu
<content> deskriptoru aplikace není
rozpoznán jako platný soubor HTML nebo
SWF.
305
Počáteční verze SWF obsahu okna je vyšší
než verze jmenného prostoru
Verze formátu SWF souboru odkazovaného
v elementu <content> deskriptoru
aplikace není podporována verzí aplikace
AIR, která je určena ve jmenném prostoru
deskriptoru. Tuto chybu například
vygenerujete, pokud se pro počáteční
obsah aplikace AIR 1.1 pokusíte zabalit
soubor ve formátu SWF10 (Flash Player 10).
306
Profil není podporován.
Profil, který zadáváte v souboru deskriptoru
aplikace, není podporován. Viz
„supportedProfiles“ na stránce 236.
307
Obor názvů musí být alespoň nnn.
Použijte příslušný obor názvů pro funkce
použité v aplikaci (například obor názvů
2.0).
Poslední aktualizace 31.8.2016
184
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
Kódy ukončení pro jiné chyby
Kódy ukončení
Popis
Poznámky
2
Chyba použití
Zkontrolujte, jestli argumenty v
příkazovém řádku neobsahují chyby
5
Neznámá chyba
Tato chyba označuje situaci, kterou nelze
vysvětlit pomocí běžných podmínek chyb.
Mezi hlavní příčiny patří nekompatibilita
mezi programem ADT a prostředím
runtime jazyka Java, poškozené instalace
programu ADT nebo prostředí JRE a
programovací chyby uvnitř programu ADT.
6
Nelze provést zápis do výchozího adresáře. Ujistěte se, že je určený (nebo
předpokládaný) výstupní adresář přístupný
a že na jednotce, která tento adresář
obsahuje, je dostatek volného místa.
7
Nelze získat přístup k certifikátu
Ujistěte se, že je cesta ke stisknutí klávesy
určena správně.
Zkontrolujte, zda lze k certifikátu
přistupovat v rámci stisknutí klávesy. K
řešení potíží s přístupem k certifikátu slouží
nástroj Java 1.6 Keytool.
8
Neplatný certifikát
Soubor certifikátu je utvořený nesprávně,
upravený, má vypršenou platnost nebo byl
odvolán.
9
Soubor AIR nelze podepsat.
Ověřte možnosti podpisu předané
programu ADT.
10
Nelze vytvořit časové razítko.
Program ADT nedokáže ustavit připojení k
serveru časového razítka. Pokud jste k
internetu připojeni prostřednictvím
serveru proxy, bude patrně potřeba
nakonfigurovat nastavení proxy prostředí
JRE.
11
Chyba vytvoření certifikátu
Ověřte argumenty příkazového řádku
použité k vytvoření podpisů.
12
Neplatné zadání
Ověřte cesty souborů a další argumenty
předané programu ADT na příkazovém
řádku.
13
Chybí sada SDK zařízení
Zkontrolujte konfiguraci sady SDK zařízení.
Nástroj ADT nemůže najít sadu SDK zařízení
potřebnou pro provedení zadaného
příkazu.
14
Chyba zařízení
Nástroj ADT nemůže provést příkaz z
důvodu omezení nebo problému u
zařízení. Tento kód ukončení je například
odeslán při pokusu o odinstalaci aplikace,
která není ve skutečnosti nainstalována.
Poslední aktualizace 31.8.2016
185
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
Kódy ukončení
Popis
Poznámky
15
Žádná zařízení
Ověřte, zda je zařízení připojeno a zapnuto,
nebo že je spuštěn emulátor.
16
Chybějící komponenty GPL
Aktuální sada AIR SDK nezahrnuje všechny
komponenty potřebné k provedení
požadované operace.
17
Nástroj balení zařízení vygenerovat chybu.
Balíček nelze vytvořit, protože očekávané
komponenty operačního systému nebyly
nalezeny.
Chyby systému Android
Kódy
ukončení
Popis
Poznámky
400
Aktuální verze sady SDK systému Android Zkontrolujte, zda je název atributu zadán
nepodporuje atribut.
správně a zda se jedná o platný atribut pro
element, ve kterém se vyskytuje. Může být
nutné nastavit příznak -platformsdk v
příkazu nástroje ADT, pokud byl atribut
zaveden po verzi Android 2.2.
401
Aktuální verze sady SDK systému Android Zkontrolujte, zda je správně zadána
nepodporuje hodnotu atributu.
hodnota atributu a zda je platná pro
atribut. Může být nutné nastavit příznak platformsdk v příkazu nástroje ADT,
pokud byla hodnota atributu zavedena
po verzi Android 2.2.
402
Aktuální verze sady SDK systému Android Zkontrolujte, zda je název tagu XML zadán
nepodporuje tag XML.
správně a zda se jedná o platný element
dokumentu manifestu systému Android.
Může být nutné nastavit příznak platformsdk v příkazu nástroje ADT,
pokud byl element zaveden po verzi
Android 2.2.
403
Přepsání tagu systému Android není
povoleno.
Aplikace se pokouší o přepsání elementu
manifestu systému Android, který je
vyhrazen pro použití aplikacemi AIR. Viz
téma „Nastavení systému Android“ na
stránce 73.
404
Přepsání atributu systému Android není
povoleno.
Aplikace se pokouší o přepsání atributu
manifestu systému Android, který je
vyhrazen pro použití aplikacemi AIR. Viz
téma „Nastavení systému Android“ na
stránce 73.
405
Tag %1 systému Android musí být první
element v tagu manifestAdditions.
Přesuňte zadaný tag do požadovaného
umístění.
406
Atribut % 1 tagu %2 systému Android má
neplatnou hodnotu % 3.
Zadejte platnou hodnotu pro atribut.
Proměnné prostředí nástroje ADT
Nástroj ADT načítá hodnoty proměnných prostředí (pokud jsou nastaveny):
Poslední aktualizace 31.8.2016
186
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
AIR Developer Tool (ADT)
AIR_ANDROID_SDK_HOME Určuje cestu ke kořenovému adresáři sady Android SDK (adresář obsahující složku
nástrojů). Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných příkazů
ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Pokud je tato proměnná
nastavena, není nutné zadávat příkaz -platformsdk při spouštění příkazů nástroje ADT, které ji vyžadují. Pokud je
nastavena tato proměnná i možnost příkazového řádku, bude použita cesta zadaná na příkazovém řádku.
Proměnná prostředí AIR_EXTENSION_PATHurčuje cestu pro hledání nativních rozšíření, která jsou vyžadována
pro aplikaci. Tento seznam adresářů bude prohledán za účelem nalezení jakýchkoli adresářů nativního rozšíření
zadaných na příkazovém řádku nástroje ADT. Příkaz nástroje ADL také používá tuto proměnnou prostředí.
Poznámka: V některých počítačových systémech mohou být chybně interpretovány dvoubajtové znaky v systémových
cestách k souborům uložených v těchto proměnných prostředí. V takovém případě zkuste nastavit běhové prostředí Java
použité ke spuštění nástroje ADT na znakovou sadu UTF-8. Ve výchozím nastavení to provedete ve skriptu použitém ke
spuštění nástroje ADT v systémech Mac a Linux. V souboru adt.bat systému Windows nebo při spuštění nástroje ADT
přímo z jazyka Java zadejte možnost -Dfile.encoding=UTF-8 na příkazovém řádku jazyka Java.
Poslední aktualizace 31.8.2016
187
Kapitola 13: Podepisování aplikací AIR
Digitální podepisování souboru AIR
Digitální podpis vašich instalačních souborů AIR s certifikátem vydaným uznávanou certifikační autoritou (CA)
poskytuje vašim uživatelům významnou záruku, že aplikace, kterou instalují, nebyla náhodně nebo úmyslně upravena
a identifikuje vás jako autora podpisu (vydavatele). AIR zobrazí název vydavatele během instalace, pokud byla aplikace
AIR podepsána s certifikátem, který je důvěryhodný, nebo který provede propojení na důvěryhodný certifikát
v počítači instalace:
Dialog potvrzení instalace pro aplikaci, která je podepsána důvěryhodným certifikátem
Pokud podepíšete aplikaci pomocí certifikátu podepsaného svým držitelem (nebo certifikátu, který není spojen
s důvěryhodným certifikátem), uživatel musí při instalaci vaší aplikace podstoupit větší bezpečnostní riziko.
V dialozích instalace bude toto riziko uvedeno:
Dialog potvrzení instalace pro aplikaci, která je podepsána certifikátem podepsaným svým držitelem
Důležité: Podvodné entity by mohly falsifikovat soubor AIR s vaší totožností, jestliže nějakým způsobem získají váš
soubor úložiště klíčů podpisu nebo zjistí váš osobní klíč.
Poslední aktualizace 31.8.2016
188
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
Certifikáty podpisu kódu
Záruky zabezpečení, omezení a právní závazky týkající se použití certifikátů podpisu kódu jsou uvedeny v Prohlášení
o postupech certifikátu (Certificate Practice Statements - CPS) a v ujednáních odběratele zveřejněných vydávající
certifikační autoritou. Více informací o ujednáních pro certifikační autority, které aktuálně vydávají certifikáty pro
podpis kódu aplikace AIR, naleznete na níže uvedených odkazech:
ChosenSecurity (http://www.chosensecurity.com/products/tc_publisher_id_adobe_air.htm)
CPS ChosenSecurity (http://www.chosensecurity.com/resource_center/repository.htm)
GlobalSign (http://www.globalsign.com/code-signing/index.html)
GlobalSign CPS (http://www.globalsign.com/repository/index.htm)
Thawte CPS (http://www.thawte.com/cps/index.html)
VeriSign CPS (http://www.verisign.com/repository/CPS/)
Smlouva předplatitele společnosti VeriSign (https://www.verisign.com/repository/subscriber/SUBAGR.html)
O podepisování kódu AIR
Když je soubor AIR podepsán, je digitální podpis zahrnut v instalačním souboru. Podpis zahrnuje souhrn balíku, který
je použit pro ověření, že soubor AIR nebyl od podepsání upraven a zahrnuje informace o certifikátu podpisu, který je
použit pro ověření totožnosti vydavatele.
AIR používá infrastrukturu veřejného klíče (PKI) podporovanou pomocí certifikátu operačního systému uloženého
pro určení důvěryhodnosti certifikátu. Pro ověření informace vydavatele musí počítač, na kterém je aplikace AIR
nainstalována, buď přímo důvěřovat certifikátu použitému pro podepsání aplikace AIR, nebo musí důvěřovat řetězci
certifikátů propojujícímu certifikát s důvěryhodnou certifikační autoritou.
Jestliže je soubor AIR podepsán s certifikátem, který neprovede propojení k jednomu z důvěryhodných kořenových
certifikátů (a toto běžně zahrnuje všechny certifikáty s vlastním podpisem), nelze informace vydavatele ověřit. Zatímco
AIR může určit, že balík AIR nebyl od jeho podepsání změněn, neexistuje způsob pro zjištění, kdo daný soubor vlastně
vytvořil a podepsal.
Poznámka: Uživatel si může zvolit důvěřovat certifikátu s vlastním podpisem a libovolná aplikace AIR podepsaná s
certifikátem poté zobrazí hodnotu pole společného názvu v daném certifikátu jako název vydavatele. AIR neposkytuje
uživatelům žádné prostředky k označení certifikátu jako důvěryhodného. Certifikát (neobsahující osobní klíč) musí být
poskytnut uživateli samostatně a uživatel musí k importu certifikátu do příslušného umístění v systémovém úložišti
certifikátu použít jeden z mechanismů poskytnutých operačním systémem nebo příslušným nástrojem.
O identifikátorech vydavatele AIR
Důležité: Od verze prostředí AIR 1.5.3 se ID vydavatele nepoužívá a není již vypočítáno na základě certifikátu pro podpis
kódu. Nové aplikace nemusí a ani by neměly používat ID vydavatele. Při aktualizaci stávajících aplikací je nutné zadat
do souboru deskriptoru aplikace původní ID vydavatele.
Před vydáním verze prostředí AIR 1.5.3 generoval ID vydavatele instalační program aplikace AIR během instalace
souboru AIR. Jednalo se o identifikátor, který byl jedinečný pro certifikát použitý k podpisu souboru AIR. Pokud jste
znovu použili stejný certifikát pro více aplikací AIR, tyto aplikace získaly stejné ID vydavatele. Podpis aktualizace
aplikace jiným certifikátem a v některých případech dokonce i obnovenou instancí původního certifikátu změnil ID
vydavatele.
Poslední aktualizace 31.8.2016
189
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
Ve verzi prostředí AIR 1.5.3 a starších není ID vydavatele přiřazováno prostředím AIR. Aplikace publikovaná
prostředím AIR 1.5.3 může mít řetězec ID vydavatele uveden v deskriptoru aplikace. ID vydavatele je nutné určit
pouze při publikování aktualizací pro aplikace původně publikované pro verze prostředí AIR starší než verze 1.5.3.
Pokud nezadáte původní ID do deskriptoru aplikace, nový balík AIR nebude považován za aktualizaci stávající
aplikace.
Chcete-li zjistit původní ID vydavatele, vyhledejte soubor publisherid v podadresáři META-INF/AIR, kde je
nainstalována původní aplikace. Řetězec uvnitř tohoto souboru je ID vydavatele. Deskriptor vaší aplikace musí určovat
běhový modul AIR 1.5.3 (nebo novější) v deklaraci jmenného prostoru deskriptoru aplikace, aby bylo možné zadat ID
vydavatele ručně.
ID vydavatele, pokud je přítomno, slouží k těmto účelům:
• Jako součást šifrovacího klíče pro šifrované místní úložiště
• Jako součást cesty pro adresář úložiště aplikace
• Jako součást připojovacího řetězce pro místní připojení
• Jako součást řetězce identity používaného k vyvolání aplikace pomocí rozhraní API v prohlížeči prostředí AIR
• Jako součást specifikace OSID (používané při vytváření vlastních instalačních a odinstalačních programů)
Když se změní ID vydavatele, změní se i chování veškerých funkcí prostředí AIR, které na tomto ID závisí. Například
data ve stávajícím zašifrovaném úložišti již nejsou přístupná a veškeré instance prostředí Flash nebo AIR, které
vytvářejí místní připojení k aplikaci, musí v připojovacím řetězci používat nové ID. V prostředí AIR 1.5.3 nebo
novějším nelze změnit ID vydavatele nainstalované aplikace. Pokud při publikování balíku AIR použijete jiné ID
vydavatele, instalátor nebude s novým balíčkem pracovat jako s aktualizací, ale jako s jinou aplikací.
O formátech certifikátu
Podpisové nástroje AIR přijímají jakékoliv úložiště klíčů přístupné pomocí funkce Java Cryptography Architecture
(JCA). Mezi ně patří úložiště klíčů vycházející ze souborů, například soubory s formátem PKCS12 (které obvykle
používají koncovku souboru .pfx nebo .p12), soubory jazyka Java .keystore, úložiště klíčů hardware PKCS11 a systémová
úložiště klíčů. Formáty úložiště klíčů, ke kterým může program ADT získat přístup, závisí na verzi a konfiguraci runtime
jazyka Java použitého ke spuštění programu ADT. Přístup k některým typům úložišť klíčů, například k známkám
hardware PKCS11, může vyžadovat instalaci a konfiguraci dalších ovladačů software a modulů JCA.
K podepsání souborů AIR můžete použít stávající certifikát podpisu kódu nebo můžete získat nový certifikát vydaný
výlučně za účelem podpisu aplikací AIR. Lze použít například libovolný z následujících typů certifikátů od společností
VeriSign, Thawte, GlobalSign nebo ChosenSecurity:
• ChosenSecurity
• Služba TC Publisher ID for Adobe AIR
• GlobalSign
• Služba ObjectSign Code Signing Certificate
• Thawte:
• AIR Developer Certificate
• Apple Developer Certificate
• JavaSoft Developer Certificate
• Microsoft Authenticode Certificate
Poslední aktualizace 31.8.2016
190
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
• VeriSign:
• Digitální identifikátor Adobe AIR
• Microsoft Authenticode Digital ID
• Sun Java Signing Digital ID
Poznámka: Certifikát musí být vytvořen pro podpis kódu. K podpisu souborů AIR nelze použít certifikát SSL nebo jiný
typ certifikátů.
Časové známky
Když podepíšete soubor AIR, nástroj balení pošle serveru dotaz ohledně autority časové známky pro získání nezávisle
ověřitelného data a času podpisu. Získaná časová známka je vložena do souboru AIR. Pokud je certifikát podpisu
platný v době podpisu, lze soubor AIR nainstalovat, i po vypršení certifikátu. Pokud ale není obdržena žádná časová
známka, soubor AIR již nelze nainstalovat, pokud certifikát vyprší nebo je zrušen.
Nástroje balení AIR implicitně získají časovou známku. Pokud ale chcete povolit zabalení aplikace, když je služba
časových známek nedostupná, můžete získávání časových známek vypnout. Společnost Adobe doporučuje, aby
všechny veřejně distribuované soubory AIR obsahovaly časovou známku.
Výchozí autorita časových známek používaná nástroji balení AIR je Geotrust.
Získání certifikátu
Pro získání certifikátu navštivte webové stránky certifikační autority a projděte procesem zprostředkování dané
společnosti. Nástroje použité k vytvoření souboru úložiště klíčů potřebného nástroji AIR závisí na typu zakoupeného
certifikátu, způsobu uložení certifikátu na počítači příjemce a někdy také na prohlížeči použitém k získání certifikátu.
Chcete-li například získat a exportovat certifikát Adobe Developer od společnosti Thawte, musíte použít prohlížeč
Mozilla Firefox. Certifikát lze poté exportovat jako soubor .p12 nebo .pfx přímo z uživatelského rozhraní prohlížeče
Firefox.
Poznámka: Jazyk Java verze 1.5 a vyšší nepřijímá hesla obsahující znaky high-ASCII pro ochranu souborů certifikátů
PKCS12. Vývojářské nástroje prostředí AIR používají k vytváření podepsaných balíků AIR jazyk Java. Když exportujete
certifikát jako soubor .p12 nebo .pfx, používejte jako heslo pouze běžné znaky ASCII.
Certifikát s vlastním podpisem můžete vygenerovat pomocí programu Air Development Tool (ADT) používaného k
balení instalačních souborů AIR. Lze také použít některé nástroje třetích stran.
Pokyny pro vygenerování certifikátu s vlastním podpisem i pokyny pro podepsání souboru AIR naleznete v tématu
„AIR Developer Tool (ADT)“ na stránce 163. Soubory AIR lze rovněž vyexportovat a podepsat pomocí aplikací Flex
Builder, Dreamweaver a aktualizace AIR pro nástroj Flash.
Následující příklad popisuje způsob získání certifikátu vývojáře AIR od certifikační autority Thawte a přípravu tohoto
certifikátu pro jeho použití s programem ADT.
Příklad: Získání certifikátu vývojáře AIR od autority Thawte
Poznámka: Tento příklad ukazuje pouze jeden z mnoha způsobů získání a přípravy certifikátu podpisu kódu, který
můžete použít. Každá certifikační autorita má vlastní zásady a postupy.
Pro zakoupení certifikátu vývojáře AIR server autority Thawte vyžaduje použití prohlížeče Mozilla Firefox. Osobní
klíč pro certifikát je uložen v úložišti klíčů prohlížeče. Ujistěte se, zda je úložiště klíčů Firefox zajištěno pomocí
hlavního hesla, a že je samotný počítač fyzicky zabezpečen. (Jakmile je proces zprostředkování dokončen, můžete
certifikát a osobní klíč z úložiště klíčů prohlížeče exportovat a odstranit.)
Poslední aktualizace 31.8.2016
191
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
Jako součást procesu přihlášení certifikátu je vygenerována dvojice osobního a veřejného klíče. Osobní klíč je
automaticky uložen v úložišti klíčů aplikace Firefox. Pro vyžádání i načtení certifikátu ze serveru autority Thawte
musíte použít stejný počítač a stejný prohlížeč.
1 Navštivte server autority Thawte a přejděte na Stránka produktů pro certifikáty podpisu kódu.
2 Ze seznamu certifikátů podpisu kódu vyberte Adobe AIR Developer Certificate.
3 Absolvujte proces přihlášení zahrnující dva kroky. Je třeba poskytnout informace o organizaci a vaše kontaktní
údaje. Thawte poté provede proces ověření identity a může požádat o dodatečné informace. Po dokončení ověření
vám autorita Thawte odešle e-mail s pokyny, jak načíst certifikát.
Poznámka: Dodatečné informace o typu vyžadované dokumentace lze nalézt zde: https://www.thawte.com/ssldigital-certificates/free-guides-whitepapers/pdf/enroll_codesign_eng.pdf.
4 Načtěte vydaný certifikát ze serveru Thawte. Certifikát je automaticky uložen do úložiště klíčů aplikace Firefox.
5 Exportujte soubor úložiště klíčů obsahující osobní klíč a certifikát z úložiště klíčů Firefox pomocí následujících
kroků:
Poznámka: Při exportu osobního klíče a certifikátu z aplikace Firefox je export proveden ve formátu .p12 (pfx), který
může být použit programy ADT, Flex, Flash a Dreamweaver.
a Otevřete dialogové okno aplikace Firefox Správce certifikátu:
b V systému Windows: Otevřete položky Nástroje -> Možnosti -> Rozšířené -> Šifrování -> Certifikáty.
c V systému Mac OS: Otevřete aplikaci Firefox -> Preference -> Rozšířené -> Šifrování -> Zobrazit certifikáty
d V systému Linux: Otevřete položky Nástroje -> Možnosti -> Rozšířené -> Šifrování -> Certifikáty.
e Ze seznamu certifikátů vyberte Adobe AIR Code Signing Certificate a klepněte na tlačítko Záloha.
f
Zadejte název souboru a umístění, kam chcete soubor úložiště klíčů exportovat. Poté klepněte na možnost
Uložit.
g Jestliže používáte hlavní heslo Firefox, budete požádání o zadání svého hesla pro zařízení k zabezpečení
software, abyste mohli soubor exportovat. (Toto heslo je použito pouze aplikací Firefox.)
h V dialogovém okně Výběr hesla pro zálohování certifikátu vytvořte heslo pro soubor úložiště klíčů.
Důležité: Toto heslo chrání soubor úložiště klíčů a je vyžadováno, je-li soubor použit pro podpis aplikací AIR. Měli
byste zvolit bezpečné heslo.
i
Klikněte na tlačítko OK. Měli byste obdržet zprávu o úspěšném provedení zálohy hesla. Soubor úložiště klíčů
obsahující osobní klíč a certifikát je uložen s příponou .p12 (ve formátu PKCS12)
6 Exportovaný soubor úložiště klíčů použijte s programy ADT, Flex Builder, Flash nebo Dreamweaver. Heslo
vytvořené pro tento soubor je vyžadováno při každém podpisu aplikace AIR.
Důležité: Osobní klíč a certifikát jsou stále uloženy v úložišti klíčů aplikace Firefox. To vám nejen umožňuje exportovat
další kopii souboru certifikátu, ale jedná se také o další bod přístupu, který musí být chráněn, aby bylo zajištěno
zabezpečení vašeho certifikátu a osobního klíče.
Změna certifikátů
V některých situacích je nutné změnit certifikát, který používáte k podepsání aktualizací pro vaši aplikaci AIR. Mezi
takové okolnosti patří:
• Obnovení původního podpisového certifikátu.
• Aktualizace z certifikátu s vlastním podpisem na certifikát vydaný certifikační autoritou.
Poslední aktualizace 31.8.2016
192
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
• Změna z certifikátu s vlastním podpisem, který za chvíli vyprší, na jiný
• Změna z jednoho komerčního certifikátu na jiný, například při změně identity vaší společnosti.
Aby prostředí AIR rozpoznalo soubor AIR jako aktualizaci, je nutné buďto podepsat původní i aktualizační soubor
AIR stejným certifikátem, nebo použít na aktualizaci podpis přesunu certifikátu. Podpis přesunu je druhý podpis
použitý na aktualizační balík AIR pomocí původního certifikátu. Podpis přesunu používá původní certifikát k
potvrzení, že podepsaný je původní vydavatel aplikace.
Po instalaci souboru AIR s podpisem přesunu se nový certifikát stane primárním certifikátem. Následující aktualizace
podpis přesunu nevyžadují. Podpisy přesunu je však třeba používat co nejdéle, čímž vyjdete vstříc uživatelům, kteří
vynechávají aktualizace.
Důležité: Je nutné změnit certifikát a použít podpis migrace u aktualizace s původním certifikátem před jeho vypršením.
Uživatelé jinak budou muset před instalací nové verze odinstalovat stávající verzi aplikace. V prostředí AIR 5.3.365 nebo
novějším můžete používat podpis přesunu pomocí certifikátu s prošlou platností během lhůty odkladu 365 dní od
vypršení platnosti. Certifikát s prošlou platností však nelze použít k uplatnění podpisu hlavní aplikace.
Chcete-li změnit certifikáty:
1 Vytvořte aktualizaci své aplikace
2 Zabalte a podepište aktualizovaný soubor AIR pomocí certifikátu nový
3 Znovu podepište soubor AIR pomocí certifikátu původní (pomocí příkazu programu ADT -migrate)
Soubor AIR s podpisem přesunu je v jiných ohledech běžným souborem AIR. Jestliže je aplikace v systému
nainstalována bez původní verze, AIR nainstaluje novou verzi obvyklým způsobem.
Poznámka: Před vydáním verze prostředí AIR 1.5.3 podpis aplikace AIR obnoveným certifikátem ne vždy vyžadoval
podpis přesunu. Počínaje prostředím AIR verze 1.5.3 je pro obnovené certifikáty vždy vyžadován podpis přesunu.
Podpis přesunu lze použít pomocí „Příkaz migrate nástroje ADT“ na stránce 171, jak je uvedeno v části „Podepisování
aktualizované verze aplikace AIR“ na stránce 197.
Poznámka: Příkaz migrate nástroje ADT nelze použít u aplikací AIR pro stolní počítače, které zahrnují nativní rozšíření,
protože tyto aplikace jsou zabaleny jako nativní instalátory a nikoli jako soubory s příponou AIR. Chcete-li změnit
certifikáty pro aplikaci AIR pro stolní počítače, která zahrnuje nativní rozšíření, zabalte aplikaci pomocí „Příkaz package
nástroje ADT“ na stránce 164 s příznakem -migrate.
Změny identity aplikace
Před vydáním verze prostředí AIR 1.5.3 se identita aplikace AIR změnila po instalaci aktualizace podepsané podpisem
přesunu. Změna identity aplikace má mimo jiné tyto důsledky:
• Nová verze aplikace nemůže získat přístup k datům ve stávajícím kódovaném lokálním úložišti.
• Umístění adresáře ukládání aplikace se změní. Data ve starém umístění nejsou zkopírována do nového adresáře.
(Nicméně nová aplikace může najít původní adresář na základě starého ID vydavatele).
• Aplikace již nemůže otevřít místní připojení pomocí starého ID vydavatele.
• Řetězec identity použitý pro přístup k aplikaci z webové stránky se změní.
• Změní se specifikace OSID aplikace. (Specifikace OSID se používá při psaní vlastních instalačních a odinstalačních
programů.)
Při publikování aktualizace pomocí prostředí AIR 1.5.3 nebo novějšího se nemůže změnit identita aplikace. ID
původní aplikace a vydavatele musí být uvedeno v deskriptoru aplikace aktualizačního souboru AIR. Jinak nebude
nový balík rozpoznán jako aktualizace.
Poslední aktualizace 31.8.2016
193
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
Poznámka: Při publikování nové aplikace AIR pomocí prostředí AIR verze 1.5.3 a novějších nesmí být určeno ID
vydavatele.
Terminologie
Tato část poskytuje slovníček některých klíčových pojmů, kterým byste měli rozumět při rozhodování o způsobu
podepsání své aplikace pro veřejnou distribuci.
Pojem
Popis
Certifikační autorita (CA)
Objekt v síti infrastruktury veřejných klíčů, který slouží jako důvěryhodná třetí strana a certifikuje
totožnost vlastníka veřejného klíče. CA obvykle vydává digitální certifikáty podepsané jejím
vlastním osobním klíčem a označuje tak, že ověřila totožnost držitele certifikátu.
Prohlášení o postupech certifikátu
(Certificate Practice Statement - CPS)
Stanovuje postupy a zásady certifikační autority při vydávání a ověřování certifikátů. CPS je
součástí smlouvy mezi CA a jejími odběrateli a souvisejícími stranami. Udává také postupy pro
ověření totožnosti a úroveň zaručení nabízenou certifikátem, který autorita poskytuje.
Seznam zrušených certifikátů
(Certificate Revocation List - CRL)
Seznam vydaných certifikátů, které byly zrušeny a nelze již na ně spoléhat. AIR zkontroluje CRL při
podpisu aplikace AIR a dále při instalaci aplikace, jestliže není přítomna žádná časová známka.
Řetězec certifikátu
Řetězec certifikátu je sekvence certifikátů, kde je každý certifikát v řetězci podepsán dalším
certifikátem.
Digitální certifikát
Digitální dokument obsahující informace o totožnosti majitele, veřejném klíči majitele a totožnosti
certifikátu jako takového. Certifikát vydaný certifikační autoritou je podepsán certifikátem
patřícím vydávající CA.
Digitální podpis
Kódovaná zpráva nebo souhrn, který lze dekódovat pouze pomocí veřejného klíče, poloviny
dvojice veřejného a osobního klíče. V infrastruktuře veřejného klíče obsahuje digitální podpis
jeden nebo více digitálních certifikátů, které lze dosledovat k certifikační autoritě. Digitální podpis
lze použít k ověření, zda zpráva (nebo soubor počítače) nebyla od podpisu pozměněna (v rámci
omezení zajištění poskytovaného použitým kryptografickým algoritmem) a, za předpokladu, že
důvěřujete vydávající certifikační autoritě, k ověření totožnosti autora podpisu.
Úložiště klíčů
Databáze obsahující digitální certifikáty a v některých případech související osobní klíče.
Java Cryptography Architecture (JCA)
Rozšířitelná architektura pro správu a získání přístupu k úložištím klíčům. Více informací naleznete
v Referenční příručka Java Cryptography Architecture.
PKCS #11
Standard rozhraní kryptografické známky od RSA Laboratories. Úložiště klíčů založené na známce
hardware.
PKCS #12
Standard syntaxe pro výměnu osobních informací od RSA Laboratories. Úložiště klíčů vycházející
ze souboru obvykle obsahující osobní klíč a jeho asociovaný digitální certifikát.
Osobní klíč
Osobní polovina z dvoudílného asymetrického kryptografického systému veřejného a osobního
klíče. Osobní klíč je nutné uchovat v tajnosti a nikdy jej nepřenášet sítí. Digitálně podepsané zprávy
jsou kódovány pomocí osobního klíče autorem podpisu.
Veřejný klíč
Veřejná polovina z dvoudílného asymetrického kryptografického systému veřejného a osobního
klíče. Veřejný klíč je volně dostupný a používá se k dekódování zpráv kódovaných pomocí
osobního klíče.
Poslední aktualizace 31.8.2016
194
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
Pojem
Popis
Infrastruktura veřejného klíče (Public
Key Infrastructure - PKI)
Systém důvěry, kde certifikační autority ověřují totožnost majitelů veřejných klíčů. Klienti sítě se
spoléhají na digitální certifikáty vydané důvěryhodnou CA pro ověření totožnosti autora podpisu
digitální zprávy (nebo souboru).
Časová známka
Digitálně podepsaný údaj obsahující datum a čas, kdy došlo k události. ADT může do balíku AIR
zahrnout časovou známku z časového serveru podléhajícího RFC 3161. Je-li časová známka k
dispozici, použije ji AIR pro stanovení platnosti certifikátu v době podpisu. To umožňuje instalaci
aplikace AIR po vypršení jejího certifikátu podpisu.
Autorita časové známky
Autorita, která vydává časové známky. Pro to, aby byla časová známka programem AIR
rozpoznána, musí se shodovat s normou RFC 3161 a podpis časové známky musí provést zřetězení
k důvěryhodnému kořenovému certifikátu v počítači instalace.
Certifikáty iOS
Podpisové certifikáty kódu vydané společností Apple slouží k podepisování aplikací iOS, včetně aplikací vyvinutých v
prostředí Adobe AIR. Použití podpisu pomocí vývojového certifikátu společnosti Apple je nutné k instalaci aplikace
do zkušebních zařízení. Použití podpisu pomocí distribučního certifikátu je vyžadováno pro distribuci dokončených
aplikací.
K podpisu aplikace vyžaduje program ADT přístup k oběma certifikátům podpisu kódu a k přidruženému
soukromému klíči. Soubor certifikátu sám neobsahuje soukromý klíč. Je třeba vytvořit úložiště klíčů ve formátu
souboru pro výměnu osobních informací (soubor s příponou P12 nebo PFX), který obsahuje certifikát i soukromý klíč.
Další informace naleznete v tématu „Převod certifikátu pro vývojáře do souboru úložiště klíčů P12“ na stránce 195.
Vytvoření podpisové žádosti certifikátu
Chcete-li získat certifikát pro vývojáře, vytvořte soubor podpisové žádosti certifikátu, který odešlete na web Apple iOS
Provisioning Portal.
Proces podpisové žádosti certifikátu generuje dvojici veřejného a soukromého klíče. Soukromý klíč zůstane v počítači.
Podpisovou žádost obsahující veřejný klíč a vaše identifikační údaje odešlete společnosti Apple, která zastává roli
certifikační autority. Společnost Apple podepíše certifikát vlastním certifikátem World Wide Developer Relations.
Vytvoření podpisové žádosti certifikátu v systému Mac OS
V systému Mac OS můžete k vytvoření podpisové žádostí kódu použít aplikaci Keychain Access. Aplikace Keychain
Access se nachází v podadresáři Utilities (Nástroje) adresáře Applications (Aplikace). Pokyny pro vytvoření podpisové
žádosti certifikátu jsou k dispozici na webu Apple iOS Provisioning Portal.
Vytvoření podpisové žádosti certifikátu v systému Windows
Pro vývojáře pro systém Windows může být jednodušší získat certifikát vývojáře pro zařízení iPhone v počítači
Macintosh. Získat certifikát je však možné i v počítači se systémem Windows. Nejdříve je třeba pomocí softwaru
OpenSSL vytvořit podpisovou žádost certifikátu (soubor CSR):
1 Instalace softwaru OpenSSL v počítači se systémem Windows: (Přejděte na adresu
http://www.openssl.org/related/binaries.html.)
Je možné, že bude také třeba nainstalovat redistribuční soubory programu Visual C++ 2008 uvedené na stránce
stažení softwaru Open SSL. (Nepotřebujete instalovat program Visual C++ do počítače.)
2 Otevřete příkazovou relaci systému Windows a pomocí příkazového řádku přejděte do složky bin softwaru
OpenSSL (jako je například složka c:\OpenSSL\bin\).
3 Vytvořte soukromý klíč. Zadejte na příkazový řádek následující příkaz:
Poslední aktualizace 31.8.2016
195
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
openssl genrsa -out mykey.key 2048
Uložte soubor s tímto soukromým klíčem. Použijete jej později.
Při používání softwaru OpenSSL neignorujte chybové zprávy. I když software OpenSSL vygeneruje chybovou
zprávu, může stále poskytovat soubory. Tyto soubory však nemusejí být použitelné. Pokud zjistíte chyby,
zkontrolujte syntaxi a spusťte příkaz znovu.
4 Vytvořte soubor CSR. Zadejte na příkazový řádek následující příkaz:
openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest
"/[email protected], CN=John Doe, C=US"
-subj
Nahraďte hodnoty e-mailové adresy, CN (název certifikátu) a C (země) vlastními informacemi.
5 Odešlete soubor CSR společnosti Apple na web pro vývojáře pro zařízení iPhone. (Viz část „Použití certifikátu
vývojáře pro zařízení iPhone a vytvoření prováděcího profilu“.)
Převod certifikátu pro vývojáře do souboru úložiště klíčů P12
Chcete-li vytvořit úložiště klíčů P12, je nutné zkombinovat certifikát pro vývojáře společnosti Apple a přidružený
soukromý klíč do jednoho souboru. Proces vytváření souboru úložiště klíčů závisí na metodě použité ke generování
původní podpisové žádosti certifikátu a umístění úložiště soukromého klíče certifikátu.
Převod certifikátu vývojáře pro zařízení iPhone na soubor P12 v systému Mac OS
Po stažení certifikátu zařízení Apple iPhone od společnosti Apple certifikát jej exportujte do formátu úložiště klíčů
P12. Postup v systému Mac® OS:
1 Otevřete aplikaci Keychain Access (ve složce Applications/Utilities (Aplikace/Nástroje)).
2 Pokud jste do aplikace Keychain dosud nepřidali certifikát, zvolte položku File (Soubor) > Import. Poté přejděte k
souboru certifikátu (soubor .cer) získaného od společnosti Apple.
3 V aplikaci Keychain Access vyberte kategorii Keys (Klíče).
4 Vyberte soukromý klíč přiřazený vašemu vývojovému certifikátu pro zařízení iPhone.
Soukromý klíč je označen na základě veřejného certifikátu iPhone Developer: <Jméno> <Příjmení>, s nímž je
spárován.
5 Klikněte na certifikát pro vývojáře iPhone a vyberte možnost Exportovat „iPhone Developer: název...“.
6 Úložiště klíčů uložte do formátu souborů pro výměnu osobních informací (.p12).
7 Zobrazí se výzva k vytvoření hesla, které se používá při použití úložiště klíčů k podpisu aplikace nebo k převodu
klíče a certifikátu v tomto úložišti klíčů do jiného úložiště klíčů.
Převod certifikátu vývojáře od společnosti Apple do souboru P12 v systému Windows
Chcete-li vyvíjet aplikace AIR pro aplikace iOS, je nutné použít soubor certifikátu P12. Tento certifikát vytvoříte na
základě souboru certifikátu vývojáře pro zařízení Apple iPhone získaného od společnosti Apple.
1 Převeďte soubor certifikátu vývojáře od společnosti Apple na soubor certifikátu PEM. Spusťte ze složky bin
softwaru OpenSSL následující příkaz příkazového řádku:
openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM
2 Pokud používáte soukromý klíč z řetězce klíčů v počítači Macintosh, převeďte tento klíč na klíč PEM:
openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem
3 Na základě tohoto klíče a verze PEM certifikátu vývojáře pro zařízení iPhone můžete nyní vygenerovat platný
soubor P12:
Poslední aktualizace 31.8.2016
196
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12
Pokud používáte klíč z řetězce klíčů systémů MacOS, použijte verzi PEM, kterou jste vygenerovali v předchozím
kroku. V opačném případě použijte dříve vygenerovaný klíč OpenSSL (v systému Windows).
Vytvoření nepodepsaného přechodného souboru AIR
pomocí programu ADT
K vytvoření nepodepsaného přechodného souboru AIR použijte příkaz -prepare. Přechodný soubor AIR musí být
podepsán použitím příkazu programu ADT -sign pro vytvoření platného instalačního souboru AIR.
Příkaz -prepare přebírá stejné příznaky a parametry jako příkaz -package (s výjimkou možností podpisu). Jediným
rozdílem je to, že výstupní soubor není podepsaný. Přechodný soubor je vygenerován s příponou názvu souboru: airi.
Pro podpis přechodného souboru AIR použijte příkaz programu ADT -sign. (Viz „Příkaz prepare nástroje ADT“ na
stránce 170.)
Ukázka příkazu ADT -prepare
adt -prepare unsignedMyApp.airi myApp.xml myApp.swf components.swc
Podpis přechodného souboru AIR pomocí programu
ADT
Pro podpis přechodného souboru AIR pomocí programu ADT použijte příkaz -sign. Příkaz podpisu je funkční pouze
u přechodných souborů AIR (přípona airi). Soubor AIR nelze podepsat podruhé.
Pro podpis přechodného souboru AIR použijte příkaz programu ADT -prepare. (Viz „Příkaz prepare nástroje ADT“
na stránce 170.)
Podpis souboru AIRI
❖ Použijte příkaz ADT -sign s následující syntaxí:
adt -sign SIGNING_OPTIONS airi_file air_file
SIGNING_OPTIONS Možnosti podpisu určují osobní klíč a certifikát použitý k podepsání souboru AIR. Tyto
možnosti podpisu jsou popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 177.
airi_file Cesta k nepodepsanému přechodnému souboru AIR, který musí být podepsán.
air_file Název souboru AIR, který má být vytvořen.
Ukázka příkazu ADT -sign
adt -sign -storetype pkcs12 -keystore cert.p12 unsignedMyApp.airi myApp.air
Další informace naleznete v tématu „Příkaz sign nástroje ADT“ na stránce 170.
Poslední aktualizace 31.8.2016
197
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
Podepisování aktualizované verze aplikace AIR
Pokaždé, když vytvoříte aktualizovanou verzi existující aplikace AIR, podepíšete aktualizovanou aplikaci. V nejlepším
případě můžete k podpisu aktualizované verze použít stejný certifikát, který jste použili k podpisu předchozí verze. Pak
je podepisování naprosto stejné, jako když aplikaci podepisujete poprvé.
Pokud certifikátu použitému k podpisu předchozí verze aplikace vypršela platnost a byl obnoven nebo nahrazen,
můžete k podpisu aktualizované verze použít obnovený nebo nový (náhradní) certifikát. Provedete to tak, že aplikaci
podepíšete novým certifikátem a podpis přesunu použijete pomocí původního certifikátu. Podpis migrace ověří, že
původní vlastník certifikátu publikoval aktualizaci.
Před použitím podpisu migrace zvažte následující body:
• Aby bylo možné použít podpis migrace, musí být původní certifikát dosud platný, nebo jeho platnost musela
vypršet během posledních 365 dnů. Toto období je označováno jako období odkladu a jeho doba trvání se v
budoucnu může změnit.
Poznámka: Období odkladu bylo do vydání verze aplikace AIR 2.6 180 dní.
• Podpis migrace nelze použít po vypršení platnosti certifikátu a uplynutí lhůty 365 dnů. V takovém případě musí
uživatelé před instalací aktualizované verze odinstalovat stávající verzi.
• Období odkladu trvající 365 dní se vztahuje pouze na aplikace, které ve jmenném prostoru deskriptoru aplikace
uvádějí verzi prostředí AIR 1.5.3 nebo vyšší.
Důležité: Podepisování aktualizací pomocí podpisů migrace z certifikátů s prošlou platností je dočasné řešení. Pro
komplexní řešení vytvořte standardizovaný pracovní postup podepisování pro nasazení aktualizací aplikací. Jednotlivé
aktualizace můžete například podepsat nejnovějším certifikátem a certifikát přesunu použít pomocí certifikátu použitého
k podpisu předchozí aktualizace (pokud je to možné). Jednotlivé aktualizace odesílejte na jejich vlastní adresy URL,
z nichž si uživatelé mohou stáhnout aplikaci. Další informace naleznete v části „Pracovní postup podepisování pro
aktualizace aplikací“ na stránce 257.
Následující tabulka a obrázek shrnují pracovní postup pro podpisy přesunu:
Scénář
Stav původního
certifikátu
Akce vývojáře
Akce uživatele
Aplikace založená
na běhovém
modulu Adobe
AIR verze 1.5.3
nebo vyšší
Platné
Publikování nejnovější verze aplikace AIR
Není požadována žádná akce
Aplikace bude automaticky
upgradována.
Prošlý, ale v mezích
období odkladu
trvajícího 365 dní
Podepište aplikaci novým certifikátem. Podpis
přesunu použijte pomocí prošlého certifikátu.
Není požadována žádná akce
Platnost vypršela a není
v období odkladu
Podpis migrace nelze použít pro aktualizaci
aplikace AIR.
Odinstalujte aktuální verzi aplikace
AIR a nainstalujte nejnovější verzi
Místo toho je třeba publikovat jinou verzi
aplikace AIR pomocí nového certifikátu. Po
odinstalování stávající verze aplikace AIR
mohou uživatelé instalovat novou verzi.
Poslední aktualizace 31.8.2016
Aplikace bude automaticky
upgradována.
198
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
Scénář
Stav původního
certifikátu
Akce vývojáře
Akce uživatele
•
Platné
Publikování nejnovější verze aplikace AIR
Není požadována žádná akce
Aplikace
založená na
běhovém
modulu Adobe
AIR verze 1.5.2
nebo nižší
•
ID vydavatele
v deskriptoru
aplikace
v aktualizaci se
shoduje s ID
vydavatele
předchozí verze
•
Aplikace
založená na
běhovém
modulu Adobe
AIR verze 1.5.2
nebo nižší
•
ID vydavatele
v deskriptoru
aplikace
v aktualizaci se
neshoduje s ID
vydavatele
předchozí verze
Aplikace bude automaticky
upgradována.
Platnost vypršela a není
v období odkladu
Podpis migrace nelze použít pro aktualizaci
aplikace AIR.
Místo toho je třeba publikovat jinou verzi
aplikace AIR pomocí nového certifikátu. Po
odinstalování stávající verze aplikace AIR
mohou uživatelé instalovat novou verzi.
Jakýkoli
Podepište aplikaci AIR pomocí platného
Odinstalujte aktuální verzi aplikace
certifikátu a publikujte nejnovější verzi aplikace AIR a nainstalujte nejnovější verzi
AIR
1.0
C1
AIR verze nižší než 1.5.3
Shoda
s originální
ID PUB?
AIR verze 1.5.3 a vyšší
Čistá instalace
Platnost
certifikátu
vypršela?
Ne
1.0
Ne
C1
Odebrat
Ano
Ano
2.0
Platnost
certifikátu
vypršela?
Ne
Odinstalujte aktuální verzi aplikace
AIR a nainstalujte nejnovější verzi
Ano
C2
Instalovat
Doba vypršení
platnost < 180 dnů?
Ne
Uživatel musí
před instalací
aktualizované
verze odinstalovat starší verzi.
Ano
Publikovat aktualizaci
Vytvořte aktualizovanou verzi vaší aplikace.
Podepište aplikaci novým certifikátem C2.
Použijte podpis migrace na aplikaci s původním
certifikátem C1 pomocí příkazu adt -migrate.
Legenda:
1.0
C1
2.0
C2
Původní aplikace
Původní certifikát
Nová aplikace
Nový certifikát
Pracovní postup podepisování pro aktualizace
Poslední aktualizace 31.8.2016
199
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
Přesun aplikace AIR za účelem použití nového certifikátu
Chcete-li přesunout aplikaci AIR k novému certifikátu a současně ji aktualizovat, postupujte takto:
1 Vytvořte aktualizaci své aplikace
2 Zabalte a podepište aktualizovaný soubor AIR pomocí certifikátu nový
3 Znovu podepište soubor AIR certifikátem původní pomocí příkazu -migrate
Soubor AIR podepsaný pomocí příkazu -migrate lze použít nejen k aktualizaci libovolné předchozí verze aplikace
podepsané starým certifikátem, ale i k instalaci nové verze.
Poznámka: Při aktualizaci aplikace publikované pro prostředí AIR verze starší než 1.5.3 zadejte do deskriptoru aplikace
původní ID vydavatele. V opačném případě musí uživatelé vaší aplikace před instalací aktualizace odinstalovat starší
verzi.
Použijte příkaz ADT -migrate s následující syntaxí:
adt -migrate SIGNING_OPTIONS air_file_in air_file_out
• SIGNING_OPTIONS Možnosti podpisu určují osobní klíč a certifikát použitý k podepsání souboru AIR. Tyto
možnosti musí určovat původní certifikát podpisu a jsou popsány v tématu „Možnosti podpisu kódu nástroje
ADT“ na stránce 177.
• air_file_in Soubor AIR pro aktualizaci podepsaný novým certifikátem.
• air_file_out Soubor AIR, který má být vytvořen.
Poznámka: Názvy souborů používané pro vstupní a výstupní soubory aplikace AIR se musí lišit.
Následující příklad uvádí použití podpisu přesunu na aktualizovanou verzi aplikace AIR voláním nástroje ADT
s příznakem -migrate:
adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air
Poznámka: Příkaz -migrate byl přidán do nástroje ADT ve verzi prostředí AIR 1.1.
Přesun aplikace AIR nativního instalátoru za účelem použití nového
certifikátu
Aplikaci AIR, která je publikována jako nativní instalátor (např. aplikace, která využívá rozhraní API nativního
rozšíření), nelze podepsat pomocí příkazu -migrate nástroje ADT, protože je to nativní aplikace specifická pro
platformu, nikoli soubor s příponou AIR. Chcete-li přenést aplikaci AIR publikovanou jako nativní rozšíření
k novému certifikátu, postupujte takto:
1 Vytvořte pro svou aplikaci aktualizaci.
2 Přesvědčte se, že tag <supportedProfiles> v souboru deskriptoru vaší aplikace (app.xml) obsahuje profil desktop
i extendedDesktop (nebo tag <supportedProfiles> z deskriptoru aplikace odstraňte).
3 Zabalte a podepište aktualizaci aplikace jako soubor s příponou AIR pomocí příkazu -package nástroje ADT
s novým certifikátem.
4 Na soubor s příponou AIR použijte pomocí příkazu -migrate nástroje ADT podpis přesunu s původním
certifikátem (jak bylo popsáno dříve v části „Přesun aplikace AIR za účelem použití nového certifikátu“ na
stránce 199).
5 Soubor s příponou AIR zabalte do nativního instalátoru pomocí příkazu -package nástroje ADT s příznakem target native. Aplikace je již podepsaná, a proto v tomto kroku neurčíte podpisový certifikát.
Poslední aktualizace 31.8.2016
200
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
V následujícím příkladu jsou uvedeny kroky 3–5 tohoto postupu. Kód voláním nástroje ADT příkazem -package,
příkazem -migrate a znovu příkazem -package zabalí aktualizovanou verzi aplikace AIR jako nativní instalátor:
adt -package -storetype pkcs12 -keystore new_cert.p12 myAppUpdated.air myApp.xml myApp.swf
adt -migrate -storetype pkcs12 -keystore original_cert.p12 myAppUpdated.air myAppMigrate.air
adt -package -target native myApp.exe myAppMigrate.air
Přenos aplikace AIR využívající nativní rozšíření za účelem použití nového
certifikátu
Aplikaci AIR, která používá nativní rozšíření, nelze podepsat příkazem -migrate nástroje ADT. Nelze ji ani přenést
postupem pro přenos aplikace AIR nativního instalátoru, protože ji není možné publikovat jako přechodný soubor
s příponou AIR. Chcete-li přenést aplikaci AIR, která používá nativní rozšíření, k novému certifikátu, postupujte
takto:
1 Vytvořte pro svou aplikaci aktualizaci.
2 Nativní instalátor aktualizace zabalte a podepište pomocí příkazu -package nástroje ADT. Zabalte aplikaci
s novým certifikátem a vložte příznak -migrate určující původní certifikát.
Pomocí následující syntaxe volejte příkaz -package nástroje ADT s příznakem -migrate:
adt -package AIR_SIGNING_OPTIONS -migrate MIGRATION_SIGNING_OPTIONS -target package_type
NATIVE_SIGNING_OPTIONS output app_descriptor FILE_OPTIONS
• AIR_SIGNING_OPTIONS Možnosti podpisu určují privátní klíč a certifikát pro podpis souboru AIR. Tyto
možnosti určují nový podpisový certifikát a jsou popsány v části „Možnosti podpisu kódu nástroje ADT“ na
stránce 177.
• MIGRATION_SIGNING_OPTIONS Možnosti podpisu určují privátní klíč a certifikát pro podpis souboru AIR.
Tyto možnosti určují původní podpisový certifikát a jsou popsány v části „Možnosti podpisu kódu nástroje ADT“
na stránce 177.
• Ostatní možnosti jsou stejné jako možnosti použité při balení aplikace AIR nativního instalátoru a jsou popsány
v části „Příkaz package nástroje ADT“ na stránce 164.
Následující příklad demonstruje volání nástroje ADT příkazem -package s příznakem -migrate za účelem zabalení
aktualizované verze aplikace AIR, která používá nativní rozšíření, a použití podpisu přenosu na tuto aktualizaci:
adt -package -storetype pkcs12 -keystore new_cert.p12 -migrate -storetype pkcs12 -keystore
original_cert.p12 -target native myApp.exe myApp.xml myApp.swf
Poznámka: Příznak -migrate příkazu -package je k dispozici v nástroji ADT v prostředí AIR 3.6 a novějších.
Vytvoření certifikátu s vlastním podpisem pomocí
programu ADT
Certifikáty s vlastním podpisem můžete použít k vytvoření platného instalačního souboru AIR. Certifikáty s vlastním
podpisem ale nabízejí vašim uživatelům pouze omezené zabezpečení. Pravost certifikátů s vlastním podpisem nelze
ověřit. Při instalaci souboru AIR s vlastním podpisem je informace o vydavateli zobrazena uživateli jako Neznámé.
Certifikát vygenerovaný programem ADT je platný po dobu pěti let.
Poslední aktualizace 31.8.2016
201
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Podepisování aplikací AIR
Jestliže vytvoříte aktualizaci pro aplikaci AIR, která byla podepsána vámi vytvořeným certifikátem, musíte stejný
certifikát použít k podepsání původních i aktualizovaných souborů AIR. Certifikáty vytvořené programem ADT jsou
vždy jedinečné, i při použití stejných parametrů. Jestliže si proto přejete vámi podepsané aktualizace pomocí
certifikátu vygenerovaného programem ADT, zachovejte původní certifikát v bezpečném umístění. Dále nebude
možné aktualizovaný soubor AIR vytvořit po vypršení původního certifikátu vygenerovaného programem ADT.
(Nové aplikace můžete publikovat s odlišným certifikátem, ale nikoliv však nové verze stejné aplikace.)
Důležité: Z důvodů omezení certifikátů s vlastním podpisem společnost Adobe důrazně doporučuje používat pro
podepisování veřejně dostupných aplikací AIR komerční certifikáty vydané uznávaným certifikačním úřadem.
Certifikát a přiřazený osobní klíč vygenerovaný programem ADT jsou uloženy v souboru úložiště klíčů typu PKCS12.
Určené heslo je nastaveno na samotném klíči, nikoliv na úložišti.
Příklady vygenerování certifikátu
adt -certificate -cn SelfSign -ou QE -o "Example, Co" -c US 2048-RSA newcert.p12 39#wnetx3tl
adt -certificate -cn ADigitalID 1024-RSA SigningCert.p12 39#wnetx3tl
Pro použití těchto certifikátů k podepsání souborů AIR použijte následující možnosti podpisu s příkazy programu
ADT -package nebo -prepare:
-storetype pkcs12 -keystore newcert.p12 -storepass 39#wnetx3tl
-storetype pkcs12 -keystore SigningCert.p12 -storepass 39#wnetx3tl
Poznámka: Jazyk Java verze 1.5 a vyšší nepřijímá hesla obsahující znaky high-ASCII pro ochranu souborů certifikátů
PKCS12. V heslech používejte pouze běžné znaky ASCII.
Poslední aktualizace 31.8.2016
202
Kapitola 14: Soubory deskriptorů aplikací
AIR
Každá aplikace AIR vyžaduje soubor deskriptoru. Soubor deskriptoru aplikace je dokument XML, který definuje
základní vlastnosti aplikace.
Řada vývojových prostředí podporujících aplikace AIR automaticky vygeneruje při vytvoření projektu deskriptor
aplikace. V opačném případě je nutné vytvořit vlastní soubor deskriptoru. V adresáři samples sady AIR SDK i Flex
SDK je umístěn vzorový soubor deskriptoru descriptor-sample.xml.
Pro soubor deskriptoru aplikace lze použít libovolný název souboru. Po sbalení aplikace je soubor deskriptoru aplikace
přejmenován na application.xml a umístěn do zvláštního adresáře uvnitř balíku AIR.
Příklad deskriptoru aplikace
Následující dokument deskriptoru aplikace nastaví základní vlastnosti používané většinou aplikací AIR:
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/3.0">
<id>example.HelloWorld</id>
<versionNumber>1.0.1</versionNumber>
<filename>Hello World</filename>
<name>Example Co. AIR Hello World</name>
<description>
<text xml:lang="en">This is an example.</text>
<text xml:lang="fr">C'est un exemple.</text>
<text xml:lang="es">Esto es un ejemplo.</text>
</description>
<copyright>Copyright (c) 2010 Example Co.</copyright>
<initialWindow>
<title>Hello World</title>
<content>
HelloWorld.swf
</content>
</initialWindow>
<icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggerIcon.png</image128x128>
</icon>
</application>
Jestliže aplikace používá jako kořenový obsah soubor HTML místo souboru SWF, liší se pouze element <content>:
<content>
HelloWorld.html
</content>
Poslední aktualizace 31.8.2016
203
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Změny deskriptoru aplikace
Deskriptor aplikace AIR se změnil v následujících verzích prostředí AIR.
Změny deskriptoru ve verzi AIR 1.1
Byla povolena lokalizace elementů aplikace name a description pomocí elementu text.
Změny deskriptoru ve verzi AIR 1.5
Element contentType se stal povinným podřízeným prvkem elementu fileType.
Změny deskriptoru ve verzi AIR 1.5.3
Byl přidán element publisherID, který v aplikacích umožňuje zadat hodnotu ID vydavatele.
Změny deskriptoru ve verzi AIR 2.0
Přidáno:
•
aspectRatio
•
autoOrients
•
fullScreen
•
image29x29 (viz imageNxN)
•
image57x57
•
image72x72
•
image512x512
•
iPhone
•
renderMode
•
supportedProfiles
Změny deskriptoru ve verzi AIR 2.5
Odebráno: version
Přidáno:
•
android
•
extensionID
•
extensions
•
image36x36 (viz imageNxN)
•
manifestAdditions
•
versionLabel
•
versionNumber
Poslední aktualizace 31.8.2016
204
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Změny deskriptoru ve verzi AIR 2.6
Přidáno:
•
image114x114 (viz imageNxN)
•
requestedDisplayResolution
•
softKeyboardBehavior
Změny deskriptoru ve verzi AIR 3.0
Přidáno:
•
colorDepth
• direct jako platná hodnota elementu renderMode
• renderMode již není ignorován u platforem stolních počítačů
• Lze zadat element systému Android <uses-sdk>. (Předtím nebyl povolen.)
Změny deskriptoru prostředí AIR 3.1
Přidáno:
• „Entitlements“ na stránce 216
Změny deskriptoru ve verzi AIR 3.2
Přidáno:
•
depthAndStencil
•
supportedLanguages
Změny deskriptoru ve verzi AIR 3.3
Přidáno:
•
aspectRatio nyní obsahuje možnost ANY.
Změny deskriptoru prostředí AIR 3.4
Přidáno:
•
image50x50 (viz „imageNxN“ na stránce 223)
•
image58x58 (viz „imageNxN“ na stránce 223)
•
image100x100 (viz „imageNxN“ na stránce 223)
•
image1024x1024 (viz „imageNxN“ na stránce 223)
Poslední aktualizace 31.8.2016
205
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Změny deskriptoru prostředí AIR 3.6
Přidáno:
• Element „requestedDisplayResolution“ na stránce 233 v elementu „iPhone“ na stránce 227 nyní obsahuje atribut
excludeDevices a umožňuje určit cílová zařízení se systémem iOS, která budou používat vysoké nebo standardní
rozlišení
• Nový element „requestedDisplayResolution“ na stránce 233v elementu „initialWindow“ na stránce 225 určuje, zda
se má v počítačových platformách, jako je Mac s displejem s vysokým rozlišením, používat vysoké nebo standardní
rozlišení
Změny deskriptoru prostředí AIR 3.7
Přidáno:
•
Element „iPhone“ na stránce 227 nyní poskytuje element „externalSwfs“ na stránce 218, který umožňuje zadat
seznam souborů SWF učených k načtení za běhu.
• Element „iPhone“ na stránce 227 nyní poskytuje element „forceCPURenderModeForDevices“ na stránce 221,
který umožňuje vynucení režimu vykreslování pomocí CPU v určené množině zařízení.
Struktura souboru deskriptoru aplikace
Soubor deskriptoru aplikace představuje dokument XML s následující strukturou:
<application xmlns="http://ns.adobe.com/air/application/3.0">
<allowBrowserInvocation>...<allowBrowserInvocation>
<android>
<colorDepth>...</colorDepth>
<manifestAdditions
<manifest>...</manifest>
]]>
</manifestAdditions
</android>
<copyright>...</copyright>
customUpdateUI>...</
<description>
<text xml:lang="...">...</text>
</description>
<extensions>
<extensionID>...</extensionID>
</extensions>
<filename>...</filename>
<fileTypes>
<fileType>
<contentType>...</contentType>
<description>...</description>
<extension>...</extension>
<icon>
<imageNxN>...</imageNxN>
</icon>
<name>...</name>
</fileType>
</fileTypes>
Poslední aktualizace 31.8.2016
206
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
<icon>
<imageNxN>...</imageNxN>
</icon>
<id>...</id>
<initialWindow>
<aspectRatio>...</aspectRatio>
<autoOrients>...</autoOrients>
<content>...</content>
<depthAndStencil>...</depthAndStencil>
<fullScreen>...</fullScreen>
<height>...</height>
<maximizable>...</maximizable>
<maxSize>...</maxSize>
<minimizable>...</minimizable>
<minSize>...</minSize>
<renderMode>...</renderMode>
<requestedDisplayResolution>...</requestedDisplayResolution>
<resizable>...</resizable>
<softKeyboardBehavior>...</softKeyboardBehavior>
<systemChrome>...</systemChrome>
<title>...</title>
<transparent>...</transparent>
<visible>...</visible>
<width>...</width>
<x>...</x>
<y>...</y>
</initialWindow>
<installFolder>...</installFolder>
<iPhone>
<Entitlements>...</Entitlements>
<InfoAdditions>...</InfoAdditions>
<requestedDisplayResolution>...</requestedDisplayResolution>
<forceCPURenderModeForDevices>...</forceCPURenderModeForDevices>
<externalSwfs>...</externalSwfs>
</iPhone>
<name>
<text xml:lang="...">...</text>
</name>
<programMenuFolder>...</programMenuFolder>
<publisherID>...</publisherID>
<„supportedLanguages“ na stránce 235>...</„supportedLanguages“ na stránce 235>
<supportedProfiles>...</supportedProfiles>
<versionNumber>...</versionNumber>
<versionLabel>...</versionLabel>
</application>
Elementy deskriptoru aplikace AIR
Následující slovník elementů popisuje každý z povolených elementů v souboru deskriptoru aplikace AIR.
Poslední aktualizace 31.8.2016
207
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
allowBrowserInvocation
Prostředí Adobe AIR 1.0 a novější – volitelný
Umožňuje detekci a spuštění aplikace prostřednictvím rozhraní API prostředí AIR v prohlížeči.
Jestliže nastavíte tuto možnost na hodnotu true, určitě vezměte v úvahu dopady na zabezpečení. Ty jsou popsány v
tématech Vyvolání aplikace AIR z prohlížeče (pro vývojáře používající jazyk ActionScript) a Vyvolání aplikace AIR z
prohlížeče (pro vývojáře používající jazyk HTML).
Další informace viz „Spuštění nainstalované aplikace AIR z prohlížeče“ na stránce 253.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
true nebo false (výchozí)
Příklad
<allowBrowserInvocation>true </allowBrowserInvocation>
android
Prostředí Adobe AIR 2.5 a novější – volitelný
Umožňuje přidat elementy do souboru manifestu systému Android. Prostředí AIR vytvoří soubor
AndroidManifest.xml pro každý balíček APK. Element android v deskriptoru aplikace AIR umožňuje do něj přidat
další položky. Ignorováno na všech platformách s výjimkou systému Android.
Nadřízený element:„application“ na stránce 208
Podřízené elementy:
• „colorDepth“ na stránce 212
• „manifestAdditions“ na stránce 228
Obsah
Elementy definující vlastnosti specifické pro systém Android, které mají být přidány do manifestu aplikace pro systém
Android.
Příklad
<android>
<manifestAdditions>
...
</manifestAdditions>
</android>
Další témata Nápovědy
„Nastavení systému Android“ na stránce 73
Soubor AndroidManifest.xml
Poslední aktualizace 31.8.2016
208
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
application
Prostředí Adobe AIR 1.0 a novější – povinný
Kořenový element dokumentu deskriptoru aplikace AIR.
Nadřízený element: žádný
Podřízené elementy:
• „allowBrowserInvocation“ na stránce 207
• „android“ na stránce 207
• „copyright“ na stránce 214
• „customUpdateUI“ na stránce 214
• „description“ na stránce 215
• „extensions“ na stránce 217
• „filename“ na stránce 218
• „fileTypes“ na stránce 220
• „icon“ na stránce 222
• „id“ na stránce 223
• „initialWindow“ na stránce 225
• „installFolder“ na stránce 227
• „iPhone“ na stránce 227
• „name“ na stránce 231
• „programMenuFolder“ na stránce 232
• „publisherID“ na stránce 232
• „supportedLanguages“ na stránce 235
• „supportedProfiles“ na stránce 236
• „version“ na stránce 239
• „versionLabel“ na stránce 239
• „versionNumber“ na stránce 239
Atributy
minimumPatchLevel – Minimální úroveň dočasné opravy běhového modulu AIR požadovaná touto aplikací.
xmlns – Atribut jmenného prostoru XML určuje požadovanou verzi běhového modulu AIR pro aplikaci.
Jmenný prostor se změní s každou hlavní verzí AIR (ale nikoliv s malými záplatami). Poslední část oboru názvů,
například „3.0“, určuje verzi běhového modulu, kterou aplikace vyžaduje.
Hodnoty xmlns pro hlavní verze prostředí AIR:
Poslední aktualizace 31.8.2016
209
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
xmlns="http://ns.adobe.com/air/application/1.0"
xmlns="http://ns.adobe.com/air/application/1.1"
xmlns="http://ns.adobe.com/air/application/1.5"
xmlns="http://ns.adobe.com/air/application/1.5.2"
xmlns="http://ns.adobe.com/air/application/1.5.3"
xmlns="http://ns.adobe.com/air/application/2.0"
xmlns="http://ns.adobe.com/air/application/2.5"
xmlns="http://ns.adobe.com/air/application/2.6"
xmlns="http://ns.adobe.com/air/application/2.7"
xmlns="http://ns.adobe.com/air/application/3.0"
xmlns="http://ns.adobe.com/air/application/3.1"
xmlns="http://ns.adobe.com/air/application/3.2"
xmlns="http://ns.adobe.com/air/application/3,3"
xmlns="http://ns.adobe.com/air/application/3.4"
xmlns="http://ns.adobe.com/air/application/3.5"
xmlns="http://ns.adobe.com/air/application/3.6"
xmlns="http://ns.adobe.com/air/application/3.7"
U aplikací založených na formátu SWF nastavuje maximální verzi formátu SWF, kterou lze načíst jako počáteční
obsah aplikace, verze runtime aplikace AIR určená v deskriptoru aplikace. Aplikace, které mají nastaveny verze AIR
1.0 nebo AIR 1.1, mohou jako počáteční obsah využívat pouze formát SWF9 (Flash Player 9), a to dokonce i tehdy,
když jsou spuštěny pomocí běhového modulu aplikace AIR 2. Aplikace, které mají nastavenu verzi AIR 1.5 (nebo
novější), mohou jako počáteční obsah používat soubory ve formátu SWF9 nebo SWF10 (Flash Player 10).
Verze formátu SWF určuje, která verze rozhraní API aplikací AIR nebo Flash Player je dostupná. Pokud je jako
počáteční obsah aplikace AIR 1.5 použitý soubor ve formátu SWF9, bude mít tato aplikace přístup pouze k rozhraním
API verzí AIR 1.1 a Flash Player 9. Kromě toho nebudou změny provedené ve stávajících rozhraních API v aplikacích
AIR 2.0 a Flash Player 10.1 účinné. (Výjimkou z tohoto pravidla jsou důležité změny rozhraní API související se
zabezpečením; tyto změny lze ve stávajících nebo budoucích opravách runtime používat i se zpětnou platností.)
U aplikací založených na jazyku HTML určuje verzi aplikací AIR a Flash Player, které jsou pro aplikaci dostupné,
pouze verze běhového modulu určená v deskriptoru aplikace. Chování jazyků HTML a JavaScript a stylů CSS je vždy
určeno verzí knihovny Webkit, která je v nainstalovaném runtime aplikace AIR použita, a ne deskriptorem aplikace.
Když aplikace AIR načítá obsah ve formátu SWF, závisí verze rozhraní API aplikací AIR a Flash Player na způsobu
načítání obsahu. Někdy platnou verzi určuje jmenný prostor deskriptoru aplikace, někdy ji určuje verze načítaného
obsahu a někdy ji určuje verze načteného obsahu. Následující tabulka ukazuje způsob, jakým je verze rozhraní API
určena na základě metody načítání:
Způsob načítání obsahu
Způsob určení verze rozhraní API
Počáteční obsah, aplikace založená na formátu
SWF
Verze formátu SWF načítaného souboru
Počáteční obsah, aplikace založená na formátu
HTML
Obor názvů deskriptoru aplikace
Soubor SWF načítaný obsahem SWF
Verze načítajícího obsahu
Knihovna SWF načtená obsahem HTML pomocí
tagu <script>
Obor názvů deskriptoru aplikace
Soubor SWF načtený obsahem HTML pomocí
rozhraní API aplikací AIR nebo Flash Player
(například flash.display.Loader)
Jmenný prostor deskriptoru aplikace
Soubor SWF načtený obsahem HTML pomocí
tagů <object> nebo <embed> (nebo
ekvivalentních rozhraní API jazyka JavaScript)
Verze formátu SWF načítaného souboru
Poslední aktualizace 31.8.2016
210
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Při načítání souboru SWF, který má jinou verzi než načítající obsah, se mohou vyskytnout tyto dva problémy:
• Načtení novější verze SWF starší verzí SWF – Odkazy na rozhraní API přidané v novějších verzích prostředí AIR
a přehrávače Flash Player budou v načteném obsahu nevyřešené.
• Načtení starší verze SWF novější verzí SWF – Rozhraní API přidaná v novějších verzích prostředí AIR a přehrávače
Flash Player se mohou chovat způsobem, který není načteným obsahem očekáván.
Obsah
Element application obsahuje podřízené elementy, které definují vlastnosti aplikace AIR.
Příklad
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/3.0">
<id>HelloWorld</id>
<version>2.0</version>
<filename>Hello World</filename>
<name>Example Co. AIR Hello World</name>
<description>
<text xml:lang="en">This is an example.</text>
<text xml:lang="fr">C'est un exemple.</text>
<text xml:lang="es">Esto es un ejemplo.</text>
</description>
<copyright>Copyright (c) 2010 Example Co.</copyright>
<initialWindow>
<title>Hello World</title>
<content>
HelloWorld.swf
</content>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<visible>true</visible>
<minSize>320 240</minSize>
</initialWindow>
<installFolder>Example Co/Hello World</installFolder>
<programMenuFolder>Example Co</programMenuFolder>
<icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
Poslední aktualizace 31.8.2016
211
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggestIcon.png</image128x128>
</icon>
<customUpdateUI>true</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
<fileTypes>
<fileType>
<name>adobe.VideoFile</name>
<extension>avf</extension>
<description>Adobe Video File</description>
<contentType>application/vnd.adobe.video-file</contentType>
<icon>
<image16x16>icons/avfIcon_16.png</image16x16>
<image32x32>icons/avfIcon_32.png</image32x32>
<image48x48>icons/avfIcon_48.png</image48x48>
<image128x128>icons/avfIcon_128.png</image128x128>
</icon>
</fileType>
</fileTypes>
</application>
aspectRatio
Adobe AIR 2.0 a novější, systém iOS a Android – volitelný
Určuje poměr stran aplikace.
Pokud není zadán, bude mít aplikace při otevření „přirozený“ poměr stran a orientaci příslušného zařízení. Přirozená
orientace se v různých zařízeních liší. V zařízeních s malou obrazovkou, jako jsou telefony, je to obvykle orientace na
výšku. V některých zařízeních, například v tabletu iPad, se aplikace otevře v aktuální orientaci. V prostředí AIR 3.3 a
vyšším se tento postup vztahuje k celé aplikaci, nejen k počátečnímu zobrazení.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
na výšku, na ší ku nebo jakýkoli
Příklad
<aspectRatio> landscape</aspectRatio>
autoOrients
Adobe AIR 2.0 a novější, systém iOS a Android – volitelný
Určuje, zda se orientace obsahu v aplikaci automaticky mění podle změny fyzické orientace zařízení. Další informace
naleznete v tématu Orientace plochy.
Při použití automatické orientace zvažte nastavení vlastností align a scaleMode objektu Stage na následující
hodnoty:
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
Poslední aktualizace 31.8.2016
212
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Toto nastavení umožní aplikaci otáčení kolem levého horního rohu a zabrání automatickým změnám velikosti obsahu
aplikace. Při jiných režimech změn velikosti jsou sice prováděny úpravy obsahu s cílem přizpůsobení rozměrům
otočené plochy, dochází však také k oříznutí, deformaci nebo nadměrnému zmenšení obsahu. Lepších výsledků lze
téměř vždy dosáhnout překreslením nebo samostatným přenesením obsahu.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
true nebo false (výchozí)
Příklad
<autoOrients>true </autoOrients>
colorDepth
Prostředí Adobe AIR 3 a novější – volitelné
Určuje, zda se mají používat 16bitové nebo 32bitové barvy.
Používání 16bitových barev může zvýšit rychlost vykreslování, avšak na úkor věrnosti barev. Před verzí AIR 3 se v
systému Android vždy používaly 16bitové barvy. Ve verzi AIR 3 se standardně používají 32bitové barvy.
Poznámka: Pokud vaše aplikace používá třídu StageVideo, je třeba používat 32bitové barvy.
Nadřízený element:„android“ na stránce 207
Podřízené elementy: žádné
Obsah
Jedna z následujících hodnot:
• 16 bitů
• 32 bitů
Příklad
<android>
<colorDepth>16bit</colorDepth>
<manifestAdditions>...</manifestAdditions>
</android>
containsVideo
Udává, zda aplikace bude obsahovat nějaký video obsah či nikoli.
Nadřízený element:„android“ na stránce 207
Podřízené elementy: žádné
Obsah
Jedna z následujících hodnot:
• true
Poslední aktualizace 31.8.2016
213
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
• false
Příklad
<android>
<containsVideo>true</containsVideo>
<manifestAdditions>...</manifestAdditions>
</android>
content
Prostředí Adobe AIR 1.0 a novější – povinný
Hodnota určená pro elementcontent představuje adresu URL pro hlavní obsahový soubor aplikace. Může se jednat
buď o soubor SWF nebo soubor HTML. URL je určena relativně ke kořeni instalační složky aplikace. (Při spuštění
aplikace AIR s programem ADL je URL relativní ke složce obsahující soubor deskriptoru aplikace. Parametr rootdir programu ADL můžete použít pro určení odlišného kořenového adresáře.)
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Adresa URL relativní k adresáři aplikace. Vzhledem k tomu, že hodnota elementu obsahu je zpracovávána jako URL,
musí být znaky v názvu obsahového souboru kódovány dle URL podle pravidel definovaných v RFC 1738. Znaky
mezer musí být například kódovány jako %20.
Příklad
<content>TravelPlanner.swf </content>
contentType
Prostředí Adobe AIR 1.0 až 1.1 – volitelný; prostředí AIR 1.5 a novější – povinný
Element contentType je vyžadován od verze AIR 1.5 (ve verzích AIR 1.0 a 1.1 byl volitelný). Tato vlastnost pomáhá
některým operačním systémům vyhledat nejvhodnější aplikaci k otevření souboru. Tato hodnota by měla označovat
typ MIME obsahu souboru. Upozorňujeme, že pokud je v systému Linux tento typ souboru již zaregistrován a má
přiřazený typ MIME, je tato hodnota ignorována.
Nadřízený element:„fileType“ na stránce 219
Podřízené elementy: žádné
Obsah
Typ a podtyp MIME. Další informace o typech MIME naleznete v dokumentu RFC2045.
Příklad
<contentType> text/plain</contentType>
Poslední aktualizace 31.8.2016
214
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
copyright
Prostředí Adobe AIR 1.0 a novější – volitelný
Informace o autorských právech pro aplikaci AIR. V OS Mac se text autorských práv pro nainstalovanou aplikaci
zobrazí v dialogovém okně Adobe. V OS Mac je informace o autorských právech také použita v poli
NSHumanReadableCopyright v souboru Info.plist aplikace.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
Řetězec obsahující informace o autorských právech aplikace.
Příklad
<copyright>© 2010, Examples, Inc.All rights reserved. </copyright>
customUpdateUI
Prostředí Adobe AIR 1.0 a novější – volitelný
Označuje, zda bude aplikace poskytovat vlastní aktualizační dialogová okna. Je-li nastavena hodnota false, prostředí
AIR uživateli nabídne standardní aktualizační dialogy. Integrovaný aktualizační systém prostředí AIR mohou
používat pouze aplikace distribuované jako soubory AIR.
Jestliže má nainstalovaná verze vaší aplikace element customUpdateUI nastavený na hodnotu true a uživatel poklepe
na soubor AIR pro novou verzi nebo nainstaluje aktualizaci aplikace pomocí funkce hladké instalace, otevře runtime
nainstalovanou verzi aplikace. Runtime neotevře výchozí instalační program aplikace AIR. Logika vaší aplikace může
poté určit, jak s operací aktualizace pokračovat. (ID aplikace a ID vydavatele v souboru AIR musí odpovídat hodnotám
v nainstalované aplikaci, aby mohla aktualizace pokračovat.)
Poznámka: Mechanismus customUpdateUI je k dispozici pouze tehdy, když je aplikace již nainstalována a uživatel
poklepe na instalační soubor AIR obsahující aktualizace nebo nainstaluje aktualizaci aplikace pomocí funkce hladké
instalace. Aktualizaci můžete stáhnout a spustit pomocí logiky své vlastní aplikace, která dle potřeby zobrazí vaše
uživatelské UI, ať je customUpdateUI nastaveno na hodnotu true nebo nikoliv.
Další informace naleznete v části „Aktualizace aplikací AIR“ na stránce 255.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
true nebo false (výchozí)
Příklad
<customUpdateUI> true</customUpdateUI>
Poslední aktualizace 31.8.2016
215
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
depthAndStencil
Prostředí Adobe AIR 3.2 a novější – volitelný
Označuje, že aplikace vyžaduje použití vyrovnávací paměti pro hloubku nebo pro šablonu. Tyto vyrovnávací paměti
se běžně používají při práci s 3D obsahem. Hodnota tohoto elementu je ve výchozím nastavení false, takže je
vyrovnávací paměť pro hloubku a šablonu zakázána. Tento element je nezbytný, protože vyrovnávací paměti musí být
přiděleny při spuštění aplikace před načtením jakéhokoli obsahu.
Nastavení tohoto elementu musí odpovídat hodnotě předané pro argument enableDepthAndStencil metodě
Context3D.configureBackBuffer(). Pokud hodnota neodpovídá, aplikace AIR zobrazí chybu.
Tento element je použitelný, pouze pokud má atribut renderMode hodnotu direct. Pokud se atribut nerovná
hodnotě direct, aplikace ADT vyvolá chybu 118:
<depthAndStencil> element unexpected for render mode cpu.
It requires "direct" render mode.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
true nebo false (výchozí)
Příklad
<depthAndStencil> true</depthAndStencil>
description
Prostředí Adobe AIR 1.0 a novější – volitelný
Popis aplikace zobrazený v instalátoru aplikace AIR.
Jestliže určíte jediný textový uzel (nikoliv více elementů text), použije instalátor aplikace AIR tento popis, a to bez
ohledu na jazyk systému. V opačném případě použije instalátor aplikace AIR popis, který nejvíce odpovídá jazyku
uživatelskému rozhraní operačního systému uživatele. Představme si například instalaci, kde element description
souboru deskriptoru aplikace zahrnuje hodnotu pro místní nastavení „en“ (angličtina). Instalátor aplikace AIR použije
popis „en“, jestliže operační systém identifikuje „en“ (angličtina) jako jazyk uživatelského rozhraní. Popis „en“ použije
také v případě, že jazyk uživatelského systému jazyka je en-US (americká angličtina). Pokud je však jazyk uživatelského
rozhraní systému en-US a soubor deskriptoru aplikace definuje název en-US i en-GB, instalátor aplikace AIR použije
hodnotu en-US. Jestliže aplikace nedefinuje žádný popis, který by odpovídal jazyku uživatelského rozhraní systému,
použije instalátor aplikace AIR první hodnotu description definovanou v souboru deskriptoru aplikace.
Další informace týkající se vyvíjení vícejazyčných aplikací naleznete v tématu „Lokalizace aplikací AIR“ na
stránce 290.
Nadřízený element:„application“ na stránce 208
Podřízené elementy:„text“ na stránce 237
Obsah
Schéma deskriptoru aplikace AIR 1.0 umožňuje pouze jeden jednoduchý textový uzel, který bude pro název definován
(nikoliv více elementů text).
Poslední aktualizace 31.8.2016
216
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
V aplikaci AIR 1.1 (nebo novějších) můžete v elementu description určit více jazyků. Atribut xml:lang pro každý
textový element určuje jazykový kód, dle definice v RFC4646 (http://www.ietf.org/rfc/rfc4646.txt).
Příklad
Popis s jednoduchým textovým uzlem:
<description>This is a sample AIR application.</description>
Popis s lokalizovanými elementy text pro angličtinu, francouzštinu a španělštinu (platné ve verzi AIR 1.1 a novějších):
<description>
<text xml:lang="en">This is an example.</text>
<text xml:lang="fr">C'est un exemple.</text>
<text xml:lang="es">Esto es un ejemplo.</text>
</description>
description
Prostředí Adobe AIR 1.0 a novější – povinný
Popis typu souboru, který uživateli zobrazí operační systém. Popis typu souboru není lokalizovatelný.
Viz také: „description“ na stránce 215 jako podřízený element elementu application
Nadřízený element:„fileType“ na stránce 219
Podřízené elementy: žádné
Obsah
Řetězec popisující obsah souboru.
Příklad
<description> PNG image</description>
Entitlements
Adobe AIR 3.1 a novější – pouze systém iOS, volitelný
Systém iOS používá vlastnosti zvané entitlements (oprávnění), aby zajistil přístup aplikací k dalším prostředkům a
funkcím. Element Entitlements slouží k určení těchto informací v mobilní aplikaci systému iOS.
Nadřazený element:„iPhone“ na stránce 227
Podřízené elementy: elementy Entitlements.plist systému iOS
Obsah
Obsahuje podřízené elementy určující dvojice klíč-hodnota, které budou použity jako nastavení Entitlements.plist pro
aplikaci. Obsah elementu Entitlements musí být uzavřen v bloku CDATA. Další informace naleznete v příručce
Reference klíčů oprávnění v knihovně pro vývojáře systému iOS.
Poslední aktualizace 31.8.2016
217
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Příklad
<iphone>
...
<Entitlements>
<![CDATA[
<key>aps-environment</key>
<string>development</string>
]]>
</Entitlements>
</iphone>
extension
Prostředí Adobe AIR 1.0 a novější – povinný
Řetězec přípony u typu souboru.
Nadřízený element:„fileType“ na stránce 219
Podřízené elementy: žádné
Obsah
Řetězec identifikující znaky přípony souboru (bez tečky, „.“).
Příklad
<extension> png</extension>
extensionID
Adobe AIR 2.5 a novější
Určuje ID rozšíření jazyka ActionScript, jež aplikace používá. ID je definováno v dokumentu deskriptoru rozšíření.
Nadřízený element:„extensions“ na stránce 217
Podřízené elementy: žádné
Obsah
Řetězec určující ID rozšíření jazyka ActionScript.
Příklad
<extensionID> com.example.extendedFeature</extensionID>
extensions
Adobe AIR 2.5 a novější – volitelné
Určuje rozšíření jazyka ActionScript, jež aplikace používá.
Nadřízený element:„application“ na stránce 208
Podřízené elementy:„extensionID“ na stránce 217
Poslední aktualizace 31.8.2016
218
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Obsah
Podřízené elementy extensionID obsahující identifikátory rozšíření jazyka ActionScript ze souboru deskriptoru
rozšíření.
Příklad
<extensions>
<extensionID>extension.first</extensionID>
<extensionID>extension.next</extensionID>
<extensionID>extension.last</extensionID>
</extensions>
externalSwfs
Prostředí Adobe AIR 3.7 a novější, pouze systém iOS – volitelný
Určuje název textového souboru se seznamem souborů SWF, které má nástroj ADT konfigurovat pro vzdálené
hostování. Počáteční velikost stahované aplikace je možné minimalizovat zabalením podmnožiny souborů SWF, které
tato aplikace používá, a načtením zbývajících externích souborů SWF (obsahujících pouze datové zdroje) za běhu
pomocí metody Loader.load(). Abyste mohli tuto funkci použít, musíte aplikaci zabalit tak, aby nástroj ADT
přesunul všechen kód ABC (ActionScript ByteCode) z externě načtených souborů SWF do hlavního souboru SWF
aplikace a ponechal soubor SWF, který obsahuje pouze datové zdroje. Účelem tohoto postupu je vyhovět pravidlu
obchodu Apple Store, které zakazuje stahování jakéhokoli kódu po instalaci aplikace.
Další informace naleznete v části „Minimalizace velikosti stahovaného obsahu načítáním externích souborů SWF
obsahujících pouze datové zdroje“ na stránce 83.
Nadřazený element:„iPhone“ na stránce 227, „initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Název textového souboru obsahujícího seznam souborů SWF oddělených řádky, které mají být vzdáleně hostovány.
Atributy:
Žádné
Příklady
iOS:
<iPhone>
<externalSwfs>FileContainingListofSWFs.txt</externalSwfs>
</iPhone>
filename
Prostředí Adobe AIR 1.0 a novější – povinný
Řetězec, který bude použit jako název souboru aplikace (bez přípony) při její instalaci. Soubor aplikace spustí aplikaci
AIR v běhovém modulu. Jestliže není zadána žádná hodnota name, hodnota filename se použije také jako název
složky instalace.
Nadřízený element:„application“ na stránce 208
Poslední aktualizace 31.8.2016
219
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Podřízené elementy: žádné
Obsah
Vlastnost filename může obsahovat jakýkoliv znak Unicode (UTF-8), s výjimkou následujících, které nemohou být
v různých systémech použity jako názvy souborů:
Znak
Hexadecimální kód
různé
0x00 – x1F
*
x2A
“
x22
:
x3A
>
x3C
<
x3E
?
x3F
\
x5C
|
x7C
Hodnota filename nemůže skončit v období.
Příklad
<filename> MyApplication</filename>
fileType
Prostředí Adobe AIR 1.0 a novější – volitelný
Popisuje jediný typ souboru, pro který lze aplikaci zaregistrovat.
Nadřízený element:„fileTypes“ na stránce 220
Podřízené elementy:
• „contentType“ na stránce 213
• „description“ na stránce 216
• „extension“ na stránce 217
• „icon“ na stránce 222
• „name“ na stránce 232
Obsah
Elementy popisující typ souboru.
Poslední aktualizace 31.8.2016
220
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Příklad
<fileType>
<name>foo.example</name>
<extension>foo</extension>
<description>Example file type</description>
<contentType>text/plain</contentType>
<icon>
<image16x16>icons/fooIcon16.png</image16x16>
<image48x48>icons/fooIcon48.png</imge48x48>
<icon>
</fileType>
fileTypes
Prostředí Adobe AIR 1.0 a novější – volitelný
Element fileTypes vám umožňuje deklarovat typy souborů, se kterými lze aplikaci AIR asociovat.
Při nainstalování aplikace AIR je v operačním systému zaregistrován jakýkoliv deklarovaný typ souboru. Jestliže tyto
typy souborů ještě nejsou asociovány s jinou aplikací, jsou asociovány s aplikací AIR. Pro potlačení stávající asociace
mezi typem souboru a jinou aplikací použijte metodu NativeApplication.setAsDefaultApplication() v době
běhu (nejlépe se svolením uživatele).
Poznámka: Metody runtime mohou pouze spravovat asociace pro typy souborů deklarované v deskriptoru aplikace.
Element fileTypes je volitelný.
Nadřízený element:„application“ na stránce 208
Podřízené elementy:„fileType“ na stránce 219
Obsah
Element fileTypes může obsahovat libovolný počet elementů fileType.
Příklad
<fileTypes>
<fileType>
<name>adobe.VideoFile</name>
<extension>avf</extension>
<description>Adobe Video File</description>
<contentType>application/vnd.adobe.video-file</contentType>
<icon>
<image16x16>icons/AIRApp_16.png</image16x16>
<image32x32>icons/AIRApp_32.png</image32x32>
<image48x48>icons/AIRApp_48.png</image48x48>
<image128x128>icons/AIRApp_128.png</image128x128>
</icon>
</fileType>
</fileTypes>
Poslední aktualizace 31.8.2016
221
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
forceCPURenderModeForDevices
Prostředí Adobe AIR 3.7 a novější, pouze systém iOS – volitelný
V určené množině zařízení vynutí režim vykreslování pomocí CPU. Tato funkce fakticky umožňuje selektivní
povolování režimu vykreslování pomocí CPU u zbývajících zařízení se systémem iOS.
Tento tag přidáte jako podřízený prvek tagu iPhone a určíte seznam názvů modelů zařízení oddělených mezerami.
Mezi platné názvy modelů zařízení patří tyto položky:
iPad1,1
iPhone1,1
iPod1,1
iPad2,1
iPhone1,2
iPod2,1
iPad2,2
iPhone2,1
iPod3,3
iPad2,3
iPhone3.1
iPod4,1
iPad2,4
iPhone3,2
iPod5,1
iPad2,5
iPhone4,1
iPad3,1
iPhone5,1
iPad3,2
iPad3,3
iPad3,4
Nadřazený element:„iPhone“ na stránce 227, „initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Seznam názvů modelů zařízení oddělených mezerami
Atributy:
Žádné
Příklady
iOS:
...
<renderMode>GPU</renderMode>
...
<iPhone>
...
<forceCPURenderModeForDevices>iPad1,1 iPhone1,1 iPhone1,2 iPod1,1
</forceCPURenderModeForDevices>
</iPhone>
fullScreen
Adobe AIR 2.0 a novější, systém iOS a Android – volitelný
Určuje, zda se aplikace spustí v celoobrazovkovém režimu.
Poslední aktualizace 31.8.2016
222
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
true nebo false (výchozí)
Příklad
<fullscreen>true </fullscreen>
height
Prostředí Adobe AIR 1.0 a novější – volitelný
Počáteční výška hlavního okna aplikace.
Pokud výšku nenastavíte, je určena podle nastavení v kořenovém souboru SWF nebo (v případě aplikace AIR v jazyce
HTML) podle operačního systému.
Maximální výška okna se ve verzi AIR 2 změnila z 2 048 na 4 096 obrazových bodů.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Kladné celé číslo s maximální hodnotou 4 095.
Příklad
<height>4095 </height>
icon
Prostředí Adobe AIR 1.0 a novější – volitelný
Vlastnost icon určuje jeden nebo více souborů ikon, které budou pro aplikaci použity. Zahrnutí ikony je volitelné.
Jestliže neurčíte vlastnosticon, zobrazí operační systém výchozí ikonu.
Určená cesta je relativní ke kořenovému adresáři aplikace. Soubory ikon musí být ve formátu PNG. Můžete určit
všechny z následujících velikostí ikon:
Jestliže je přítomen element pro danou velikost, musí mít obraz v souboru přesnou velikost odpovídající zadané
velikosti. Jestliže nejsou poskytnuty všechny velikosti, změní se nejbližší velikost tak, aby odpovídala danému použití
ikony operačním systémem.
Poznámka: Určené ikony nejsou automaticky přidány do balíku AIR. Soubory ikon musí být při zabalení aplikace
obsaženy ve svých příslušných relativních umístěních.
Pro dosažení nejlepších výsledků poskytněte pro každou z dostupných velikostí obraz. Mimo to se ujistěte, že ikony
vypadají reprezentativně v 16- i 32-bitových barevných režimech.
Nadřízený element:„application“ na stránce 208
Podřízené elementy:„imageNxN“ na stránce 223
Poslední aktualizace 31.8.2016
223
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Obsah
Element imageNxN pro každou požadovanou velikost ikony.
Příklad
<icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggestIcon.png</image128x128>
</icon>
id
Prostředí Adobe AIR 1.0 a novější – povinný
Řetězec identifikátoru pro danou aplikaci, který je označován jako ID aplikace. Často se používá identifikátor v
obráceném stylu DNS, ale tento styl není vyžadován.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
Hodnota ID je omezena na následující znaky:
• 0–9
• a–z
• A–Z
• . (tečka)
• - (pomlčka)
Hodnota musí obsahovat 1 až 212 znaků. Tento element je vyžadován.
Příklad
<id>org.example.application</id>
imageNxN
Prostředí Adobe AIR 1.0 a novější – volitelný
Definuje cestu k ikoně relativně vzhledem k adresáři aplikace.
Lze použít následující obrazy ikon, přičemž každá určuje odlišnou velikost ikony:
• image16x16
• image29x29 (AIR 2+)
• image32x32
• image36x36 (AIR 2.5+)
• image48x48
• image50x50 (AIR 3.4+)
Poslední aktualizace 31.8.2016
224
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
• image57x57 (AIR 2+)
• image58x58 (AIR 3.4+)
• image72x72 (AIR 2+)
• image100x100 (AIR 3.4+)
• image114x114 (AIR 2.6+)
• image128x128
• image144x144 (AIR 3.4+)
• image512x512 (AIR 2+)
• image1024x1024 (AIR 3.4+)
Ikonu musí představovat grafika PNG, jejíž velikost přesně odpovídá velikosti indikované elementem image. Soubory
ikon musejí být součástí balíčku aplikace; ikony uvedené v dokumentu deskriptoru aplikace nebudou zahrnuty
automaticky.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
Cesta k souboru ikony může obsahovat jakýkoli znak Unicode (UTF-8) s výjimkou následujících, které nemohou být
v různých systémech použity jako názvy souborů:
Znak
Hexadecimální kód
různé
0x00 – x1F
*
x2A
“
x22
:
x3A
>
x3C
<
x3E
?
x3F
\
x5C
|
x7C
Příklad
<image32x32>icons/icon32.png</image32x32>
InfoAdditions
Prostředí Adobe AIR 1.0 a novější – volitelný
Umožňuje určení dalších vlastností aplikace systému iOS.
Nadřazený element:„iPhone“ na stránce 227
Podřízené elementy: elementy Info.plist systému iOS
Poslední aktualizace 31.8.2016
225
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Obsah
Obsahuje podřízené elementy určující páry klíčových hodnot, které se mají použít jako nastavení Info.plist pro danou
aplikaci. Obsah elementu InfoAdditions by měl být uzavřen v bloku CDATA.
Nahlédněte do příručky Information Property List Key Reference (Referenční informace ke klíčům seznamů
informačních vlastností) v knihovně Apple iPhone Reference Library, kde naleznete páry klíčových hodnot a způsob
jejich vyjádření v jazyce XML.
Příklad
<InfoAdditions>
<![CDATA[
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleBlackOpaque</string>
<key>UIRequiresPersistentWiFi</key>
<string>NO</string>
]]>
</InfoAdditions>
Další témata Nápovědy
„Nastavení systému iOS“ na stránce 79
initialWindow
Prostředí Adobe AIR 1.0 a novější – povinný
Definuje hlavní soubor obsahu a počáteční vzhled aplikace.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: Jako podřízené elementy elementu initialWindow se mohou objevit všechny následující
elementy. V závislosti na tom, zda prostředí AIR podporuje na platformě okna, jsou však některé elementy
ignorovány:
Element
Stolní počítač
Mobilní zařízení
„aspectRatio“ na stránce 211 ignorován
používán
„autoOrients“ na stránce 211 ignorován
používán
„content“ na stránce 213
používán
používán
„depthAndStencil“ na
stránce 215
používán
používán
„fullScreen“ na stránce 221
ignorován
používán
„height“ na stránce 222
používán
ignorován
„maximizable“ na
stránce 229
používán
ignorován
„maxSize“ na stránce 230
používán
ignorován
„minimizable“ na
stránce 230
používán
ignorován
„minSize“ na stránce 230
používán
ignorován
Poslední aktualizace 31.8.2016
226
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Element
Stolní počítač
Mobilní zařízení
„renderMode“ na
stránce 233
Používán (AIR 3.0 a vyšší)
používán
„requestedDisplayResolutio
n“ na stránce 233
Používá se (AIR 3.6 a vyšší)
ignorován
„resizable“ na stránce 235
používán
ignorován
„softKeyboardBehavior“ na
stránce 235
ignorován
používán
„systemChrome“ na
stránce 237
používán
ignorován
„title“ na stránce 238
používán
ignorován
„transparent“ na stránce 238 používán
ignorován
„visible“ na stránce 240
používán
ignorován
„width“ na stránce 240
používán
ignorován
„x“ na stránce 241
používán
ignorován
„y“ na stránce 241
používán
ignorován
Obsah
Podřízené elementy definující vzhled a chování aplikace.
Příklad
<initialWindow>
<title>Hello World</title>
<content>
HelloWorld.swf
</content>
<depthAndStencil>true</depthAndStencil>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<visible>true</visible>
<maxSize>1024 800</maxSize>
<minSize>320 240</minSize>
<maximizable>false</maximizable>
<minimizable>false</minimizable>
<resizable>true</resizable>
<x>20</x>
<y>20</y>
<height>600</height>
<width>800</width>
<aspectRatio>landscape</aspectRatio>
<autoOrients>true</autoOrients>
<fullScreen>false</fullScreen>
<renderMode>direct</renderMode>
</initialWindow>
Poslední aktualizace 31.8.2016
227
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
installFolder
Prostředí Adobe AIR 1.0 a novější – volitelný
Určuje podadresář výchozího instalačního adresáře.
V OS Windows je výchozím podadresářem instalace adresář Program Files. V OS Mac se jedná o adresář
/Applications. V systému Linux je to adresář /opt/. Jestliže je například vlastnost installFolder nastavena na "Acme"
a aplikace má název "ExampleApp", pak je v systému Windows aplikace nainstalována do umístění C:\Program
Files\Acme\ExampleApp, v systému Mac OS do umístění /Applications/Acme/Example.app a v systému Linux do
umístění /opt/Acme/ExampleApp.
Vlastnost installFolder je volitelná. Jestliže neurčíte žádnou vlastnost installFolder, je aplikace nainstalovaná
do podadresáře výchozího adresáře instalace, na základě vlastnosti name.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
Vlastnost installFolder může obsahovat libovolný znak Unicode (UTF-8) s výjimkou těch, které nesmějí být v
různých systémech použity jako názvy složek (seznam výjimek viz vlastnost filename).
Jestliže chcete určit vnořený podadresář, použijte jako oddělovač adresářů znak lomítka (/).
Příklad
<installFolder>utilities/toolA</installFolder>
iPhone
Adobe AIR 2.0, pouze systém iOS – volitelný
Definuje vlastnosti aplikace specifické pro systém iOS.
Nadřízený element:„application“ na stránce 208
Podřízené elementy:
• „Entitlements“ na stránce 216
• „externalSwfs“ na stránce 218
• „forceCPURenderModeForDevices“ na stránce 221
• „InfoAdditions“ na stránce 224
• „requestedDisplayResolution“ na stránce 233
Další témata Nápovědy
„Nastavení systému iOS“ na stránce 79
manifest
Prostředí Adobe AIR 2.5 a novější, pouze systém Android – volitelný
Určuje informace, které mají být pro danou aplikaci přidány do souboru manifestu systému Android.
Poslední aktualizace 31.8.2016
228
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Nadřízený element:„manifestAdditions“ na stránce 228
Podřízené elementy: Definované sadou Android SDK.
Obsah
Element manifest není technicky vzato součástí schématu deskriptoru aplikace AIR. Je to kořen dokumentu XML
manifestu systému Android. Jakýkoliv obsah, který umístíte do elementu manifest, musí odpovídat schématu
AndroidManifest.xml. Při generování souboru APK pomocí nástrojů prostředí AIR se informace v elementu manifest
zkopírují do odpovídající části vygenerovaného souboru AndroidManifest.xml dané aplikace.
Zadáte-li manifestované hodnoty systému Android, které jsou k dispozici pouze v novější verzi sady SDK, než jakou
přímo podporuje prostředí AIR, potom je nutné při sbalení aplikace nastavit příznak -platformsdk na hodnotu ADT.
Nastavte příznak cesty k systému souborů na takovou verzi sady Android SDK, která podporuje přidávané hodnoty.
Samotný element manifest musí být v deskriptoru aplikace AIR uzavřen do bloku CDATA.
Příklad
<![CDATA[
<manifest android:sharedUserID="1001">
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:required="false" android:name="android.hardware.camera"/>
<application android:allowClearUserData="true"
android:enabled="true"
android:persistent="true"/>
</manifest>
]]>
Další témata Nápovědy
„Nastavení systému Android“ na stránce 73
Soubor AndroidManifest.xml
manifestAdditions
Prostředí Adobe AIR 2.5 a novější, pouze systém Android
Určuje informace, které mají být přidány do souboru manifestu systému Android.
Každá aplikace pro systém Android obsahuje soubor manifestu, který definuje její základní vlastnosti. Koncept
manifestu systému Android se podobá deskriptoru aplikace AIR. Aplikace AIR pro systém Android obsahuje
deskriptor aplikace i automaticky generovaný soubor manifestu systému Android. Při balení aplikace AIR pro systém
Android se informace v tomto elementu manifestAdditions přidají do odpovídajících částí dokumentu manifestu
systému Android.
Nadřízený element:„android“ na stránce 207
Podřízené elementy:„manifest“ na stránce 227
Obsah
Informace v elementu manifestAdditions budou přidány do dokumentu XML AndroidManifest.
Prostředí AIR nastaví v generovaném dokumentu manifestu systému Android několik položek, které zajistí správné
fungování této aplikace a běhového modulu. Nemůžete přepsat následující nastavení:
Poslední aktualizace 31.8.2016
229
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Nemůžete nastavit následující atributy elementu manifest:
• package
• android:versionCode
• android:versionName
Nemůžete nastavit následující atributy hlavního elementu activity:
• android:label
• android:icon
Nemůžete nastavit následující atributy elementu application:
• android:theme
• android:name
• android:label
• android:windowSoftInputMode
• android:configChanges
• android:screenOrientation
• android:launchMode
Příklad
<manifestAdditions>
<![CDATA[
<manifest android:installLocation="preferExternal">
<uses-permission android:name="android.permission.INTERNET"/>
<application android:allowClearUserData="true"
android:enabled="true"
android:persistent="true"/>
</manifest>
]]>
</manifestAdditions>
Další témata Nápovědy
„Nastavení systému Android“ na stránce 73
Soubor AndroidManifest.xml
maximizable
Prostředí Adobe AIR 1.0 a novější – volitelný
Určuje, zda lze okno maximalizovat.
Poznámka: V operačním systému, například OS Mac X, kde je maximalizace oken operací změny velikosti, musí být
elementy maximalizace i změny velikosti nastaveny na hodnotu false, aby se zabránilo zvětšení nebo změně velikosti okna.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Poslední aktualizace 31.8.2016
230
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Obsah
true (výchozí) nebo false
Příklad
<maximizable>false </maximizable>
maxSize
Prostředí Adobe AIR 1.0 a novější – volitelný
Maximální velikost okna. Pokud nenastavíte maximální velikost, určí se podle operačního systému.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Dvě celá čísla představující maximální šířku a výšku, oddělená mezerou.
Poznámka: Maximální velikost okna podporovaná prostředím AIR se ve verzi AIR 2 zvýšila z 2048x2048 na 4096x4096
obrazových bodů. (Protože souřadnice obrazovky začínají hodnotou nula, maximální hodnota použitelná pro šířku nebo
výšku je 4095.)
Příklad
<maxSize>1024 360</maxSize>
minimizable
Prostředí Adobe AIR 1.0 a novější – volitelný
Určuje, zda lze okno minimalizovat.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
true (výchozí) nebo false
Příklad
<minimizable>false</minimizable>
minSize
Prostředí Adobe AIR 1.0 a novější – volitelný
Určuje minimální povolenou velikost okna.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Poslední aktualizace 31.8.2016
231
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Obsah
Dvě celá čísla představující minimální šířku a výšku, oddělená mezerou. Mějte na paměti, že před hodnotou
nastavenou v deskriptoru aplikace má přednost minimální velikost vynucovaná operačním systémem.
Příklad
<minSize>120 60</minSize>
name
Prostředí Adobe AIR 1.0 a novější – volitelný
Název aplikace zobrazovaný instalátorem aplikace AIR.
Jestliže není určen žádný element name, instalátor aplikace AIR jako název aplikace zobrazí element filename.
Nadřízený element:„application“ na stránce 208
Podřízené elementy:„text“ na stránce 237
Obsah
Jestliže určíte jediný textový uzel (namísto více elementů<text>), použije instalátor aplikace AIR tento název, a to bez
ohledu na jazyk systému.
Schéma deskriptoru aplikace AIR 1.0 umožňuje jako název definovat pouze jeden jednoduchý textový uzel (nikoliv
více elementů text). V aplikaci AIR 1.1 (nebo novějších) můžete v elementu name určit více jazyků.
Atribut xml:lang pro každý textový element určuje jazykový kód, dle definice v RFC4646
(http://www.ietf.org/rfc/rfc4646.txt).
Instalátor aplikace AIR používá název, který nejvíce odpovídá jazyku uživatelskému rozhranní operačního systému
uživatele. Vezměte například v úvahu instalaci, kde element name souboru deskriptoru aplikace zahrnuje hodnotu pro
místní nastavení „en“ (angličtina). Instalátor aplikace AIR používá název „en“, jestliže operační systém identifikuje
„en“ (angličtina) jako jazyk uživatelského rozhraní. Název „en“ také používá, jestliže jazyk uživatelského systému
jazyka je en-US (Americká angličtina). Nicméně pokud je rozhraní uživatelského jazyka en-US a soubor deskriptoru
aplikace definuje název en-US i en-GB, poté instalátor aplikace AIR používá hodnotu en-US. Jestliže aplikace
nedefinuje žádný název, který odpovídá jazykům uživatelského rozhraní systému, používá instalátor aplikace AIR
první hodnotu name definovanou v souboru deskriptoru aplikace.
Element name definuje pouze název aplikace používaný v instalátoru aplikace AIR. Instalátor aplikace AIR podporuje
více jazyků: tradiční čínštinu, zjednodušenou čínštinu, češtinu, nizozemštinu, angličtinu, francouzštinu, němčinu,
italštinu, japonštinu, korejštinu, polštinu, brazilskou portugalštinu, ruštinu, španělštinu, švédštinu a turečtinu.
Instalátor aplikace AIR zvolí svůj zobrazený jazyk (pro jiný text než titul a popis aplikace) na základě jazyka
uživatelského rozhraní systému. Tento výběr jazyka nezávisí na nastavení v souboru deskriptoru aplikace.
Element name nedefinuje místní nastavení dostupné pro spuštěnou a nainstalovanou aplikaci. Podrobnosti o vyvíjení
vícejazyčných aplikací naleznete v tématu „Lokalizace aplikací AIR“ na stránce 290.
Příklad
V následujícím příkladu je název definován pomocí jednoduchého textového uzlu:
<name>Test Application</name>
V následujícím příkladu, platném ve verzi AIR 1.1 a novějších, je název zadán ve třech jazycích (angličtině,
francouzštině a španělštině) pomocí uzlů elementu <text>:
Poslední aktualizace 31.8.2016
232
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
<name>
<text xml:lang="en">Hello AIR</text>
<text xml:lang="fr">Bonjour AIR</text>
<text xml:lang="es">Hola AIR</text>
</name>
name
Prostředí Adobe AIR 1.0 a novější – povinný
Určuje název typu souboru.
Nadřízený element:„fileType“ na stránce 219
Podřízené elementy: žádné
Obsah
Řetězec představující název typu souboru.
Příklad
<name>adobe.VideoFile</name>
programMenuFolder
Prostředí Adobe AIR 1.0 a novější – volitelný
Určuje umístění, kam budou umístěny zástupci aplikace v nabídce Všechny programy operačního systému Windows
nebo v nabídce aplikací systému Linux. (Toto nastavení je aktuálně v jiných operačních systémech ignorováno.)
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
Řetězec použitý pro hodnotu programMenuFolder může obsahovat libovolný znak Unicode (UTF-8) s výjimkou těch,
které nesmějí být v různých systémech použity jako názvy složek (seznam výjimek viz element filename). Jako
poslední znak této hodnoty nepoužívejte znak lomítka (/).
Příklad
<programMenuFolder>Example Company/Sample Application</programMenuFolder>
publisherID
Prostředí Adobe AIR 1.5.3 a novější – volitelný
Určuje ID vydavatele pro aktualizaci aplikace AIR původně vytvořené v prostředí AIR verze 1.5.2 nebo starší.
ID vydavatele zadejte pouze při vytváření aktualizace aplikace. Hodnota elementu publisherID musí odpovídat ID
vydavatele generovanému prostředím AIR pro dřívější verzi aplikace. U nainstalované aplikace lze ID vydavatele
nalézt ve složce, ve které je aplikace nainstalována, a to v souboru META-INF/AIR/publisherid.
Nové aplikace vytvořené pomocí prostředí AIR 1.5.3 nebo novějšího by neměly ID vydavatele uvádět.
Poslední aktualizace 31.8.2016
233
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Další informace naleznete v části „O identifikátorech vydavatele AIR“ na stránce 188.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
Řetězec ID vydavatele.
Příklad
<publisherID>B146A943FBD637B68C334022D304CEA226D129B4.1</publisherID>
renderMode
Prostředí Adobe AIR 2.0 a novější – volitelný
Určuje, zda se má použít akcelerace prostřednictvím grafického procesoru (GPU), pokud je v aktuálním výpočetním
zařízení podporován.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Jedna z následujících hodnot:
•
auto (výchozí) – Aktuálně přechází do režimu CPU.
•
cpu – Hardwarová akcelerace se nepoužívá.
•
direct – kompozice vykreslení se probíhá v procesoru, bitový blokový přenos používá GPU. Dostupné ve verzi
AIR 3+.
Poznámka: Aby bylo možné využít akceleraci obsahu Flash pomocí GPU v prostředí AIR pro mobilní platformy,
společnost Adobe doporučuje, abyste použili volbu renderMode="direct" (tzn. Stage3D) a nikoli renderMode="gpu".
Společnost Adobe oficiálně podporuje a doporučuje tato prostředí založená na rozhraní Stage3D – Starling (2D) a
Away3D (3D). Podrobnější informace o rozhraní Stage3D a prostředí Starling/Away3D naleznete na webu
http://gaming.adobe.com/getstarted/.
•
gpu – Hardwarová akcelerace se používá, pokud je k dispozici.
Důležité: Nepoužívejte režim vykreslení GPU pro aplikace Flex.
Příklad
<renderMode>direct</renderMode>
requestedDisplayResolution
Adobe AIR 2.6 a novější, pouze iOS; Adobe AIR 3.6 a novější, OS X – volitelně
Určuje, zda bude aplikace vyžadovat použití standardního nebo vysokého rozlišení v zařízení nebo monitoru počítače
s obrazovkou s vysokým rozlišením. Při nastavení hodnoty standard (výchozí) se obrazovka bude aplikaci jevit jako
obrazovka se standardním rozlišením. Při nastavení hodnoty high může aplikace adresovat jednotlivé obrazové body
vysokého rozlišení.
Poslední aktualizace 31.8.2016
234
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Pokud má například toto nastavení u obrazovky zařízení iPhone s vysokým rozlišením 640x960 hodnotu standard,
rozměry plochy přes celou obrazovku budou 320x480 a každý obrazový bod aplikace se vykreslí čtyřmi obrazovými
body obrazovky. Pokud má nastavení hodnotu high, rozměry plochy přes celou obrazovku budou 640x960.
U zařízení s obrazovkou se standardním rozlišením budou rozměry plochy odpovídat rozměrům obrazovky bez
ohledu na použité nastavení.
Pokud je element requestedDisplayResolution vnořený v elementu iPhone, vztahuje se na zařízení se systémem
iOS. V takovém případě lze pomocí atributu excludeDevices určit zařízení, na která se toto nastavení nebude
vztahovat.
Pokud je element requestedDisplayResolution vnořený v elementu initialWindow, vztahuje se na aplikace AIR
pro stolní počítače v počítačích MacBook Pro, které podporují displeje s vysokým rozlišením. Zadaná hodnota platí
pro všechna nativní okna používaná v aplikaci. Vnoření elementu requestedDisplayResolution do elementu
initialWindow je podporováno v prostředí AIR 3.6 a novějších.
Nadřazený element:„iPhone“ na stránce 227, „initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Buď standard (výchozí), nebo high
Atribut:
excludeDevices – seznam názvů modelů nebo předpon názvů modelů se systémem iOS oddělených mezerami.
Umožňuje vývojářům určit, aby některá zařízení používala vysoké rozlišení a ostatní standardní rozlišení. Tento
atribut je k dispozici pouze v systému iOS (element requestedDisplayResolution je vnořený v elementu iPhone).
Atribut excludeDevices je k dispozici v prostředí AIR 3.6 a novějších.
U všech zařízení, jejichž název modelu je uveden v tomto atributu, je hodnota elementu
requestedDisplayResolution opakem zadané hodnoty. Jinými slovy, pokud má element
requestedDisplayResolution hodnotu high, vyloučená zařízení budou používat standardní rozlišení. Pokud má
element requestedDisplayResolution hodnotu standard, vyloučená zařízení budou používat vysoké rozlišení.
Hodnotami jsou názvy modelů nebo předpony názvů modelů zařízení se systémem iOS. Například hodnota iPad3,1
se vztahuje konkrétně k tabletu iPad 3. generace pro sítě Wi-Fi (nikoli na tablety iPad 3. generace pro sítě GSM nebo
CDMA). Hodnota iPad3 se pak vztahuje k libovolnému tabletu iPad 3. generace. Neoficiální seznam názvů modelů se
systémem iOS je k dispozici na stránce modelů serveru the iPhone wiki.
Příklady
Stolní počítač:
<initialWindow>
<requestedDisplayResolution>high</requestedDisplayResolution>
</initialWindow>
iOS:
<iPhone>
<requestedDisplayResolution excludeDevices="iPad3
iPad4">high</requestedDisplayResolution>
</iPhone>
Poslední aktualizace 31.8.2016
235
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
resizable
Prostředí Adobe AIR 1.0 a novější – volitelný
Určuje, zda lze změnit velikost okna.
Poznámka: V operačním systému, například OS Mac X, kde je maximalizace oken operací změny velikosti, musí být
elementy maximalizace i změny velikosti nastaveny na hodnotu false, aby se zabránilo zvětšení nebo změně velikosti okna.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy:
Obsah
true (výchozí) nebo false
Příklad
<resizable>false</resizable>
softKeyboardBehavior
Prostředí Adobe AIR 2.6 a novější, mobilní profil – volitelný
Určuje výchozí chování aplikace při zobrazení virtuální klávesnice. Výchozí chování je posunutí aplikace nahoru.
Běhový modul drží na obrazovce textové pole nebo interaktivní objekt s fokusem. Pokud aplikace neposkytuje vlastní
logiku chování při zobrazení klávesnice, použijte možnost pan.
Automatické chování můžete také vypnout, a to nastavením elementu softKeyboardBehavior na hodnotu none. V
tomto případě textová pole a interaktivní objekty odešlou při aktivaci softwarové klávesnice objekt
SoftKeyboardEvent, ale běhový modul aplikaci neposune ani nezmění její velikost. Za udržení oblasti pro zadání textu
ve viditelném postavení zodpovídá příslušná aplikace.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Buď none, nebo pan. Výchozí hodnota je pan.
Příklad
<softKeyboardBehavior>none</softKeyboardBehavior>
Další témata Nápovědy
SoftKeyboardEvent
supportedLanguages
Adobe AIR 3.2 a novější –·volitelné
Identifikuje jazyky, které aplikace podporuje. Tento element využívá pouze systém iOS, což je vázaný běhový modul
Mac, a aplikace Android. Ostatní typy aplikací tento element ignorují.
Poslední aktualizace 31.8.2016
236
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Nezadáte-li tento element, potom balíčkovač v závislosti na typu aplikace automaticky provede následující akce:
• iOS – všech jazyků podporovaných běhovým modulem AIR je v obchodě s aplikacemi Apple iOS uvedeno jako
podporované jazyky aplikací.
• Vázaný běhový modul Mac – aplikace zabalená pomocí kaptivního balíčku neobsahuje informace o lokalizaci.
• Android – balíček aplikací má zdroje pro všechny jazyky podporované běhovým modulem AIR.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
Seznam podporovaných jazyků, které jsou odděleny mezerou. Platné hodnoty jazyků jsou hodnoty ISO 639-1 pro
jazyky podporované běhovým modulem AIR: en, de, es, fr, it, ja, ko, pt, ru, cs, nl, pl, sv, tr, zh.
Chybí-li hodnota elementu <supportedLanguages>, balíčkovač vygeneruje chybu.
Poznámka: Lokalizované tagy (například tag názvu) ignorují hodnotu jazyka, pokud použijete tag
<supportedLanguages>, který tento jazyk neobsahuje. Pokud nativní přípona obsahuje zdroje pro jazyk, které tag
<supportedLangauges> nespecifikuje, zobrazí se upozornění a zdroje jsou pro tento jazyk ignorovány.
Příklad
<supportedLanguages>en ja fr es</supportedLanguages>
supportedProfiles
Prostředí Adobe AIR 2.0 a novější – volitelný
Identifikuje profily podporované pro aplikaci.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
Do elementu supportedProfiles lze zahrnout kteroukoli z následujících hodnot:
•
desktop – Profil pro stolní počítače je určen pro aplikace AIR, které jsou instalovány ve stolním počítači pomocí
souboru AIR. Tyto aplikace nemají přístup k třídě NativeProcess (která zajišťuje komunikaci s nativními
aplikacemi).
•
extendedDesktop – Rozšířený profil pro stolní počítače je určen pro aplikace AIR, které jsou instalovány ve
stolním počítači pomocí instalátoru nativní aplikace. Tyto aplikace mají přístup ke třídě NativeProcess (která
zajišťuje komunikaci s nativními aplikacemi).
•
mobileDevice – Profil pro mobilní zařízení je určen pro mobilní aplikace.
•
extendedMobileDevice – Rozšířený profil mobilního zařízení se momentálně nepoužívá.
Vlastnost supportedProfiles je volitelná. Pokud tento element do souboru deskriptoru aplikace nezahrnete, bude
možné aplikaci zkompilovat a implementovat pro libovolný profil.
Chcete-li učit více profilů, oddělte je znakem mezery. Následující nastavení například určuje, že aplikace je dostupná
pouze v profilech stolního počítače a v rozšířených profilech:
<supportedProfiles>desktop extendedDesktop</supportedProfiles>
Poslední aktualizace 31.8.2016
237
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Poznámka: Jestliže spustíte aplikaci pomocí programu ADL a neurčíte hodnotu pro možnost -profile programu ADL,
bude použit první profil v deskriptoru aplikace. (Jestliže nejsou určeny žádné profily ani v deskriptoru aplikace, bude
použit profil desktop.)
Příklad
<supportedProfiles>desktop mobileDevice</supportedProfiles>
Další témata Nápovědy
„Profily zařízení“ na stránce 242
„Podporované profily“ na stránce 72
systemChrome
Prostředí Adobe AIR 1.0 a novější – volitelný
Určuje, zda je počáteční okno aplikace vytvořeno se standardním záhlavím, ohraničením a ovládacími prvky, které
poskytuje operační systém.
Nastavení systémového chrómu nelze změnit za běhu.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Jedna z následujících hodnot:
•
none – Není k dispozici žádný systémový chróm. Za zobrazení chrómu okna zodpovídá daná aplikace (nebo
aplikační modul, jako je Flex).
•
standard (výchozí) – Systémový chróm je poskytován operačním systémem.
Příklad
<systemChrome>standard</systemChrome>
text
Prostředí Adobe AIR 1.1 a novější – volitelný
Uvádí lokalizovaný řetězec.
Atribut xml:lang elementu text určuje kód jazyka dle definice v dokumentu RFC4646
(http://www.ietf.org/rfc/rfc4646.txt).
Instalátor aplikace AIR použije element text s hodnotou atributu xml:lang, která nejlépe odpovídá jazyku
uživatelského rozhraní operačního systému uživatele.
Představme si například instalaci, kde element text zahrnuje hodnotu pro místní nastavení „en“ (angličtina).
Instalátor aplikace AIR používá název „en“, jestliže operační systém identifikuje „en“ (angličtina) jako jazyk
uživatelského rozhraní. Název „en“ také používá, jestliže jazyk uživatelského systému jazyka je en-US (Americká
angličtina). Pokud je však jazyk uživatelského rozhraní en-US a soubor deskriptoru aplikace definuje název en-US i
en-GB, instalátor aplikace AIR použije hodnotu en-US.
Poslední aktualizace 31.8.2016
238
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Jestliže aplikace nedefinuje žádný element text, který by odpovídal jazykům uživatelského rozhraní systému, použije
instalátor aplikace AIR první hodnotu name definovanou v souboru deskriptoru aplikace.
Nadřízené elementy:
• „name“ na stránce 231
• „description“ na stránce 215
Podřízené elementy: žádné
Obsah
Atribut xml:lang určuje národní prostředí a řetězec lokalizovaného textu.
Příklad
<text xml:lang="fr">Bonjour AIR</text>
title
Prostředí Adobe AIR 1.0 a novější – volitelný
Určuje název zobrazovaný v záhlaví počátečního okna aplikace.
Název se zobrazí, pouze pokud je element systemChrome nastaven na hodnotu standard.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Řetězec obsahující název okna.
Příklad
<title>Example Window Title</title>
transparent
Prostředí Adobe AIR 1.0 a novější – volitelný
Určuje, zda u počátečního okna aplikace dojde k prolnutí alfa s plochou.
Okno s povolenou průhledností se může vykreslovat pomaleji a vyžadovat více paměti. Nastavení průhlednosti nelze
provést za běhu.
Důležité: Atribut transparent můžete pouze nastavit na hodnotu true, pokud je systemChrome nastaveno na
hodnotu none.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
true nebo false (výchozí)
Poslední aktualizace 31.8.2016
239
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Příklad
<transparent>true</transparent>
version
Prostředí Adobe AIR 1.0 až 2.0 – povinný; nepovoleno v prostředí AIR 2.5 a novějších
Určuje informaci o verzi aplikace.
Řetězec verze je aplikací definovaný oddělovač. Aplikace AIR řetězec verze žádným způsobem neinterpretuje. Proto
se nepředpokládá, že verze „3.0“ je aktuálnější než verze „2.0“. Příklady: "1.0", ".4", "0.5", "4.9", "1.3.4a".
V prostředí AIR 2.5 a novějších je element version nahrazen elementy versionNumber a versionLabel.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
Řetězec obsahující verzi aplikace.
Příklad
<version>0.1 Alpha</version>
versionLabel
Prostředí Adobe AIR 2.5 a novější – volitelný
Uvádí popisný řetězec verze.
Hodnota popisku verze se zobrazí v dialogových oknech instalace namísto hodnoty elementu versionNumber. Pokud
element versionLabel není použit, bude pro obě hodnoty použit element versionNumber.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Obsah
Řetězec obsahující veřejně zobrazovaný text verze.
Příklad
<versionLabel>0.9 Beta</versionlabel>
versionNumber
Prostředí Adobe AIR 2.5 a novější – povinný
Číslo verze aplikace.
Nadřízený element:„application“ na stránce 208
Podřízené elementy: žádné
Poslední aktualizace 31.8.2016
240
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Obsah
Číslo verze může obsahovat posloupnost až tři celých čísel oddělených tečkami. Každé z těchto celých čísel musí být v
rozsahu 0 až 999 (včetně).
Příklady
<versionNumber>1.0.657</versionNumber>
<versionNumber>10</versionNumber>
<versionNumber>0.01</versionNumber>
visible
Prostředí Adobe AIR 1.0 a novější – volitelný
Určuje, zda je počáteční okno aplikace viditelné hned po vytvoření.
Okna prostředí AIR, včetně počátečního, se ve výchozím nastavení vytvářejí v neviditelném stavu. Okno můžete
zobrazit voláním metody activate() objektu NativeWindow nebo nastavením vlastnosti visible na hodnotu true.
Zpočátku si můžete přát ponechat hlavní okno skryté, takže změny polohy okna, velikosti okna a rozvržení jeho
obsahu se nezobrazí.
Komponenta Flex mx:WindowedApplication automaticky zobrazí a aktivuje okno bezprostředně před odesláním
události applicationComplete, pokud není atribut visible v definici MXML nastaven na hodnotu false.
U zařízení s mobilním profilem, které nepodporuje okna, se nastavení vlastnosti visible ignoruje.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
true nebo false (výchozí)
Příklad
<visible>true</visible>
width
Prostředí Adobe AIR 1.0 a novější – volitelný
Počáteční šířka hlavního okna aplikace.
Pokud šířku nenastavíte, je určena podle nastavení v kořenovém souboru SWF nebo (v případě aplikace AIR v jazyce
HTML) podle operačního systému.
Maximální šířka okna se ve verzi AIR 2 změnila z 2 048 na 4 096 obrazových bodů.
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Kladné celé číslo s maximální hodnotou 4 095.
Poslední aktualizace 31.8.2016
241
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Soubory deskriptorů aplikací AIR
Příklad
<width>1024</width>
x
Prostředí Adobe AIR 1.0 a novější – volitelný
Vodorovné umístění počátečního okna aplikace.
Ve většině případů je vhodnější nechat určit počáteční pozici okna operačním systémem a nepřiřazovat pevnou
hodnotu.
Počátek systému souřadnic obrazovky (0,0) se nachází v levém horním rohu obrazovky hlavní plochy (jak je určena
operačním systémem).
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Celočíselná hodnota.
Příklad
<x>120</x>
y
Prostředí Adobe AIR 1.0 a novější – volitelný
Svislé umístění počátečního okna aplikace.
Ve většině případů je vhodnější nechat určit počáteční pozici okna operačním systémem a nepřiřazovat pevnou
hodnotu.
Počátek systému souřadnic obrazovky (0,0) se nachází v levém horním rohu obrazovky hlavní plochy (jak je určena
operačním systémem).
Nadřízený element:„initialWindow“ na stránce 225
Podřízené elementy: žádné
Obsah
Celočíselná hodnota.
Příklad
<y>250</y>
Poslední aktualizace 31.8.2016
242
Kapitola 15: Profily zařízení
Prostředí Adobe AIR 2 a novější
Profily představují mechanismus k definování tříd výpočetních zařízení, na kterých aplikace pracují. Profil definuje
sadu rozhraní API a možnosti, jež jsou obvykle podporovány v určité třídě zařízení. K dostupným profilům patří:
• Stolní počítač
• Rozšířený profil pro stolní počítače
• Mobilní zařízení
• Rozšířené mobilní zařízení
Profil aplikace můžete definovat v jejím deskriptoru. Uživatelé počítačů a zařízení daných profilů budou moci danou
aplikaci nainstalovat, uživatelé ostatních počítačů a zařízení nikoli. Pokud například zahrnete do deskriptoru aplikace
pouze profil stolního počítače, uživatelé budou moci aplikaci nainstalovat a spouštět pouze ve stolních počítačích.
Uvedete-li profil, který aplikace ve skutečnosti nepodporuje, nebude se uživatelům v takovém prostředí
pravděpodobně pracovat příjemně. Jestliže nezadáte do deskriptoru aplikace žádný profil, prostředí AIR vaši aplikaci
nebude omezovat. Aplikaci můžete zabalit do libovolného podporovaného formátu, který budou moci nainstalovat
uživatelé zařízení bez ohledu na profil – v běhovém prostředí však aplikace nemusí pracovat správně.
Pokud je to možné, budou při zabalení aplikace vynucena omezení profilu. Jestliže například zahrnete pouze rozšířený
profil pro stolní počítače, nelze aplikaci zabalit jako soubor AIR, ale pouze jako nativní instalační program. Podobně
v případě, že nezahrnete profil mobilního zařízení, nelze vytvořit aplikaci zabalit do formátu Android APK.
Jedno výpočetní zařízení může podporovat více profilů. Například prostředí AIR ve stolních počítačích podporuje
aplikace profilu stolního počítače i rozšířeného profilu pro stolní počítače. Aplikace rozšířeného profilu pro stolní
počítače však může komunikovat s nativními procesy a MUSÍ být zabalena jako nativní instalační program (soubor
EXE, DMG, DEB nebo RPM). Aplikace profilu stolního počítače naopak nemůže komunikovat s nativními procesy.
Aplikaci profilu stolního počítače lze sbalit jako soubor AIR nebo jako nativní instalační program.
Zařazení funkce do profilu označuje, že podpora této funkce je běžná ve třídě zařízení, pro kterou je profil definován.
Neznamená však, že každé zařízení v profilu podporuje všechny funkce. Většina mobilních telefonů například
obsahuje akcelerometr, neplatí to ale pro všechny. Třídy a funkce, které nemají všeobecnou podporu, obvykle mají
booleovskou vlastnost, kterou můžete před použitím dané funkce zkontrolovat. V případě akcelerometru můžete
například otestovat statickou vlastnost Accelerometer.isSupported a zjistit tak, zda aktuální zařízení obsahuje
podporovaný akcelerometr.
Aplikaci AIR lze pomocí elementu supportedProfiles v deskriptoru přiřadit následující profily:
Desktop Profil stolního počítače definuje sadu schopností pro aplikace AIR, které se instalují do stolního počítače jako
soubory AIR. Tyto aplikace se instalují a spouští v podporovaných platformách stolních počítačů (Mac OS, Windows
a Linux). Aplikace AIR vyvinuté ve starších verzích AIR než je AIR 2 mohou být považovány za vytvořené v profilu
pro stolní počítače. Některá rozhraní API nejsou v tomto profilu funkční. Aplikace pro stolní počítače například
nemohou komunikovat s nativními procesy.
Rozšířený profil pro stolní počítače Rozšířený profil pro stolní počítače definuje sadu schopností pro aplikace AIR,
které jsou zabaleny do nativního instalátoru a také se pomocí něj rozbalují. Tyto nativní instalátory jsou soubory EXE
ve Windows, soubory DMG v systému Mac OS a soubory BIN, DEB nebo RPM v operačním systému Linux. Aplikace
s rozšířeným profilem pro stolní počítače mají další schopnosti, které nejsou k dispozici v aplikacích s profilem
stolního počítače. Další informace naleznete v tématu „Sbalení nativního instalátoru pro stolní počítač“ na stránce 55.
Poslední aktualizace 31.8.2016
243
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Profily zařízení
Mobilní zařízení Profil mobilního zařízení definuje sadu schopností pro aplikace, které se instalují do mobilních
zařízení, jako jsou mobilní telefony a tablety. Tyto aplikace se instalují a spouštějí na podporovaných mobilních
platformách, mezi které patří Android, Blackberry Tablet OS a iOS.
Rozšířené mobilní zařízení Profil rozšířeného mobilního zařízení definuje sadu schopností pro aplikace, které se
instalují do rozšířených mobilních zařízení. Momentálně nejsou k dispozici žádná zařízení podporující tento profil.
Omezení cílových profilů v souboru deskriptoru
aplikace
Prostředí Adobe AIR 2 a novější
Soubor deskriptoru aplikace v prostředí AIR 2 obsahuje element supportedProfiles, který umožňuje omezit cílové
profily. Následující nastavení například určuje, že aplikace je dostupná pouze v profilu stolního počítače:
<supportedProfiles>desktop</supportedProfiles>
Když je tento element nastaven, aplikaci lze sbalit pouze ve vámi uvedených profilech. Můžete použít následující
hodnoty:
•
desktop – Profil stolního počítače
•
extendedDesktop – Profil rozšířeného stolního počítače
•
mobileDevice – Profil mobilního zařízení
Element supportedProfiles je volitelný. Pokud tento element do souboru deskriptoru aplikace nezahrnete, bude
možné aplikaci sbalit a implementovat pro libovolný profil.
Chcete-li určit více profilů v elementu supportedProfiles, oddělte každý element mezerou, tak jak je to uvedeno
v následujícím příkladu:
<supportedProfiles>desktop extendedDesktop</supportedProfiles>
Schopnosti různých profilů
Prostředí Adobe AIR 2 a novější
Následující tabulka obsahuje seznam tříd a funkcí, které nejsou podporovány ve všech profilech.
Třída nebo funkce
Stolní počítač
Rozšířený profil Mobilní
pro stolní
zařízení
počítače
Accelerometer (Accelerometer.isSupported) Ne
Ne
Zkontrolovat
Accessibility (Capabilities.hasAccessibility)
Ano
Ano
Ne
Rušení akustické ozvěny
(Microphone.getEnhancedMicrophone())
Ano
Ano
Ne
Jazyk ActionScript 2
Ano
Ano
Ne
Matice CacheAsBitmap
Ne
Ne
Ano
Poslední aktualizace 31.8.2016
244
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Profily zařízení
Třída nebo funkce
Stolní počítač
Rozšířený profil Mobilní
pro stolní
zařízení
počítače
Camera (Camera.isSupported)
Ano
Ano
Ano
CameraRoll
Ne
Ne
Ano
CameraUI (CameraUI.isSupported)
Ne
Ne
Ano
Kaptivní balíčky běhového prostředí
Ano
Ano
Ano
ContextMenu (ContextMenu.isSupported)
Ano
Ano
Ne
DatagramSocket
(DatagramSocket.isSupported)
Ano
Ano
Ano
DockIcon
(NativeApplication.supportsDockIcon)
Zkontrolovat
Zkontrolovat
Ne
Přetažení (NativeDragManager.isSupported) Ano
Ano
Zkontrolovat
EncyptedLocalStore
(EncyptedLocalStore.isSupported)
Ano
Ano
Ano
Přístup Flash (DRMManager.isSupported)
Ano
Ano
Ne
GameInput (GameInput.isSupported)
Ne
Ne
Ne
Geolocation (Geolocation.isSupported)
Ne
Ne
Zkontrolovat
HTMLLoader (HTMLLoader.isSupported)
Ano
Ano
Ne
IME (IME.isSupported)
Ano
Ano
Zkontrolovat
LocalConnection
(LocalConnection.isSupported)
Ano
Ano
Ne
Microphone (Microphone.isSupported)
Ano
Ano
Zkontrolovat
Vícekanálový zvuk
(Capabilities.hasMultiChannelAudio())
Ne
Ne
Ne
Nativní rozšíření
Ne
Ano
Ano
NativeMenu (NativeMenu.isSupported)
Ano
Ano
Ne
NativeProcess (NativeProcess.isSupported)
Ne
Ano
Ne
NativeWindow (NativeWindow.isSupported) Ano
Ano
Ne
NetworkInfo (NetworkInfo.isSupported)
Ano
Ano
Zkontrolovat
Otevření souborů výchozí aplikací
Omezeno
Ano
Ne
PrintJob (PrintJob.isSupported)
Ano
Ano
Ne
SecureSocket (SecureSocket.isSupported)
Ano
Ano
Zkontrolovat
ServerSocket (ServerSocket.isSupported)
Ano
Ano
Ano
Shader
Ano
Ano
Omezeno
Stage3D (Stage.stage3Ds.length)
Ano
Ano
Ano
Orientace vymezené plochy
(Stage.supportsOrientationChange)
Ne
Ne
Ano
StageVideo
Ne
Ne
Zkontrolovat
Poslední aktualizace 31.8.2016
245
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Profily zařízení
Třída nebo funkce
Stolní počítač
Rozšířený profil Mobilní
pro stolní
zařízení
počítače
StageWebView
(StageWebView.isSupported)
Ano
Ano
Ano
Spuštění aplikace při přihlášení
(NativeApplication.supportsStartAtLogin)
Ano
Ano
Ne
StorageVolumeInfo
(StorageVolumeInfo.isSupported)
Ano
Ano
Ne
Režim nečinnosti systému
Ne
Ne
Ano
SystemTrayIcon
Zkontrolovat
(NativeApplication.supportsSystemTrayIcon
)
Zkontrolovat
Ne
Vstupní hodnota rámce rozložení textu
Ano
Ano
Ne
Updater (Updater.isSupported)
Ano
Ne
Ne
XMLSignatureValidator
(XMLSignatureValidator.isSupported)
Ano
Ano
Ne
Položky v tabulce mají následující význam:
• Zkontrolovat – Funkce je podporována u některých zařízení v profilu, nikoli však u všech. Před použitím funkce je
vhodné v běhovém prostředí zkontrolovat, zda je podporována.
• Omezeno – Funkce je podporována, ale s výraznými omezeními. Další informace naleznete v příslušné
dokumentaci.
• Ne – Funkce není v daném profilu podporována.
• Ano – Funkce je v profilu podporována. Nezapomeňte, že konkrétní výpočetní zařízení může postrádat hardware
nutný pro práci některé funkce. Ne všechny telefony jsou například vybaveny fotoaparátem.
Určení profilů při ladění pomocí programu ADL
Prostředí Adobe AIR 2 a novější
ADL kontroluje, zda určujete podporované profily v elementu supportedProfiles souboru deskriptoru aplikace.
Pokud ano, program ADL ve výchozím nastavení použije první podporovaný profil, který je uveden jako profil
k ladění.
Profil pro relaci ladění ADL můžete určit pomocí argumentu příkazového řádku -profile. (Viz kapitolu „Program
AIR Debug Launcher (ADL)“ na stránce 157.) Tento argument lze použít bez ohledu na to, zda určíte profil v elementu
supportedProfiles v souboru deskriptoru aplikace. Pokud však element supportedProfiles určíte, musí
obsahovat profil určený na příkazovém řádku. V opačném případě vyvolá program ADL chybu.
Poslední aktualizace 31.8.2016
246
Kapitola 16: Rozhraní API integrovaného
prohlížeče AIR.SWF
Přizpůsobení souboru badge.swf hladké instalace
Vedle použití souboru badge.swf poskytnutého se sadou SDK můžete vytvořit svůj vlastní soubor, který použijete na
stránce prohlížeče. Váš vlastní soubor SWF může vzájemně reagovat s runtime následujícími způsoby:
• Může nainstalovat aplikaci AIR. Viz „Instalace aplikace AIR z prohlížeče“ na stránce 252.
• Může provést kontrolu a zjistit, jestli je nainstalovaná určitá aplikace AIR. Viz „Kontrola z webové stránky, zda je
aplikace AIR nainstalována.“ na stránce 251.
• Může zkontrolovat, zda je runtime nainstalováno. Viz „Kontrola, zda je runtime nainstalováno“ na stránce 250.
• Může spustit nainstalovanou aplikaci AIR v systému uživatele. Viz sekce „Spuštění nainstalované aplikace AIR z
prohlížeče“ na stránce 253.
Tyto možnosti jsou poskytnuty voláním rozhraní API v souboru SWF hostovaném na adobe.com: air.swf. Soubor
badge.swf si můžete přizpůsobit a volat rozhraní API air.swf ze svého vlastního souboru SWF.
Dále může soubor SWF spuštěný v prohlížeči komunikovat se spuštěnou aplikací AIR pomocí třídy LocalConnection.
Další informace naleznete v tématu Komunikace s ostatními instancemi aplikací Flash Player a AIR (pro vývojáře
používající jazyk ActionScript) nebo Komunikace s ostatními instancemi aplikací Flash Player a AIR (pro vývojáře
používající jazyk HTML).
Důležité: Funkce popsané v této části (a rozhraní API v souboru air.swf) vyžadují, aby měl koncový uživatel ve webovém
prohlížeči v systému Windows nebo Mac OS nainstalovanou aktualizaci 3 nebo novější přehrávače Adobe® Flash® Player
9. V systému Linux vyžaduje funkce hladké instalace přehrávač Flash Player 10 (verze 10.0.12.36 nebo novější). Můžete
zapsat kód tak, abyste zkontrolovali nainstalovanou verzi přehrávače Flash Player a poskytnuli uživateli alternativní
rozhraní, jestliže není požadovaná verze přehrávače Flash Player nainstalovaná. Jestliže je například nainstalována
starší verze přehrávače Flash Player, můžete poskytnout odkaz na verzi souboru AIR ke stažení (namísto použití souboru
badge.swf nebo rozhraní API souboru air.swf k nainstalování aplikace).
Použití souboru badge.swf k nainstalování aplikace AIR
Sady AIR SDK a Flex SDK obsahují soubor badge.swf, který umožňuje snadné použití funkce hladké instalace. Soubor
badge.swf může nainstalovat runtime a aplikaci AIR z odkazu na webové stránce. Soubor badge.swf a jeho zdrojový
kód jsou vám poskytnuty k distribuci na vašem webu.
Vložte soubor badge.swf do webové stránky
1 Vyhledejte následující soubory umístěné v adresáři samples/badge sad AIR SDK nebo Flex SDK a přidejte je do
svého prohlížeče.
• badge.swf
• default_badge.html
• AC_RunActiveContent.js
Poslední aktualizace 31.8.2016
247
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Rozhraní API integrovaného prohlížeče AIR.SWF
2 Otevřete stránku default_badge.html v textovém editoru.
3 Na stránce default_badge.html ve funkci jazyka JavaScript AC_FL_RunContent() upravte definice parametru
FlashVars pro následující:
Parametr
Popis
appname
Název aplikace zobrazený souborem SWF, jestliže runtime není nainstalován.
appurl
(Vyžadovaný). URL souboru AIR, který má být stažen. Musíte použít absolutní, nikoliv relativní, URL.
airversion
(Vyžadovaný). Pro verzi 1.0 runtime jej nastavte na 1.0.
imageurl
URL obrazu (volitelné), která se zobrazí v symbolu.
buttoncolor
Barva tlačítka stahování (určená jako hexadecimální hodnota, například FFCC00).
messagecolor
Barva textové zprávy zobrazené pod tlačítkem, jestliže runtime není nainstalováno (určena jako
hexadecimální hodnota, například FFCC00).
4 Minimální velikost souboru badge.swf je 217 obrazových bodů na šířku a 180 obrazových bodů na výšku. Upravte
hodnoty parametrů width a height funkce AC_FL_RunContent()tak, aby vám vyhovovaly.
5 Přejmenujte soubor default_badge.html a upravte jeho kód (nebo jej zahrňte do jiné HTML stránky) tak, aby vám
vyhovoval.
Poznámka: Pro tag HTML embed, který načítá soubor badge.swf, nenastavujte atribut wmode a nechejte jej nastavený
na výchozí hodnotu („window"). Jiné nastavení atributu wmode v některých systémech znemožňuje instalaci. Použití
jiného nastavení atributu wmode navíc způsobí chybu: „Error #2044: Nezpracováno:. text=Error #2074: Plocha je příliš
malá a neodpovídá download ui.“
Soubor badge.swf můžete také upravit a znovu kompilovat. Podrobnosti naleznete v tématu „Upravte soubor
badge.swf“ na stránce 248.
Nainstalujte aplikaci AIR z odkazu hladké instalace na webové stránce.
Jakmile jste na stránku přidali odkaz hladké instalace, může uživatel instalovat aplikaci AIR klepnutím na odkaz v
souboru SWF.
1 Přejděte na stránku HTML ve webovém prohlížeči, který má nainstalovaný přehrávač Flash Player (verze 9 s
aktualizací 3 v systémech Windows a Mac OS, nebo verze 10 v systému Linux).
2 Na webové stránce klepněte na odkaz na soubor badge.swf.
• Jestliže jste runtime nainstalovali, přejděte k následujícímu kroku.
• Jestliže jste runtime nenainstalovali, zobrazí se dialogové okno, kde budete dotázáni, zda si přejete runtime
nainstalovat nebo nikoliv. Instalujte runtime (viz „Instalace prostředí Adobe AIR“ na stránce 3) a pokračujte k
následujícímu kroku.
3 V okně instalace ponechte zvolené výchozí nastavení a klepněte na tlačítko Pokračovat.
V počítači s OS Windows provede AIR automaticky následující:
• Instaluje aplikaci do umístění c:\Program Files\
• Vytvoří pro aplikaci odkaz na pracovní ploše
• Vytvoří odkaz v nabídce Start
• Přidá záznam pro aplikaci do ovládacího panelu Přidat/Odebrat programy
Poslední aktualizace 31.8.2016
248
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Rozhraní API integrovaného prohlížeče AIR.SWF
V operačním systému Mac OS přidá instalátor aplikaci do adresáře Aplikace (například do adresáře /Aplikace v
operačním sytému Mac OS).
V počítači se systémem Linux provede aplikace AIR následující akce:
• Nainstaluje aplikaci do složky /opt.
• Vytvoří pro aplikaci odkaz na pracovní ploše
• Vytvoří odkaz v nabídce Start
• Přidá do systémového správce balíčků položku pro aplikaci.
4 Vyberte požadované možnosti a klepněte na tlačítko Instalovat.
5 Po dokončení instalace klepněte na možnost Dokončit.
Upravte soubor badge.swf
Zdrojové soubory pro soubor badge.swf obsahují sady Flex SDK a AIR SDK. Tyto soubory jsou zahrnuty ve složce
samples/badge sady SDK:
Zdrojové soubory
Popis
badge.fla
Zdrojový soubor Flash použitý pro kompilaci souboru badge.swf. Soubor badge.fla kompiluje do souboru SWF
9 (který lze načíst v přehrávači Flash Player).
AIRBadge.as
Třída ActionScript 3.0, která definuje základní třídu použitou v souboru basdge.fla.
Aplikaci Flash Professional lze použít k novému navržení vizuálního rozhraní souboru badge.fla.
Funkce konstruktoru AIRBadge() definovaná ve třídě AIRBadge načte soubor air.swf hostovaný na
http://airdownload.adobe.com/air/browserapi/air.swf. Soubor air.swf obsahuje kód pro používání funkce hladké
instalace.
Metoda onInit()(ve třídě AIRBadge) je volána, když je soubor air.swf úspěšně načten:
Poslední aktualizace 31.8.2016
249
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Rozhraní API integrovaného prohlížeče AIR.SWF
private function onInit(e:Event):void {
_air = e.target.content;
switch (_air.getStatus()) {
case "installed" :
root.statusMessage.text = "";
break;
case "available" :
if (_appName && _appName.length > 0) {
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor + "'>In order to run " + _appName +
", this installer will also set up Adobe® AIR®.</font></p>";
} else {
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor + "'>In order to run this application, "
+ "this installer will also set up Adobe® AIR®.</font></p>";
}
break;
case "unavailable" :
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor
+ "'>Adobe® AIR® is not available for your system.</font></p>";
root.buttonBg_mc.enabled = false;
break;
}
}
Kód nastaví globální proměnnou _air na hlavní třídu načteného souboru air.swf. Tato třída obsahuje následující
veřejné metody, ke kterým soubor badge.swf získává přístup pro volání funkce hladké instalace:
Metoda
Popis
getStatus()
Určuje, zda je runtime na počítači nainstalováno (nebo může být nainstalováno). Podrobnosti naleznete v
tématu „Kontrola, zda je runtime nainstalováno“ na stránce 250.
•
runtimeVersion—Řetězec určující verzi runtime (například "1.0.M6") vyžadovanou aplikací k instalaci.
installApplication() Nainstaluje určenou aplikaci na počítač uživatele. Podrobnosti naleznete v tématu „Instalace aplikace AIR z
prohlížeče“ na stránce 252.
•
url—Řetězec definující URL. Musíte použít absolutní, nikoliv relativní, cestu URL.
•
runtimeVersion—Řetězec určující verzi runtime (například "2.5.") vyžadovanou aplikací k instalaci.
•
arguments—Argumenty, které budou předané aplikaci, když je po instalaci spuštěna. Aplikace je spuštěna
po instalaci, jestliže element allowBrowserInvocation je nastaven na true v souboru deskriptoru
aplikace. (Další informace o souboru deskriptoru aplikace naleznete v tématu „Soubory deskriptorů aplikací
AIR“ na stránce 202.) Jestliže je aplikace spuštěna jako výsledek hladké instalace z prohlížeče (když si uživatel
zvolí spuštění aplikace po instalaci), objekt aplikace NativeApplication odešle objekt BrowserInvokeEvent
pouze pokud jsou předány argumenty. Vezměte na vědomí důsledky pro zabezpečení dat, která předáte
aplikaci. Podrobnosti naleznete v tématu „Spuštění nainstalované aplikace AIR z prohlížeče“ na stránce 253.
Nastavení pro url a runtimeVersion jsou předána do souboru SWF prostřednictvím nastavení FlashVars na HTML
stránce kontejneru.
Jestliže se aplikace po instalaci spustí automaticky, může nainstalovaná aplikace díky komunikaci LocalConnection po
iniciaci kontaktovat soubor badge.swf. Další informace naleznete v tématu Komunikace s ostatními instancemi
aplikací Flash Player a AIR (pro vývojáře používající jazyk ActionScript) nebo Komunikace s ostatními instancemi
aplikací Flash Player a AIR (pro vývojáře používající jazyk HTML).
Poslední aktualizace 31.8.2016
250
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Rozhraní API integrovaného prohlížeče AIR.SWF
Můžete také volat metodu getApplicationVersion() souboru air.swf a zkontrolovat, jestli je aplikace
nainstalována. Tuto metodu můžete volat buď před procesem instalace aplikace nebo po zahájení instalace.
Podrobnosti naleznete v tématu „Kontrola z webové stránky, zda je aplikace AIR nainstalována.“ na stránce 251.
Načtení souboru air.swf
Můžete vytvořit svůj vlastní soubor SWF, který používá rozhraní API v souboru air.swf, pro interakci s runtime a
aplikacemi AIR z webové stránky v prohlížeči. Soubor air.swf je hostován na
http://airdownload.adobe.com/air/browserapi/air.swf. Pro odkazování rozhraní API souboru air.swf z vašeho
souboru SWF načtěte soubor air.swf do stejné domény aplikace jako svůj soubor SWF. Následující kód ukazuje příklad
načtení souboru air.swf do domény aplikace načítaného souboru SWF:
var airSWF:Object; // This is the reference to the main class of air.swf
var airSWFLoader:Loader = new Loader(); // Used to load the SWF
var loaderContext:LoaderContext = new LoaderContext();
// Used to set the application domain
loaderContext.applicationDomain = ApplicationDomain.currentDomain;
airSWFLoader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
airSWFLoader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"),
loaderContext);
function onInit(e:Event):void
{
airSWF = e.target.content;
}
Jakmile je soubor air.swf načten (když objekt contentLoaderInfo objektu Loader odešle událost init), můžete volat
libovolné rozhraní API souboru air.swf popsané v následujících odstavcích.
Poznámka: Soubor badge.swf dodaný se sadami AIR SDK a Flex SDK automaticky načte soubor air.swf. Viz „Použití
souboru badge.swf k nainstalování aplikace AIR“ na stránce 246. Pokyny v této části se vztahují k vytváření vlastního
souboru SWF, který načte soubor air.swf.
Kontrola, zda je runtime nainstalováno
Soubor SWF může zkontrolovat, zda je runtime nainstalováno voláním metody getStatus() v souboru air.swf
načteném z http://airdownload.adobe.com/air/browserapi/air.swf. Podrobnosti naleznete v tématu „Načtení souboru
air.swf“ na stránce 250.
Jakmile je soubor air.swf načten, může soubor SWF volat metodu souboru air.swf getStatus(), viz. následující:
var status:String = airSWF.getStatus();
Metoda getStatus() vrátí jednu z následujících hodnot řetězce, na základě statutu runtime na počítači:
Poslední aktualizace 31.8.2016
251
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Rozhraní API integrovaného prohlížeče AIR.SWF
Hodnota řetězce
Popis
"available"
Runtime lze nainstalovat na tomto počítači, aktuálně ale nainstalován není.
"unavailable"
Runtime nemůže být na tomto počítači nainstalován.
"installed"
Runtime je na tomto počítači nainstalován.
Metoda getStatus() vyvolá chybu, jestliže není v prohlížeči nainstalována požadovaná verze přehrávače Flash Player
(verze 9 aktualizace 3 v systémech Windows a Mac OS nebo verze 10 v systému Linux).
Kontrola z webové stránky, zda je aplikace AIR
nainstalována.
Soubor SWF může zkontrolovat, zda je aplikace AIR (s odpovídajícím ID aplikace a ID vydavatele) nainstalovaná
voláním metody getApplicationVersion() v souboru air.swf načteném z
http://airdownload.adobe.com/air/browserapi/air.swf. Podrobnosti naleznete v tématu „Načtení souboru air.swf“ na
stránce 250.
Jakmile je soubor air.swf načten, může soubor SWF volat metodu souboru air.swf getApplicationVersion(), viz.
následující:
var appID:String = "com.example.air.myTestApplication";
var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1";
airSWF.getApplicationVersion(appID, pubID, versionDetectCallback);
function versionDetectCallback(version:String):void
{
if (version == null)
{
trace("Not installed.");
// Take appropriate actions. For instance, present the user with
// an option to install the application.
}
else
{
trace("Version", version, "installed.");
// Take appropriate actions. For instance, enable the
// user interface to launch the application.
}
}
Metoda getApplicationVersion() má následující parametry:
Parametry
Popis
appID
ID aplikace pro danou aplikaci. Podrobnosti viz „id“ na stránce 223.
pubID
ID vydavatele pro danou aplikaci. Podrobnosti viz „publisherID“ na stránce 232. Pokud uvedená aplikace
neobsahuje ID vydavatele, nastavte jako parametr pubID prázdný řetězec (“”).
callback
Funkce zpětného volání, která slouží jako funkce zpracování. Metoda getApplicationVersion() operuje
asynchronně a po zjištění nainstalované verze (nebo nepřítomnosti nainstalované verze), je tato metoda
zpětného volání iniciována. Definice metody zpětného volání musí zahrnovat jeden parametr, řetězec, který
je nastaven na řetězec verze nainstalované aplikace. Jestliže není aplikace nainstalovaná, bude funkci předána
nulová hodnota, viz následující ukázka kódu.
Poslední aktualizace 31.8.2016
252
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Rozhraní API integrovaného prohlížeče AIR.SWF
Metoda getApplicationVersion() vyvolá chybu, jestliže není v prohlížeči nainstalována požadovaná verze
přehrávače Flash Player (verze 9 aktualizace 3 v systémech Windows a Mac OS nebo verze 10 v systému Linux).
Poznámka: Od verze prostředí AIR 1.5.3 se ID vydavatele nepoužívá. ID vydavatele již není k aplikacím přiřazováno
automaticky. Z důvodu zpětné kompatibility mohou mít aplikace i nadále zadáno ID vydavatele.
Instalace aplikace AIR z prohlížeče
Soubor SWF může nainstalovat aplikaci AIR voláním metody installApplication() v souboru air.swf načteném z
http://airdownload.adobe.com/air/browserapi/air.swf. Podrobnosti naleznete v tématu „Načtení souboru
air.swf“ na stránce 250.
Jakmile je soubor air.swf načten, může soubor SWF volat metodu souboru air.swf installApplication(), viz.
následující:
var url:String = "http://www.example.com/myApplication.air";
var runtimeVersion:String = "1.0";
var arguments:Array = ["launchFromBrowser"]; // Optional
airSWF.installApplication(url, runtimeVersion, arguments);
Metoda installApplication() nainstaluje určenou aplikaci na počítač uživatele. Tato metoda má následující
parametry:
Parametr
Popis
url
Řetězec definující URL souboru AIR k instalaci. Musíte použít absolutní, nikoliv relativní, cestu URL.
runtimeVersion
Řetězec určující verzi runtime (například „1.0“) vyžadovanou aplikací k instalaci.
arguments
Pole argumentů, které budou předány aplikaci, když je po instalaci spuštěna. Pro argumenty jsou
rozpoznávány pouze alfanumerické znaky. Pokud potřebujete předat jiné hodnoty, doporučujeme použít
schéma kódování.
Aplikace je spuštěna po instalaci, jestliže element allowBrowserInvocation je nastaven na true v
souboru deskriptoru aplikace. (Další informace o souboru deskriptoru aplikace naleznete v tématu „Soubory
deskriptorů aplikací AIR“ na stránce 202.) Jestliže je aplikace spuštěna jako výsledek hladké instalace z
prohlížeče (když si uživatel zvolí spuštění aplikace po instalaci), objekt aplikace NativeApplication odešle
objekt BrowserInvokeEvent pouze pokud byly předány argumenty. Podrobnosti naleznete v tématu „Spuštění
nainstalované aplikace AIR z prohlížeče“ na stránce 253.
Metoda installApplication() může operovat pouze je-li volána v objektu pro zpracování události pro událost
uživatele, například klepnutí myší.
Metoda installApplication() vyvolá chybu, jestliže není v prohlížeči nainstalována požadovaná verze přehrávače
Flash Player (verze 9 aktualizace 3 v systémech Windows a Mac OS nebo verze 10 v systému Linux).
Pro instalaci aktualizované verze aplikace v OS Mac musí mít uživatel příslušná oprávnění pro nainstalování do
adresáře aplikace (a oprávnění správce, jestliže aplikace aktualizuje runtime). V OS Windows potřebuje uživatel
oprávnění správce.
Poslední aktualizace 31.8.2016
253
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Rozhraní API integrovaného prohlížeče AIR.SWF
Můžete také volat metodu getApplicationVersion() souboru air.swf a zkontrolovat, zda je aplikace již
nainstalována. Tuto metodu můžete volat buď před zahájením procesu instalace aplikace nebo po zahájení instalace.
Podrobnosti naleznete v tématu „Kontrola z webové stránky, zda je aplikace AIR nainstalována.“ na stránce 251.
Jakmile aplikace běží, může komunikovat s obsahem SWF v prohlížeči pomocí třídy LocalConnection. Další
informace naleznete v tématu Komunikace s ostatními instancemi aplikací Flash Player a AIR (pro vývojáře
používající jazyk ActionScript) nebo Komunikace s ostatními instancemi aplikací Flash Player a AIR (pro vývojáře
používající jazyk HTML).
Spuštění nainstalované aplikace AIR z prohlížeče
Pro použití funkce vyvolání prohlížeče (povolení, aby byla spuštěna z prohlížeče) musí soubor deskriptoru aplikace
cílové aplikace zahrnovat následující nastavení:
<allowBrowserInvocation>true</allowBrowserInvocation>
Další informace o souboru deskriptoru aplikace naleznete v tématu „Soubory deskriptorů aplikací AIR“ na
stránce 202.
Soubor SWF v prohlížeči může spustit aplikaci AIR voláním metody launchApplication() v souboru air.swf
načteném z http://airdownload.adobe.com/air/browserapi/air.swf. Podrobnosti naleznete v tématu „Načtení souboru
air.swf“ na stránce 250.
Jakmile je soubor air.swf načten, může soubor SWF volat metodu souboru air.swf launchApplication(), viz.
následující kód:
var appID:String = "com.example.air.myTestApplication";
var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1";
var arguments:Array = ["launchFromBrowser"]; // Optional
airSWF.launchApplication(appID, pubID, arguments);
Metoda launchApplication() je definovaná na nejvyšší úrovni souboru air.swf (který je načten v doméně aplikace
souboru SWF uživatelského rozhraní). Volání této metody způsobí, že aplikace AIR spustí určenou aplikaci (je-li
instalována a je-li povolena inicializace prohlížeče prostřednictvím nastavení allowBrowserInvocation v souboru
deskriptoru aplikace). Metoda má následující parametry:
Parametr
Popis
appID
ID aplikace pro aplikaci, která má být spuštěna. Podrobnosti viz „id“ na stránce 223.
pubID
ID vydavatele pro aplikaci, která má být spuštěna. Podrobnosti viz „publisherID“ na stránce 232. Pokud
uvedená aplikace neobsahuje ID vydavatele, nastavte jako parametr pubID prázdný řetězec (“”).§
arguments
Pole argumentů, které budou předány aplikaci. Objekt NativeApplication aplikace odešle událost
BrowserInvokeEvent, která má vlastnost argumentů nastavenou na toto pole. Pro argumenty jsou
rozpoznávány pouze alfanumerické znaky. Pokud potřebujete předat jiné hodnoty, doporučujeme použít
schéma kódování.
Metoda launchApplication() může operovat pouze tehdy, je-li volána v objektu pro zpracování události pro
událost uživatele, například klepnutí myší.
Metoda launchApplication() vyvolá chybu, jestliže není v prohlížeči nainstalována požadovaná verze přehrávače
Flash Player (verze 9 aktualizace 3 v systémech Windows a Mac OS nebo verze 10 v systému Linux).
Jestliže je element allowBrowserInvocation nastaven v souboru deskriptoru aplikace na false, volání metody
launchApplication() nepřinese žádné výsledky.
Poslední aktualizace 31.8.2016
254
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Rozhraní API integrovaného prohlížeče AIR.SWF
Před poskytnutím uživateli rozhraní pro spuštění aplikace si můžete přát volat metodu getApplicationVersion() v
souboru air.swf. Podrobnosti naleznete v tématu „Kontrola z webové stránky, zda je aplikace AIR nainstalována.“ na
stránce 251.
Je-li aplikace iniciována prostřednictvím funkce iniciace prohlížeče, objekt aplikace NativeApplication odešle objekt
BrowserInvokeEvent. Podrobnosti jsou popsány v tématu Vyvolání aplikace AIR z prohlížeče (pro vývojáře
používající jazyk ActionScript) nebo Vyvolání aplikace AIR z prohlížeče (pro vývojáře používající jazyk HTML).
Při použití funkce vyvolání z prohlížeče je vhodné dobře zvážit možné dopady na zabezpečení. Tyto dopady jsou
popsány v tématech Vyvolání aplikace AIR z prohlížeče (pro vývojáře používající jazyk ActionScript) a Vyvolání
aplikace AIR z prohlížeče (pro vývojáře používající jazyk HTML).
Jakmile aplikace běží, může komunikovat s obsahem SWF v prohlížeči pomocí třídy LocalConnection. Další
informace naleznete v tématu Komunikace s ostatními instancemi aplikací Flash Player a AIR (pro vývojáře
používající jazyk ActionScript) nebo Komunikace s ostatními instancemi aplikací Flash Player a AIR (pro vývojáře
používající jazyk HTML).
Poznámka: Od verze prostředí AIR 1.5.3 se ID vydavatele nepoužívá. ID vydavatele již není k aplikacím přiřazováno
automaticky. Z důvodu zpětné kompatibility mohou mít aplikace i nadále zadáno ID vydavatele.
Poslední aktualizace 31.8.2016
255
Kapitola 17: Aktualizace aplikací AIR
Uživatelé mohou instalovat nebo aktualizovat aplikaci AIR dvojím kliknutím na soubor AIR v počítači nebo z
prohlížeče (pomocí funkce hladké instalace). Správu instalace zajišťuje instalátor Adobe® AIR®, který upozorní
uživatele, zda se chystá aktualizovat již existující aplikaci.
Pomocí třídy Updater se však může instalovaná aplikace aktualizovat na novou verzi i sama. (Instalovaná aplikace umí
zjistit, zda je dostupná nová verze ke stažení a instalaci.) Třída Updater zahrnuje metodu update(), která umožňuje
vyhledat soubor AIR v počítači uživatele a aktualizovat jej na příslušnou verzi. Chcete-li použít třídu Updater, je třeba
aplikace zabalit jako soubor AIR. Aplikace zabalené jako nativní spustitelné soubory nebo balíčky by měly využít
možnosti aktualizace poskytované nativní platformou.
ID aplikace i ID vydavatele aktualizačního souboru AIR se musí shodovat s aplikací, která má být aktualizována. ID
vydavatele je odvozeno od podpisového certifikátu, což znamená, že aktualizace i aplikace, která má být aktualizována,
musí být podepsány stejným certifikátem.
Pro aplikaci AIR 1.5.3 soubor deskriptoru aplikace obsahuje element <publisherID>. Tento element musíte použít,
pokud existuje více verzí aplikace vyvinutých pomocí aplikace AIR 1.5.2 nebo starší. Další informace naleznete v části
„publisherID“ na stránce 232.
Od verze AIR 1.1 a novější můžete migrovat aplikaci, chcete-li použít nový podpisový certifikát kódu. Migrování
aplikace pro použití nového podpisu zahrnuje podepsání aktualizačního souboru AIR novým i původním
certifikátem. Migrace certifikátu je nevratný proces. Po migraci budou jako aktualizace stávající instalace rozpoznány
pouze soubory AIR podepsané novým certifikátem (nebo oběma certifikáty).
Správa aktualizací aplikací může být složitá. Prostředí AIR 1.5 obsahuje nový aktualizační rámec pro aplikace
AdobeAIR. Tento rámec poskytuje rozhraní API, pomocí kterých mohou vývojáři lépe zajišťovat dobré aktualizační
možnosti v aplikacích AIR.
Pomocí migrace certifikátu můžete změnit certifikát s vlastním podpisem na komerční podpisový certifikát kódu nebo
změnit jeden certifikát s vlastním podpisem nebo komerční certifikát na jiný. Jestliže neprovedete migraci certifikátu,
stávající uživatelé budou muset před instalací nové verze nejprve odebrat aktuální verzi vaší aplikace. Další informace
naleznete v části „Změna certifikátů“ na stránce 191.
Je vhodné do aplikace zahrnout mechanismus aktualizace. Pokud vytvoříte novou verzi aplikace, mechanismus
aktualizace může vyzvat uživatele k instalaci nové verze.
Instalátor aplikace vytvoří soubory protokolu po nainstalování, aktualizaci nebo odstranění aplikace AIR. Nastanouli během instalace nějaké potíže, tyto protokoly vám pomohou stanovit příčinu. Viz Installation logs (Instalační
protokoly).
Poznámka: Nové verze běhového modulu Adobe AIR mohou obsahovat aktualizované verze modulu WebKit.
Aktualizovaná verze modulu WebKit může vést k neočekávaným změnám v obsahu HTML v nainstalované aplikaci
AIR. Tyto změny mohou vyžadovat, abyste aplikaci aktualizovali. Mechanismus aktualizace může uživatele informovat
o nové verzi aplikace. Další informace naleznete v tématu O prostředí HTML (pro vývojáře používající jazyk
ActionScript) nebo O prostředí HTML (pro vývojáře používající jazyk HTML).
Poslední aktualizace 31.8.2016
256
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
O aktualizaci aplikací
Třída Updater (v balíku flash.desktop) obsahuje jednu metodu, update(), kterou můžete použít k aktualizaci právě
spuštěné aplikace jinou verzí. Má-li například uživatel verzi souboru AIR („Sample_App_v2.air“) umístěnou na ploše,
aplikaci aktualizuje následující kód.
Příklad jazyka ActionScript:
var updater:Updater = new Updater();
var airFile:File = File.desktopDirectory.resolvePath("Sample_App_v2.air");
var version:String = "2.01";
updater.update(airFile, version);
Příklad jazyka JavaScript:
var updater = new air.Updater();
var airFile = air.File.desktopDirectory.resolvePath("Sample_App_v2.air");
var version = "2.01";
updater.update(airFile, version);
Než může aplikace třídu Updater použít, musí uživatel nebo aplikace stáhnout do počítače aktualizovanou verzi
souboru AIR. Další informace naleznete v tématu „Stažení souboru AIR do počítače uživatele“ na stránce 258.
Výsledky volání metody Updater.update()
Když aplikace při běhu vyvolá metodu update(), chod programu ukončí aplikaci a poté se pokusí instalovat novou
verzi ze souboru AIR. Chod programu zkontroluje, zda se ID aplikace a ID vydavatele určená v souboru AIR shodují
s ID aplikace a ID vydavatele pro volání metody update() dané aplikace. (Informace o ID aplikace a ID vydavatele
naleznete v tématu „Soubory deskriptorů aplikací AIR“ na stránce 202.) Také zkontroluje, zda se řetězec verze shoduje
s řetězcem version předaným metodě update(). Je-li instalace úspěšně dokončena, otevře chod programu novou
verzi aplikace. Jinak (pokud nebyla instalace dokončena) se znovu otevře stávající verze aplikace – ta, která byla na
počítači před instalací.
V systému Mac OS musí mít uživatel pro instalaci aktualizované verze aplikace odpovídající systémová práva k
instalaci adresáře aplikace. V systémech Windows a Linux musí mít uživatel oprávnění správce.
Pokud aktualizovaná verze aplikace požaduje aktualizovanou verzi modulu runtime, tato nová verze se nainstaluje.
K aktualizaci běhového modulu musí mít uživatel administrátorská práva pro daný počítač.
Při testování aplikace pomocí ADL bude mít volání metody update() za následek výjimku běhu programu.
O řetězci verze
Řetězec, který je zadán jako parametr version metody update() se musí shodovat s řetězcem v atributu version
nebo versionNumber elementu souboru deskriptoru aplikace pro soubor AIR, který má být nainstalován. Zadání
parametru version je vyžadováno z důvodů zabezpečení. Požádáním aplikace o ověření čísla verze souboru AIR
zabráníte neúmyslnému nainstalování starší verze. (Starší verze aplikace by mohla obsahovat problém se
zabezpečením, který již byl vyřešen v aktuálně nainstalované aplikaci.) Aplikace by měla také porovnat řetězec verze v
souboru AIR s řetězcem verze v instalované aplikaci, aby se zabránilo útokům nižší kategorie.
Do verze prostředí AIR 2.5 může mít řetězec verze libovolný formát. Může mít například podobu „2.01“ nebo „version
2“. V prostředí AIR 2.5 a novějším musí řetězec verze představovat posloupnost až tři nejvýše trojmístných čísel
oddělených tečkami. Platná čísla verze tedy jsou například .0, 1.0 nebo 67.89.999. Před aktualizací aplikace je vhodné
ověřit řetězec verze aktualizace.
Poslední aktualizace 31.8.2016
257
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
Stahuje-li aplikace AIR soubor AIR přes web, je dobré mít nějaký mechanismus, pomocí kterého může webová služba
ohlásit aplikaci Adobe AIR právě stahované verze. Aplikace pak může tento řetězec použít jako parametr version
metody update(). Je-li soubor AIR získán nějakým jiným způsobem, při kterém je verze souboru AIR neznámá,
aplikace AIR může soubor AIR prověřit, aby určila informace o verzi. (Soubor AIR je komprimovaným archívem ZIP
a soubor deskriptoru aplikace je druhým záznamem v archívu.)
Podrobnosti o souboru deskriptoru aplikace naleznete v tématu „Soubory deskriptorů aplikací AIR“ na stránce 202.
Pracovní postup podepisování pro aktualizace aplikací
Nahodilé publikování aktualizací komplikuje úkoly spojené se správou více verzí aplikace a znesnadňuje sledování dat
vypršení platnosti certifikátů. Certifikáty mohou vypršet dříve, než publikujete aktualizaci.
Běhové prostředí Adobe AIR pracuje s aktualizacemi aplikací zveřejněných bez podpisu migrace jako s novými
aplikacemi. Uživatelé tedy musejí před instalací aktualizace odinstalovat stávající aplikaci AIR.
Chcete-li tento problém vyřešit, nahrajte každou aktualizovanou aplikaci s nejnovějším certifikátem na samostatnou
adresu URL pro nasazení. Zaveďte mechanismus, který vám připomene, že máte uplatnit podpisy migrace v době, kdy
se certifikát nachází v poskytnuté lhůtě 180 dní. Další informace naleznete v tématu „Podepisování aktualizované
verze aplikace AIR“ na stránce 197.
Informace o použití podpisů naleznete v části „Příkazy nástroje ADT“ na stránce 163.
Následující zásady zjednoduší proces použití podpisů migrace:
• Každou aktualizovanou aplikaci nahrajte na samostatnou adresu URL pro nasazení.
• Na stejnou adresu URL nahrajte také upgrade souboru deskriptoru XML a nejnovější certifikát pro aktualizaci.
• Podepište aktualizovanou aplikaci nejnovějším certifikátem.
• Pomocí certifikátu použitého k podepsání předchozí verze, jež je umístěna na jiné adrese URL, uplatněte u
aktualizované aplikace podpis migrace.
Poslední aktualizace 31.8.2016
258
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
Zobrazení vlastního uživatelského rozhraní pro
aktualizaci aplikace
AIR zahrnuje výchozí rozhraní pro aktualizaci:
Toto rozhraní je použito vždy, když uživatel poprvé instaluje na svém počítači nějakou verzi aplikace. Můžete však
definovat své vlastní rozhraní pro použití pro následné instance. Pokud vaše aplikace definuje vlastní rozhraní pro
aktualizaci, určete v souboru deskriptoru aplikace pro aktuálně instalovanou aplikaci element customUpdateUI:
<customUpdateUI>true</customUpdateUI>
Jakmile je aplikace instalována a uživatel otevře soubor AIR s ID aplikace a ID vydavatele, které se shodují s
instalovanou aplikací, chod programu otevře aplikaci a ne výchozí instalátor aplikace AIR. Další informace naleznete
v části „customUpdateUI“ na stránce 214.
Aplikace může rozhodnout, když je spuštěna (když objekt NativeApplication.nativeApplication odešle událost
load), zda provede aktualizaci aplikace (pomocí třídy Updater). Jestliže se rozhodne pro aktualizaci, může uživateli
předložit své vlastní instalační rozhraní (které se liší od standardního spuštěného rozhraní).
Stažení souboru AIR do počítače uživatele
Chcete-li použít třídu Updater, musí uživatel nebo aplikace nejprve uložit soubor AIR místně do počítače uživatele.
Poznámka: Prostředí AIR 1.5 obsahuje aktualizační rámec, pomocí kterého mohou vývojáři v aplikacích AIR zajišťovat
dobré aktualizační možnosti. Tento rámec můžete používat daleko jednodušeji, než když použijete přímo metodu
update() třídy Update. Podrobnosti naleznete v části „Použití aktualizačního rámce“ na stránce 262.
Následující kód načte soubor AIR z URL (http://example.com/air/updates/Sample_App_v2.air) a soubor AIR uloží do
ukládacího adresáře aplikace.
Příklad jazyka ActionScript:
Poslední aktualizace 31.8.2016
259
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
var urlString:String = "http://example.com/air/updates/Sample_App_v2.air";
var urlReq:URLRequest = new URLRequest(urlString);
var urlStream:URLStream = new URLStream();
var fileData:ByteArray = new ByteArray();
urlStream.addEventListener(Event.COMPLETE, loaded);
urlStream.load(urlReq);
function loaded(event:Event):void {
urlStream.readBytes(fileData, 0, urlStream.bytesAvailable);
writeAirFile();
}
function writeAirFile():void {
var file:File = File.applicationStorageDirectory.resolvePath("My App v2.air");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeBytes(fileData, 0, fileData.length);
fileStream.close();
trace("The AIR file is written.");
}
Příklad jazyka JavaScript:
var urlString = "http://example.com/air/updates/Sample_App_v2.air";
var urlReq = new air.URLRequest(urlString);
var urlStream = new air.URLStream();
var fileData = new air.ByteArray();
urlStream.addEventListener(air.Event.COMPLETE, loaded);
urlStream.load(urlReq);
function loaded(event) {
urlStream.readBytes(fileData, 0, urlStream.bytesAvailable);
writeAirFile();
}
function writeAirFile() {
var file = air.File.desktopDirectory.resolvePath("My App v2.air");
var fileStream = new air.FileStream();
fileStream.open(file, air.FileMode.WRITE);
fileStream.writeBytes(fileData, 0, fileData.length);
fileStream.close();
trace("The AIR file is written.");
}
Další informace viz:
• Pracovní postup pro čtení a zápis souborů (pro vývojáře používající jazyk ActionScript)
• Pracovní postup pro čtení a zápis souborů (pro vývojáře používající jazyk HTML)
Zjištění, zda je aplikace spuštěná poprvé
Jakmile jste aktualizovali aplikaci, možná budete chtít poskytnout uživateli zprávu „začínáme“ nebo „vítejte“. Po
spuštění aplikace zkontroluje, jestli je spuštěná poprvé, aby mohla určit, zda je třeba tuto zprávu zobrazit.
Poslední aktualizace 31.8.2016
260
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
Poznámka: Prostředí AIR 1.5 obsahuje aktualizační rámec, pomocí kterého mohou vývojáři v aplikacích AIR zajišťovat
dobré aktualizační možnosti. Tento rámec poskytuje metody, pomocí kterých lze snadno zkontrolovat, zda je verze
aplikace spuštěna poprvé. Podrobnosti naleznete v části „Použití aktualizačního rámce“ na stránce 262.
Jeden způsob, jak to udělat, je po inicializaci aplikace uložit soubor do ukládacího adresáře aplikace. Aplikace by při
každém svém spuštění měla zkontrolovat existenci tohoto souboru. Pokud daný soubor neexistuje, znamená to, že
aplikace je u aktuálního uživatele spuštěná poprvé. Pokud soubor existuje, aplikace již byla minimálně jednou
spuštěná. Jestliže soubor existuje a obsahuje starší číslo verze, než je aktuální číslo verze, pak víte, že uživatel má novou
verzi spuštěnou poprvé.
Tato koncepce je znázorněna v následujícím příkladu architektury Flex:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
title="Sample Version Checker Application"
applicationComplete="system extension()">
<mx:Script>
<![CDATA[
import flash.filesystem.*;
public var file:File;
public var currentVersion:String = "1.2";
public function system extension():void {
file = File.applicationStorageDirectory;
file = file.resolvePath("Preferences/version.txt");
trace(file.nativePath);
if(file.exists) {
checkVersion();
} else {
firstRun();
}
}
private function checkVersion():void {
var stream:FileStream = new FileStream();
stream.open(file, FileMode.READ);
var reversion:String = stream.readUTFBytes(stream.bytesAvailable);
stream.close();
if (reversion != currentVersion) {
log.text = "You have updated to version " + currentVersion + ".\n";
Poslední aktualizace 31.8.2016
261
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
} else {
saveFile();
}
log.text += "Welcome to the application.";
}
private function firstRun():void {
log.text = "Thank you for installing the application. \n"
+ "This is the first time you have run it.";
saveFile();
}
private function saveFile():void {
var stream:FileStream = new FileStream();
stream.open(file, FileMode.WRITE);
stream.writeUTFBytes(currentVersion);
stream.close();
}
]]>
</mx:Script>
<mx:TextArea ID="log" width="100%" height="100%" />
</mx:WindowedApplication>
Následující příklad demonstruje tuto koncepci v jazyce JavaScript.
<html>
<head>
<script src="AIRAliases.js" />
<script>
var file;
var currentVersion = "1.2";
function system extension() {
file = air.File.appStorageDirectory.resolvePath("Preferences/version.txt");
air.trace(file.nativePath);
if(file.exists) {
checkVersion();
} else {
firstRun();
}
}
function checkVersion() {
var stream = new air.FileStream();
stream.open(file, air.FileMode.READ);
var reversion = stream.readUTFBytes(stream.bytesAvailable);
stream.close();
if (reversion != currentVersion) {
window.document.getElementById("log").innerHTML
= "You have updated to version " + currentVersion + ".\n";
} else {
saveFile();
}
window.document.getElementById("log").innerHTML
+= "Welcome to the application.";
Poslední aktualizace 31.8.2016
262
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
}
function firstRun() {
window.document.getElementById("log").innerHTML
= "Thank you for installing the application. \n"
+ "This is the first time you have run it.";
saveFile();
}
function saveFile() {
var stream = new air.FileStream();
stream.open(file, air.FileMode.WRITE);
stream.writeUTFBytes(currentVersion);
stream.close();
}
</script>
</head>
<body onLoad="system extension()">
<textarea ID="log" rows="100%" cols="100%" />
</body>
</html>
Jestliže vaše aplikace ukládá data místně (např. do ukládacího adresáře aplikace), možná budete chtít při prvním
spuštění prověřit veškerá dříve uložená data (z předcházejících verzí).
Použití aktualizačního rámce
Správa aktualizací pro aplikace může být zdlouhavá. Aktualizační rámec pro aplikace AdobeAIRnabízí rozhraní API,
která vývojářům umožňují poskytovat v aplikacích AIR robustní schopnosti aktualizace. Aktualizační rámec pro
prostředí AIR zajišťuje pro vývojáře následující úlohy:
• Pravidelná kontrola aktualizací v určitém intervalu nebo podle požadavku uživatele
• Stahování souborů AIR (aktualizací) z webového zdroje
• Upozornění uživatele na první spuštění nově nainstalované verze
• Potvrzení, že uživatel chce zkontrolovat aktualizace
• Zobrazení informací o nové verzi aktualizace pro uživatele
• Zobrazení průběhu stahování a informací o chybách pro uživatele
Aktualizační rámec AIR nabízí pro vaše aplikace vlastní ukázkové rozhraní. To uživateli poskytuje základní informace
a možnosti konfigurace týkající se aktualizací aplikace. Vaše aplikace může také definovat vlastní uživatelské rozhraní,
které se má používat pro aktualizační rámec.
Aktualizační rámec AIR umožňuje ukládat informace o verzi aktualizace aplikace AIR do jednoduchých
konfiguračních souborů XML. Pokud nastavíte tyto konfigurační soubory tak, aby zahrnovaly základní kód, můžete u
většiny aplikací poskytnout koncovému uživateli kvalitní možnosti aktualizace.
Dokonce i když aktualizační rozhraní nepoužijete, zahrne prostředí Adobe AIR třídu Updater, kterou mohou aplikace
AIR použít k aktualizaci na nové verze. Třída Updater aplikacím umožňuje provést aktualizaci na verzi, která je
obsažena v souboru AIR v počítači uživatele. Správa aktualizací však může obsahovat více možností, než je pouze
nechat aplikaci aktualizovat na základě místně uloženého souboru AIR.
Poslední aktualizace 31.8.2016
263
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
Soubory aktualizačního rámce prostředí AIR
Aktualizační rámec prostředí AIR je uložen v adresáři frameworks/libs/air sady AIR 2 SDK. Ten obsahuje následující
soubory:
• applicationupdater.swc – Definuje základní funkce aktualizační knihovny, je určen k použití v jazyce ActionScript.
Tato verze neobsahuje žádné uživatelské rozhraní.
• applicationupdater.swf – Definuje základní funkce aktualizační knihovny, je určen k použití v jazyce JavaScript.
Tato verze neobsahuje žádné uživatelské rozhraní.
• applicationupdater_ui.swc – Definuje základní funkce aktualizační knihovny verze Flex 4, obsahuje uživatelské
rozhraní, které může vaše aplikace použít k zobrazení možností aktualizace.
• applicationupdater_ui.swf – Definuje základní funkce aktualizační knihovny verze JavaScript, obsahuje uživatelské
rozhraní, které může vaše aplikace použít k zobrazení možností aktualizace.
Další informace naleznete v těchto částech:
• „Nastavení vývojového prostředí Flex“ na stránce 263
• „Zahrnutí souborů rámce do aplikací AIR založených na jazyce HTML“ na stránce 263
• „Základní příklad: Použití verze ApplicationUpdaterUI“ na stránce 264
Nastavení vývojového prostředí Flex
Soubory SWC v adresáři frameworks/libs/air sady AIR 2 SDK definují třídy, které lze použít ve vývojovém prostředí
Flex a Flash.
Chcete-li používat aktualizační rámec při kompilování pomocí sady Flex SDK, zahrňte do volání kompilátoru amxmlc
buď soubor ApplicationUpdater.swc nebo ApplicationUpdater_UI.swc. V následujícím příkladě načítá kompilátor
soubor ApplicationUpdater.swc do podadresáře lib adresáře sady Flex SDK:
amxmlc -library-path+=lib/ApplicationUpdater.swc
-- myApp.mxml
V následujícím příkladě načítá kompilátor soubor ApplicationUpdater_UI.swc do podadresáře lib adresáře sady Flex SDK:
amxmlc -library-path+=lib/ApplicationUpdater_UI.swc
-- myApp.mxml
Pokud při vývoji používáte aplikaci Flex Builder, přidejte v dialogovém okně Vlastnosti do nastavení cesty vytvoření
Flex na záložce Cesta knihovny soubor SWC.
Nezapomeňte soubory SWC zkopírovat do adresáře, na který budete odkazovat v kompilátoru amxmlc (pomocí sady
Flex SDK) nebo v aplikaci Flash Builder.
Zahrnutí souborů rámce do aplikací AIR založených na jazyce HTML
Adresář aktualizačního rámce frameworks/html obsahuje tyto soubory:
• applicationUpdater.swf – Definuje základní funkce aktualizační knihovny, neobsahuje žádné uživatelské rozhraní.
• applicationUpdater_UI.swf – Definuje základní funkce aktualizační knihovny, obsahuje uživatelské rozhraní, které
může vaše aplikace použít k zobrazení možností aktualizace.
Kód jazyka JavaScript v aplikacích AIR může používat třídy, které jsou definovány v souborech SWF.
Chcete-li používat aktualizační rámec, vložte do adresáře (nebo podadresáře) aplikace soubor ApplicationUpdater.swf
nebo ApplicationUpdater_UI.swf. Potom do souboru HTML, který bude tento rámec (v jazyce JavaScript) používat,
vložte tag script načítající tento soubor:
<script src="applicationUpdater.swf" type="application/x-shockwave-flash"/>
Poslední aktualizace 31.8.2016
264
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
K načtení souboru applicationUpdater_UI.swf můžete použít také tento tag script:
<script src="applicationupdater_ui.swf" type="application/x-shockwave-flash"/>
Rozhraním API, která jsou definována v těchto dvou souborech, se věnuje zbývající část tohoto dokumentu.
Základní příklad: Použití verze ApplicationUpdaterUI
Verze ApplicationUpdaterUI aktualizačního rámce poskytuje základní rozhraní, které můžete snadno využívat ve své
aplikaci. Následuje základní příklad.
Nejdříve vytvořte aplikaci AIR, která volá aktualizační rámec:
1 Pokud je vaše aplikace AIR založena na jazyce HTML, načtěte soubor applicationupdaterui.swf:
<script src="ApplicationUpdater_UI.swf" type="application/x-shockwave-flash"/>
2 Konkretizujte v programové logice aplikace AIR objekt ApplicationUpdaterUI.
V jazyku ActionScript použijte následující kód:
var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();
V jazyku JavaScript použijte následující kód:
var appUpdater = new runtime.air.update.ApplicationUpdaterUI();
Tento kód bude možná potřeba přidat do inicializační funkce, která se spouští při načtení aplikace.
3 Vytvořte textový soubor s názvem „updateConfig.xml“ a do tohoto souboru přidejte následující kód:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">
<url>http://example.com/updates/update.xml</url>
<delay>1</delay>
</configuration>
Upravte element URL souboru updateConfig.xml tak, aby odpovídal konečnému umístění souboru deskriptoru
aktualizace na webovém serveru (viz následující postup).
Hodnota delay představuje počet dnů, po které aplikace mezi kontrolami aktualizaci čeká.
4 Přidejte soubor updateConfig.xml do adresáře projektu aplikace AIR.
5 Objekt nástroje updater nechte odkazovat na soubor updateConfix.xml a volejte metodu initialize() objektu.
V jazyku ActionScript použijte následující kód:
appUpdater.configurationFile = new File("app:/updateConfig.xml");
appUpdater.initialize();
V jazyku JavaScript použijte následující kód:
appUpdater.configurationFile = new air.File("app:/updateConfig.xml");
appUpdater.initialize();
6 Vytvořte druhou verzi prostředí AIR, která má jinou verzi než první prostředí. (Verze je určena v souboru
deskriptoru aplikace v elementu version.)
V dalším kroku přidejte tuto verzi aktualizace aplikace AIR na webový server:
1 Umístěte verzi aktualizace souboru AIR na webový server.
2 Vytvořte textový soubor s názvem „updateDescriptor.2.5.xml“ a přidejte do něj následující obsah:
Poslední aktualizace 31.8.2016
265
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
<versionNumber>1.1</versionNumber>
<url>http://example.com/updates/sample_1.1.air</url>
<description>This is the latest version of the Sample application.</description>
</update>
Upravte elementy versionNumber, URL a description souboru updateDescriptor.xml tak, aby odpovídaly
souboru aktualizace AIR. Tento formát deskriptoru aktualizace používají aplikace pomocí aktualizačního rámce
obsaženého v sadě AIR 2.5 SDK (a novějších).
3 Vytvořte textový soubor s názvem „updateDescriptor.1.0.xml“ a přidejte do něj následující obsah:
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
<version>1.1</version>
<url>http://example.com/updates/sample_1.1.air</url>
<description>This is the latest version of the Sample application.</description>
</update>
Upravte elementy version, URL a description souboru updateDescriptor.xml tak, aby odpovídaly souboru
aktualizace AIR. Tento formát deskriptoru aktualizace používají aplikace pomocí aktualizačního rámce
obsaženého v sadě AIR 2 SDK (a starších).
Poznámka: Vytvoření tohoto druhého souboru deskriptoru aktualizace je nezbytné pouze v případě, že podporujete
aktualizace aplikací vytvořených v prostředích AIR starších než verze 2.5.
4 Soubory updateDescriptor.2.5.xml a updateDescriptor.1.0.xml přidejte do adresáře webového serveru, který
obsahuje soubor aktualizace aplikace AIR.
I když se jedná pouze o základní příklad, poskytuje základní funkce, které jsou pro většinu aplikací dostačující.
Zbývající části tohoto dokumentu popisují, jak používat aktualizační rámec způsobem, který nejlépe vyhoví vašim
potřebám.
Další příklad použití aktualizačního rámce představuje následující ukázková aplikace ve středisku pro vývojáře
v prostředí Adobe AIR:
• Aktualizační rámec v aplikaci Flash (http://www.adobe.com/go/learn_air_qs_update_framework_flash_cz)
Aktualizace na verzi AIR 2.5
Protože ve verzi AIR 2.5 se změnila pravidla pro přidělování čísel verzí aplikacím, nelze pomocí aktualizačního rámce
AIR 2 analyzovat informace o verzi v deskriptoru aplikace AIR 2.5. Tato nekompatibilita znamená, že PŘEDTÍM, než
aktualizujete aplikaci pro používání sady AIR 2.5 SDK, je nutné ji nejprve aktualizovat tak, aby používala nový
aktualizační rámec. Aktualizace aplikace na verzi AIR 2.5 nebo novější z libovolné verze prostředí AIR starší než 2.5
tedy vyžaduje DVĚ aktualizace. První aktualizace musí použít obor názvů prostředí AIR 2 a zahrnuje knihovnu
aktualizačního rámce AIR 2.5 (můžete vytvořit balíček aplikace pomocí sady AIR 2.5 SDK). Druhá aktualizace může
využít obor názvů prostředí AIR 2.5 a zahrne nové funkce vaší aplikace.
Můžete také využít meziaktualizace, která neprovede žádnou akci vyjma aktualizace aplikace AIR 2.5 přímo pomocí
třídy Updater.
Poslední aktualizace 31.8.2016
266
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
Následující příklad ukazuje, jak aktualizovat aplikaci z verze 1.0 na 2.0. Verze 1.0 přitom používá starý obor názvů 2.0.
Verze 2.0 používá obor názvů 2.5 a obsahuje nové funkce, které jsou implementovány pomocí rozhraní API prostředí
AIR 2.5.
1 Vytvořte meziverzi aplikace, označenou jako 1.0.1, která bude vycházet z verze 1.0.
a Při tvorbě aplikace použijte rámec AIR 2.5 Application Updater.
Poznámka: U aplikací AIR založených na technologii Flash použijte soubor applicationupdater.swc nebo
applicationupdater_ui.swc, u aplikací AIR založených na jazyce HTML pak soubor
applicationupdater.swf nebo applicationupdater_ui.swf.
b Vytvořte soubor deskriptoru aktualizace pro verzi 1.0.1 pomocí starého oboru názvů a verze, jak je popsáno
dále:
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.0">
<version>1.0.1</version>
<url>http://example.com/updates/sample_1.0.1.air</url>
<description>This is the intermediate version.</description>
</update>
2 Vytvořte verzi 2.0 aplikace, která bude používat rozhraní API prostředí AIR 2.5 a obor názvů 2.5.
3 Vytvořte deskriptor aktualizace pro aktualizaci aplikace z verze 1.0.1 na verzi 2.0.
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
<version>2.0</version>
<url>http://example.com/updates/sample_2.0.air</url>
<description>This is the intermediate version.</description>
</update>
Definování souborů deskriptoru aktualizace a přidání souboru AIR na webový
server
Při používání aktualizačního rámce AIR definujete základní informace o dostupné aktualizaci v souborech
deskriptoru aktualizace, jež se ukládají na webový server. Soubor deskriptoru aktualizace je jednoduchý soubor XML.
Aktualizační rámec obsažený v aplikaci pomocí kontroly tohoto souboru zjišťuje, zda byla nahrána nová verze.
Formát souboru deskriptoru aktualizace se v prostředí AIR 2.5 změnil. Nový formát používá odlišný obor názvů.
Původní obor názvů je http://ns.adobe.com/air/framework/update/description/1.0. Obor názvů prostředí AIR 2.5
http://ns.adobe.com/air/framework/update/description/2.5.
Aplikace AIR vytvořené ve verzích starších než 2.5 dokážou číst pouze deskriptor aktualizace verze 1.0. Aplikace AIR
vytvořené pomocí aktualizačního rámce obsaženého ve verzí AIR 2.5 nebo novější dokážou číst pouze deskriptor
aktualizace verze 2.5. Vzhledem k této nekompatibilitě verzí je často nutné vytvořit dva soubory deskriptoru
aktualizace. Logika aktualizace ve verzi aplikace pro prostředí AIR 2.5 musí stahovat deskriptor aktualizace, který
používá nový formát. Starší verze aplikace AIR musejí i nadále používat původní formát. Oba soubory je třeba upravit
pro každou aktualizaci, kterou vydáte (dokud nezastavíte podporu verzí vytvořených před uvedením prostředí AIR 2.5).
Soubor deskriptoru aktualizace obsahuje následující data:
•
versionNumber – Nová verze aplikace AIR. Element versionNumber použijte v deskriptorech aktualizace, jež
slouží k aktualizaci aplikací AIR 2.5. Hodnota musí být stejný řetězec, jaký se používá v elementuversionNumber
nového souboru deskriptoru aplikace AIR. Pokud číslo verze v souboru deskriptoru aktualizace neodpovídá číslu
verze souboru aktualizace AIR, vyvolá aktualizační rámec výjimku.
Poslední aktualizace 31.8.2016
267
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
•
version – Nová verze aplikace AIR. Element version v deskriptorech aktualizace slouží k aktualizaci aplikací
vytvořených před uvedením prostředí AIR 2.5. Hodnota musí být stejný řetězec, jaký je použit v elementu version
nového souboru deskriptoru aplikace AIR. Pokud verze v souboru deskriptoru aktualizace neodpovídá verzi
souboru aktualizace AIR, vyvolá aktualizační rámec výjimku.
•
versionLabel – Řetězec verze ve formátu čitelném pro člověka, který je určen k zobrazování uživatelům. Parametr
versionLabel je volitelný, ale lze jej zadat pouze v souborech deskriptoru aktualizace ve verzi 2.5. Použijte jej v
případě, že používáte parametr versionLabelv deskriptoru aplikace, a nastavte jej na tutéž hodnotu.
•
url – Umístění souboru aktualizace AIR. Toto je soubor, který obsahuje verzi aktualizace aplikace AIR.
•
description – Podrobný popis nové verze. Tyto informace je možné během procesu aktualizace zobrazit uživateli.
Elementy version a url jsou povinné. Element description je volitelný.
Zde je ukázkový soubor deskriptoru aktualizace ve verzi 2.5:
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
<versionNumber>1.1.1</versionNumber>
<url>http://example.com/updates/sample_1.1.1.air</url>
<description>This is the latest version of the Sample application.</description>
</update>
A zde je ukázkový soubor deskriptoru aktualizace ve verzi 1.0:
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
<version>1.1.1</version>
<url>http://example.com/updates/sample_1.1.1.air</url>
<description>This is the latest version of the Sample application.</description>
</update>
Pokud chcete definovat tag description pomocí více jazyků, použijte více elementů text definujících atribut lang:
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
<versionNumber>1.1.1</versionNumber>
<url>http://example.com/updates/sample_1.1.1.air</url>
<description>
<text xml:lang="en">English description</text>
<text xml:lang="fr">French description</text>
<text xml:lang="ro">Romanian description</text>
</description>
</update>
Umístěte soubor deskriptoru aplikace i soubor aktualizace AIR na webový server.
Adresář templates obsažený v deskriptoru aktualizace obsahuje ukázkové soubory deskriptoru aktualizace, které
obsahují jednojazyčné i vícejazyčné verze.
Konkretizace objektu nástroje updater
Až načtete aktualizační rámec AIR do kódu (viz části „Nastavení vývojového prostředí Flex“ na stránce 263 a
„Zahrnutí souborů rámce do aplikací AIR založených na jazyce HTML“ na stránce 263), je třeba konkretizovat objekt
nástroje updater tak, jak vidíte níže.
Příklad jazyka ActionScript:
var appUpdater:ApplicationUpdater = new ApplicationUpdater();
Poslední aktualizace 31.8.2016
268
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
Příklad jazyka JavaScript:
var appUpdater = new runtime.air.update.ApplicationUpdater();
Předchozí kód používá třídu ApplicationUpdater (která neposkytuje žádné uživatelské rozhraní). Pokud chcete
používat třídu ApplicationUpdaterUI (která uživatelské rozhraní poskytuje), použijte následující kód.
Příklad jazyka ActionScript:
var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();
Příklad jazyka JavaScript:
var appUpdater = new runtime.air.update.ApplicationUpdaterUI();
Zbývající ukázky kódu v tomto dokumentu předpokládají, že jste konkretizovali objekt nástroje updater s názvem
appUpdater.
Konfigurace nastavení aktualizace
Verze ApplicationUpdater i ApplicationUpdaterUI lze konfigurovat prostřednictvím konfiguračního souboru
dodaného s aplikací nebo prostřednictvím kódu jazyků ActionScript nebo JavaScript v aplikaci.
Definice nastavení aktualizace v konfiguračním souboru XML
Konfigurační soubor aktualizace je soubor ve formátu XML. Obsahuje následující elementy:
•
updateURL – Řetězec. Představuje umístění deskriptoru aktualizace na vzdáleném serveru. Je povolena jakákoli
platná hodnota umístění URLRequest. Je třeba prostřednictvím konfiguračního souboru nebo skriptu definovat
vlastnost updateURL (další informace v tématu „Definování souborů deskriptoru aktualizace a přidání souboru
AIR na webový server“ na stránce 266). Tuto vlastnost musíte definovat dříve, než začnete nástroj updater používat
(než voláte metodu initialize() objektu nástroje updater popsanou v části „Inicializace aktualizačního rámce“
na stránce 270).
•
delay – Číslo. Představuje časové období kontroly aktualizací vyjádřené ve dnech (jsou povoleny hodnoty typu
0.25). Hodnota 0 (výchozí) určuje, že nástroj updater pravidelnou automatickou kontrolu neprovádí.
Kromě elementů updateURL a delay může konfigurační soubor pro verzi ApplicationUpdaterUI obsahovat i
následující elementy:
•
defaultUI: Seznam elementů dialog. Každý element dialog má atribut name, který odpovídá dialogovému oknu
v uživatelském rozhraní. Každý element dialog má atribut visible, který definuje, zda je dialogové okno
viditelné. Výchozí hodnota je true. Atribut name může nabývat následujících hodnot:
•
"checkForUpdate" – Odpovídá dialogovým oknům Check for Update (Kontrola aktualizací), No Update
(Žádné aktualizace) a Update Error (Chyba aktualizace).
•
"downloadUpdate" – Odpovídá dialogovému oknu Download Update (Stáhnutí aktualizace).
•
"downloadProgress" – Odpovídá dialogovým oknům Download Progress (Průběh stahování) a Download
Error (Chyba stahování).
•
•
"installUpdate" – Odpovídá dialogovému oknu Install Update (Instalace aktualizace).
•
"fileUpdate" – Odpovídá dialogovým oknům File Update (Aktualizace souboru), File No Update (Soubor bez
aktualizace) a File Error (Chyba souboru).
"unexpectedError" – Odpovídá dialogovému oknu Unexpected Error (Neočekávaná chyba).
Pokud jsou nastaveny na false, odpovídající dialogové okno se během postupu aktualizace neobjeví.
Poslední aktualizace 31.8.2016
269
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
Zde je příklad konfiguračního souboru pro rámec ApplicationUpdater:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">
<url>http://example.com/updates/update.xml</url>
<delay>1</delay>
</configuration>
Zde je příklad konfiguračního souboru pro rámec ApplicationUpdaterUI, který obsahuje definici pro element
defaultUI:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">
<url>http://example.com/updates/update.xml</url>
<delay>1</delay>
<defaultUI>
<dialog name="checkForUpdate" visible="false" />
<dialog name="downloadUpdate" visible="false" />
<dialog name="downloadProgress" visible="false" />
</defaultUI>
</configuration>
Ukažte vlastností configurationFile na umístění tohoto souboru:
Příklad jazyka ActionScript:
appUpdater.configurationFile = new File("app:/cfg/updateConfig.xml");
Příklad jazyka JavaScript:
appUpdater.configurationFile = new air.File("app:/cfg/updateConfig.xml");
Adresář templates aktualizačního rámce obsahuje ukázkový konfigurační soubor config-template.xml.
Definice kódu jazyka ActionScript nebo JavaScript pro nastavení aktualizace
Tyto parametry konfigurace lze také nastavit pomocí kódu v aplikaci (viz následující příklad):
appUpdater.updateURL = " http://example.com/updates/update.xml";
appUpdater.delay = 1;
Objekt nástroje updater má vlastnosti updateURL a delay. Tyto vlastnosti definují stejná nastavení jako elementy
updateURL a delay v konfiguračním souboru – URL souboru deskriptoru aktualizace a prodlevu kontroly aktualizací.
Pokud určíte konfigurační soubor a zároveň i nastavení v kódu, přepisují jakékoli vlastnosti nastavené pomocí kódu
příslušná nastavení v konfiguračním souboru.
Než nástroj updater použijete (než voláte metodu initialize() objektu nástroje updater popsanou v tématu
„Definování souborů deskriptoru aktualizace a přidání souboru AIR na webový server“ na stránce 266), je třeba
prostřednictvím konfiguračního souboru nebo skriptu definovat vlastnost updateURL (informace naleznete v tématu
„Inicializace aktualizačního rámce“ na stránce 270).
Rámec ApplicationUpdaterUI definuje tyto další vlastnosti objektu nástroje updater:
•
isCheckForUpdateVisible – Odpovídá dialogovým oknům Check for Update (Kontrola aktualizací), No Update
(Žádné aktualizace) a Update Error (Chyba aktualizace).
•
isDownloadUpdateVisible – Odpovídá dialogovému oknu Download Update (Stáhnutí aktualizace).
•
isDownloadProgressVisible – Odpovídá dialogovým oknům Download Progress (Průběh stahování) a
Download Error (Chyba stahování).
•
isInstallUpdateVisible – Odpovídá dialogovému oknu Install Update (Instalace aktualizace).
Poslední aktualizace 31.8.2016
270
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
•
isFileUpdateVisible – Odpovídá dialogovým oknům File Update (Aktualizace souboru), File No Update
(Soubor bez aktualizace) a File Error (Chyba souboru).
•
isUnexpectedErrorVisible – Odpovídá dialogovému oknu Unexpected Error (Neočekávaná chyba).
Každá vlastnost odpovídá jednomu nebo více dialogovým oknům v uživatelském rozhraní rámce
ApplicationUpdaterUI. Každá vlastnost je Booleovská hodnota; výchozí hodnota je true. Pokud jsou nastaveny na
false, odpovídající dialogová okna se během postupu aktualizace neobjeví.
Tyto vlastnosti dialogových oken potlačí nastavení v souboru konfigurace aktualizace.
Proces aktualizace
K dokončení procesu aktualizace musí aktualizační rámec AIR projít následujícími kroky:
1 Inicializace nástroje updater zkontroluje, zda byla v rámci definovaného časového období prodlevy provedena
kontrola aktualizace (viz část „Konfigurace nastavení aktualizace“ na stránce 268). Pokud má být provedena
kontrola aktualizace, aktualizační proces pokračuje.
2 Nástroj updater stáhne a interpretuje soubor deskriptoru aktualizace.
3 Nástroj updater stáhne soubor aktualizace AIR.
4 Nástroj updater nainstaluje aktualizovanou verzi aplikace.
Po dokončení každého jednotlivého kroku odesílá objekt nástroje updater příslušné události. Ve verzi
ApplicationUpdater můžete události označující úspěšné dokončení kroků tohoto procesu zrušit. Pokud jednu z těchto
událostí zrušíte, je zrušen i následující krok procesu. Ve verzi ApplicationUpdaterUI představuje nástroj updater
dialogová okna, pomocí kterých mohou uživatelé v každém kroku procesu vybrat, zda chtějí proces zrušit nebo zda
chtějí pokračovat.
Pokud událost zrušíte a chcete v procesu pokračovat, můžete volat metody objektu nástroje updater.
V průběhu procesu aktualizace zaznamenává verze nástroje updater ApplicationUpdater do vlastnosti currentState
aktuální stav procesu aktualizace. Tato vlastnost je nastavena na řetězec, který může nabývat těchto hodnot:
•
"UNINITIALIZED" – Nástroj updater nebyl inicializován.
•
"INITIALIZING" – Nástroj updater se právě inicializuje.
•
"READY" – Nástroj updater byl inicializován.
•
"BEFORE_CHECKING" – Nástroj updater ještě nezkontroloval soubor deskriptoru aktualizace.
•
"CHECKING" – Nástroj updater právě kontroluje soubor deskriptoru aktualizace.
•
"AVAILABLE" – Soubor deskriptoru nástroje updater je k dispozici.
•
"DOWNLOADING" – Nástroj updater právě stahuje soubor AIR.
•
"DOWNLOADED" – Nástroj updater stáhl soubor AIR.
•
"INSTALLING" – Nástroj updater právě instaluje soubor AIR.
•
"PENDING_INSTALLING" – Nástroj updater byl inicializován a existují neprovedené aktualizace.
Některé metody objektu nástroje updater se spouští pouze tehdy, pokud je nástroj updater v určitém stavu.
Inicializace aktualizačního rámce
Po nastavení vlastností konfigurace (viz část „Základní příklad: Použití verze ApplicationUpdaterUI“ na stránce 264)
inicializujte aktualizaci voláním metody initialize():
Poslední aktualizace 31.8.2016
271
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
appUpdater.initialize();
Tato metoda provádí následující kroky:
• Inicializuje aktualizační rámec, jakékoli neprovedené aktualizace nainstaluje synchronně na pozadí. Tuto metodu
je třeba volat při spuštění aplikace, protože při jejím volání může dojít k restartování aplikace.
• Zkontroluje, zda je k dispozici odložená aktualizace, a nainstaluje ji.
• Pokud se během procesu aktualizace vyskytne chyba, vymaže z ukládacího prostoru aplikace informace o souboru
a verzi aktualizace.
• Pokud prodleva již vypršela, spustí proces aktualizace. V opačném případě restartuje časovač.
Když voláte tuto metodu, může objekt nástroje updater odeslat následující událostí:
•
UpdateEvent.INITIALIZED – Odešle se při dokončení inicializace.
•
ErrorEvent.ERROR – Odešle se, když se během inicializace vyskytne chyba.
Při odeslání události UpdateEvent.INITIALIZED je proces aktualizace dokončen.
Voláte-li metodu initialize(), nástroj updater spustí proces aktualizace a dokončí všechny kroky na základě
nastavení prodlevy v časovači. Proces aktualizace ale můžete také kdykoli spustit voláním metody checkNow() objektu
nástroje updater:
appUpdater.checkNow();
Pokud je proces aktualizace již spuštěný, neprovede tato metoda žádnou akci. V opačném případě spustí proces
aktualizace.
Když voláte metodu checkNow() může objekt nástroje updater odeslat následující událost:
•
UpdateEvent.CHECK_FOR_UPDATE: Tato událost je odeslána těsně před tím, než se objekt pokusí stáhnout soubor
deskriptoru aktualizace.
Pokud událost checkForUpdate zrušíte, můžete volat metodu checkForUpdate() objektu nástroje updater (viz
následující část). Pokud tuto událost nezrušíte, pokračuje proces aktualizace ke kontrole souboru deskriptoru
aktualizace.
Správa procesu aktualizace ve verzi ApplicationUpdaterUI
Ve verzi ApplicationUpdaterUI mohou uživatelé prostřednictvím tlačítek Zrušit v dialogových oknech uživatelského
rozhraní tento proces zrušit. Proces aktualizace můžete také zrušit programaticky voláním metody cancelUpdate()
objektu ApplicationUpdaterUI.
Chcete-li určit, která dialogová okna nástroj updater zobrazuje, můžete nastavit vlastnosti objektu
ApplicationUpdaterUI nebo definovat elementy v konfiguračním souboru aktualizace. Podrobnosti naleznete v části
„Konfigurace nastavení aktualizace“ na stránce 268.
Správa procesu aktualizace ve verzi ApplicationUpdater
Chcete-li zrušit kroky procesu aktualizace, můžete volat metodu preventDefault() objektu událostí odeslaného
objektem ApplicationUpdater (viz část „Proces aktualizace“ na stránce 270). Pokud zrušíte výchozí chování, může
aplikace uživatelům zobrazit zprávu s dotazem, zda chtějí pokračovat.
Následující části popisují způsob, jak pokračovat v procesu aktualizace, když byl některý krok tohoto procesu zrušen.
Poslední aktualizace 31.8.2016
272
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
Stáhnutí a interpretace souboru deskriptoru aktualizace
Před začátkem procesu aktualizace (těsně před tím, než se nástroj updater pokusí stáhnout soubor deskriptoru
aktualizace) odešle objekt ApplicationUpdater událost checkForUpdate. Pokud zrušíte výchozí chování události
checkForUpdate, nástroj updater nestáhne soubor deskriptoru aktualizace. Pokud chcete v procesu aktualizace
pokračovat, volejte metodu checkForUpdate():
appUpdater.checkForUpdate();
Volání metody checkForUpdate() způsobí, že nástroj updater asynchronně stáhne a interpretuje soubor deskriptoru
aktualizace. Výsledkem volání metody checkForUpdate() je, že objekt nástroje updater může odeslat následující
události:
•
StatusUpdateEvent.UPDATE_STATUS – Nástroj updater úspěšně stáhnul a interpretoval soubor deskriptoru
aktualizace. Tato událost má následující vlastnosti:
•
available – Booleovská hodnota. Pokud je dostupná jiná verze, než jaká je verze stávající aplikace, je nastavena
na hodnotu true. V opačném případě (pokud je verze stejná) je nastavena na hodnotu false.
•
version – Řetězec. Verze souboru deskriptoru aplikace souboru aktualizace.
•
details – Pole. Pokud neexistují lokalizované verze popisu, vrací toto pole jako první element prázdný řetězec
("") a jako druhý element popis.
Pokud v souboru deskriptoru aktualizace existuje více verzí popisu, obsahuje toto pole více podpolí. Každé pole
má dva elementy. Prvním elementem je jazykový kód (například "en"), druhým je odpovídající popis pro tento
jazyk (řetězec). Další informace naleznete v tématu „Definování souborů deskriptoru aktualizace a přidání
souboru AIR na webový server“ na stránce 266.
•
StatusUpdateErrorEvent.UPDATE_ERROR – Došlo k chybě, nástroj updater nedokáže stáhnout nebo
interpretovat soubor deskriptoru aktualizace.
Stáhnutí souboru aktualizace AIR
Poté, co nástroj updater úspěšně stáhne a interpretuje soubor deskriptoru aktualizace, odešle objekt
ApplicationUpdater událost updateStatus. Výchozím chováním je spustit stahování, pokud je soubor aktualizace
dostupný. Pokud toto výchozí chování zrušíte a chcete v procesu aktualizace pokračovat, můžete volat metodu
downloadUpdate():
appUpdater.downloadUpdate();
Volání této metody způsobí, že nástroj Updater asynchronně stáhne verzi aktualizace souboru AIR.
Metoda downloadUpdate() může odesílat následující události:
•
UpdateEvent.DOWNLOAD_START – Bylo navázáno připojení k serveru. Pokud používáte knihovnu
ApplicationUpdaterUI, zobrazí tato událost dialogové okno s indikátorem průběhu umožňující sledovat průběh
stahování.
•
ProgressEvent.PROGRESS – Odesílá se pravidelně v průběhu stahování souboru.
•
DownloadErrorEvent.DOWNLOAD_ERROR – Odešle se, pokud dojde při připojování nebo stahování souboru
aktualizace k chybě. Odesílá se také pro neplatné stavy HTTP (jako je například hlášení informující o chybějícím
souboru „404 - File not found“). Tato událost má vlastnost errorID; tato vlastnost je tvořena celým číslem, které
definuje další informace o chybě. Další vlastnost subErrorID může obsahovat více informací o chybě.
•
UpdateEvent.DOWNLOAD_COMPLETE – Nástroj updater úspěšně stáhnul a interpretoval soubor deskriptoru
aktualizace. Pokud tuto událost nezrušíte, verze ApplicationUpdater pokračuje a nainstaluje verzi aktualizace. Ve
verzi ApplicationUpdaterUI se uživatelům zobrazí dialogové okno, kde mohou vybrat, zda chtějí pokračovat.
Poslední aktualizace 31.8.2016
273
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
Aktualizace aplikace
Když je stáhnutí souboru aktualizace dokončeno, odešle objekt ApplicationUpdater událost downloadComplete.
Pokud toto výchozí chování zrušíte a chcete v procesu aktualizace pokračovat, můžete volat metodu
installUpdate():
appUpdater.installUpdate(file);
Voláním této metody nainstalujete verzi aktualizace souboru AIR. Tato metoda obsahuje jeden parametr – file.
Jedná se o objekt File, který odkazuje na soubor AIR použitý pro aktualizaci.
Když voláte metodu installUpdate(), může pak objekt ApplicationUpdater odeslat událost beforeInstall:
•
UpdateEvent.BEFORE_INSTALL – Odešle se těsně před instalací aktualizace. Někdy je vhodné zabránit okamžité
instalaci aktualizace; uživatel tak může před pokračováním aktualizace dokončit stávající práci. Pokud voláte
metodu preventDefault() objektu Event, odložíte instalaci až do dalšího restartování počítače. Také nelze spustit
žádný další proces aktualizace (sem patří aktualizace inicializované voláním metody checkNow() nebo
pravidelnými kontrolami).
Instalace z libovolného souboru AIR
Chcete-li provést instalaci ze souboru AIR v počítači uživatele, nainstalujte verzi aktualizace voláním metody
installFromAIRFile():
appUpdater.installFromAIRFile();
Touto metodou nainstaluje nástroj updater verzi aktualizace aplikace ze souboru AIR.
Metoda installFromAIRFile() může odesílat následující události:
•
StatusFileUpdateEvent.FILE_UPDATE_STATUS – Odešle se poté, co verze ApplicationUpdater odeslaný soubor
úspěšně ověřila pomocí metody installFromAIRFile(). Tato událost má následující vlastnosti:
•
available – Pokud je dostupná jiná verze, než jaká je verze stávající aplikace, je nastavena na hodnotu true. V
opačném případě (pokud jsou verze stejné) je nastavena na hodnotufalse.
•
version – Řetězec představující novou dostupnou verzi.
•
path – Představuje nativní cestu souboru aktualizace.
Pokud je dostupná vlastnost objektu StatusFileUpdateEvent nastavena na hodnotu true, můžete tuto událost
zrušit. Pokud tuto událost zrušíte, zrušíte pokračování aktualizace. Chcete-li ve zrušené aktualizaci pokračovat,
volejte metodu installUpdate().
•
StatusFileUpdateErrorEvent.FILE_UPDATE_ERROR – Došlo k chybě; nástroj updater nedokáže aplikaci AIR
nainstalovat.
Zrušení procesu aktualizace
Pokud chcete proces aktualizace zrušit, volejte metodu cancelUpdate():
appUpdater.cancelUpdate();
Tato metoda zruší všechny neprovedené aktualizace, odstraní všechny zcela nestáhnuté soubory a restartuje časovač
pravidelných kontrol.
Pokud se objekt nástroje updater inicializuje, neprovede tato metoda žádnou akci.
Poslední aktualizace 31.8.2016
274
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Aktualizace aplikací AIR
Lokalizace rozhraní ApplicationUpdaterUI
Třída ApplicationUpdaterUI poskytuje pro proces aktualizace výchozí uživatelské rozhraní. Součástí tohoto rozhraní
jsou dialogová okna, která dávají uživatelům možnost tento proces spustit nebo zrušit a provádět související akce.
Element description souboru deskriptoru aktualizace umožňuje definovat popis aplikace ve více jazycích pomocí
více elementů text, které definují atributy lang (viz následující příklad):
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
<version>1.1a1</version>
<url>http://example.com/updates/sample_1.1a1.air</url>
<description>
<text xml:lang="en">English description</text>
<text xml:lang="fr">French description</text>
<text xml:lang="ro">Romanian description</text>
</description>
</update>
Aktualizační rámec používá popis, který nejlépe odpovídá lokalizačnímu řetězci koncového uživatele. Další informace
naleznete v části Definice souboru deskriptoru aktualizace a přidání souboru AIR na webový server.
Vývojáři pro prostředí Flex mohou nový jazyk přidat přímo do svazku "ApplicationUpdaterDialogs".
Vývojáři pro prostředí jazyka JavaScript mohou volat metodu addResources() objektu nástroje updater. Tato
metoda dynamicky přidává pro každý jazyk nový zdrojový svazek. Zdrojový svazek definuje pro jazyk lokalizované
řetězce. Tyto řetězce jsou použité v různých textových polích dialogových oken.
Vývojáři pro prostředí jazyka JavaScript mohou definovat místní řetězec použitý uživatelským rozhraním pomocí
vlastnosti localeChain třídy ApplicationUpdaterUI. Tuto vlastnost obvykle používají vývojáři pro prostředí jazyka
JavaScript (HTML). Vývojáři pro prostředí Flex mohou místní řetězec spravovat pomocí třídy ResourceManager.
Následující kód jazyka JavaScript například definuje zdrojové svazky pro rumunštinu a maďarštinu:
appUpdater.addResources("ro_RO",
{titleCheck: "Titlu", msgCheck: "Mesaj", btnCheck: "Buton"});
appUpdater.addResources("hu", {titleCheck: "Cím", msgCheck: "Üzenet"});
var languages = ["ro", "hu"];
languages = languages.concat(air.Capabilities.languages);
var sortedLanguages = air.Localizer.sortLanguagesByPreference(languages,
air.Capabilities.language,
"en-US");
sortedLanguages.push("en-US");
appUpdater.localeChain = sortedLanguages;
Podrobnosti naleznete v referenční příručce jazyka v popisu metody addResources() třídy ApplicationUpdaterUI.
Poslední aktualizace 31.8.2016
275
Kapitola 18: Prohlížení zdrojového kódu
Stejně jako mohou uživatelé prohlížet zdrojový kód pro stránku HTML ve webovém prohlížeči, mohou prohlížet
zdrojový kód aplikace AIR založené na HTML. Sada SDK aplikace Adobe® AIR® zahrnuje soubor AIRSourceViewer.js
v jazyce JavaScript, který lze použít v aplikaci pro snazší odhalení zdrojového kódu koncovým uživatelům.
Načtení, konfigurace a otevření prohlížeče Source
Viewer
Kód prohlížeče Source Viewer je začleněn v souboru AIRSourceViewer.js v jazyce JavaScript, který je obsažen
v adresáři rámců sady AIR SDK. Chcete-li použít prohlížeč Source Viewer ve své aplikaci, zkopírujte soubor
AIRSourceViewer.js do adresáře projektu aplikace a načtěte jej prostřednictvím tagu script do hlavního souboru
HTML v dané aplikaci:
<script type="text/javascript" src="AIRSourceViewer.js"></script>
Soubor AIRSourceViewer.js definuje třídu SourceViewer, do níž lze získat přístup z kódu JavaScript voláním funkce
air.SourceViewer.
Třída SourceViewer definuje tři metody: getDefault(), setup() a viewSource().
Metoda
Popis
getDefault()
Statická metoda. Vrací instanci objektu SourceViewer, pomocí níž lze volat ostatní metody.
setup()
Aplikuje nastavení konfigurace na prohlížeč Source Viewer. Podrobnosti naleznete v části „Konfigurace
prohlížeče Source Viewer“ na stránce 275.
viewSource()
Otevře nové okno, ve kterém může uživatel vyhledat a otevřít zdrojové soubory hostitelské aplikace.
Poznámka: Kód používající prohlížeč Source Viewer musí být v karanténě zabezpečení aplikace (v souboru v adresáři
aplikace).
Následující kód JavaScript například vytvoří instanci objektu Source Viewer a otevře okno prohlížeče Source Viewer
obsahující seznam všech zdrojových souborů:
var viewer = air.SourceViewer.getDefault();
viewer.viewSource();
Konfigurace prohlížeče Source Viewer
Metoda config() aplikuje daná nastavení na prohlížeč Source Viewer. Tato metoda přijímá jediný parametr:
configObject. Objekt configObject má vlastnosti definující nastavení konfigurace pro prohlížeč Source Viewer.
Tyto vlastnosti jsou default, exclude, initialPosition, modal, typesToRemove a typesToAdd.
default
Řetězec určující relativní cestu k počátečnímu souboru, který má být zobrazen v prohlížeči Source Viewer.
Následující kód JavaScript například otevře okno prohlížeče Source Viewer zobrazující soubor index.html jako
počáteční soubor:
Poslední aktualizace 31.8.2016
276
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Prohlížení zdrojového kódu
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.default = "index.html";
viewer.viewSource(configObj);
exclude
Pole řetězců určující soubory nebo adresáře, jež mají být vyloučeny ze seznamu v prohlížeči Source Viewer. Cesty se
vztahují k adresáři aplikace. Zástupné znaky nejsou podporovány.
Následující kód JavaScript například otevře okno prohlížeče Source Viewer obsahující seznam všech zdrojových
souborů kromě souboru AIRSourceViewer.js a souborů v podadresářích Obrazy a Zvuky.
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.exclude = ["AIRSourceViewer.js", "Images" "Sounds"];
viewer.viewSource(configObj);
initialPosition
Pole zahrnující dvě čísla, jež určují počáteční souřadnice x a y okna prohlížeče Source Viewer.
Následující kód JavaScript například otevře okno prohlížeče Source Viewer v souřadnicích obrazovky [40, 60] (X = 40,
Y = 60):
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.initialPosition = [40, 60];
viewer.viewSource(configObj);
modal
Booleovská hodnota udávající, zda má být okno prohlížeče Source Viewer modální (true) nebo nemodální (false).
Implicitně je okno prohlížeče Source Viewer modální.
Následující kód JavaScript například otevře okno prohlížeče Source Viewer, takže uživatel může interaktivně pracovat
s oknem prohlížeče Source Viewer i libovolnými okny aplikace:
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.modal = false;
viewer.viewSource(configObj);
typesToAdd
Pole řetězců určující typy souborů, jež mají být zahrnuty do seznamu v prohlížeči Source Viewer kromě začleněných
výchozích typů.
Prohlížeč Source Viewer standardně zobrazuje seznam následujících typů souborů:
• Textové soubory – TXT, XML, MXML, HTM, HTML, JS, AS, CSS, INI, BAT, PROPERTIES, CONFIG
• Obrazové soubory – JPG, JPEG, PNG, GIF
Není-li zadána žádná hodnota, jsou zahrnuty všechny výchozí typy (kromě typů definovaných ve vlastnosti
typesToExclude).
Následující kód JavaScript například otevře okno prohlížeče Source Viewer pro zahrnutí souborů VCF a VCARD:
Poslední aktualizace 31.8.2016
277
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Prohlížení zdrojového kódu
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.typesToAdd = ["text.vcf", "text.vcard"];
viewer.viewSource(configObj);
U každého typu souborů na seznamu je nutné určit „text“ (u typů textových souborů) nebo „obraz“ (u typů
obrazových souborů).
typesToExclude
Pole řetězců určující typy souborů, jež mají být vyloučeny z prohlížeče Source Viewer.
Prohlížeč Source Viewer standardně zobrazuje seznam následujících typů souborů:
• Textové soubory – TXT, XML, MXML, HTM, HTML, JS, AS, CSS, INI, BAT, PROPERTIES, CONFIG
• Obrazové soubory – JPG, JPEG, PNG, GIF
Následující kód JavaScript například otevře okno prohlížeče Source Viewer neobsahující soubory GIF a XML:
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.typesToExclude = ["image.gif", "text.xml"];
viewer.viewSource(configObj);
U každého typu souborů na seznamu je nutné určit „text" (u typů textových souborů) nebo „obraz" (u typů
obrazových souborů).
Otevření prohlížeče Source Viewer
Je vhodné začlenit element uživatelského rozhraní, například odkaz, tlačítko nebo příkaz nabídky, který po zvolení
uživatelem zavolá kód prohlížeče Source Viewer. Následující jednoduchá aplikace například otevře prohlížeč Source
Viewer, když uživatel klikne na odkaz:
<html>
<head>
<title>Source Viewer Sample</title>
<script type="text/javascript" src="AIRSourceViewer.js"></script>
<script type="text/javascript">
function showSources(){
var viewer = air.SourceViewer.getDefault();
viewer.viewSource()
}
</script>
</head>
<body>
<p>Click to view the source files.</p>
<input type="button"
onclick="showSources()"
value="View Source" />
</body>
</html>
Poslední aktualizace 31.8.2016
278
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Prohlížení zdrojového kódu
Uživatelské rozhraní prohlížeče Source Viewer
Když aplikace zavolá metodu viewSource() objektu SourceViewer, otevře aplikace AIR okno prohlížeče Source
Viewer. Toto okno zahrnuje seznam zdrojových souborů a adresářů (nalevo) a plochu pro zobrazení, která obsahuje
zdrojový kód pro vybraný soubor (napravo):
Adresáře jsou uvedeny v závorkách. Uživatel může kliknutím na závorku rozbalit nebo sbalit výpis adresáře.
Prohlížeč Source Viewer může zobrazit zdroj pro textové soubory s rozpoznanými příponami (např. HTML, JS, TXT,
XML a jiné) nebo pro obrazové soubory s rozpoznanými příponami obrazů (JPG, JPEG, PNG a GIF). Jestliže uživatel
vybere soubor, který nemá rozpoznanou příponu, zobrazí se chybová zpráva („Nelze načíst textový obsah z tohoto
typu souboru“).
Zdrojové soubory, které jsou vyloučeny pomocí metody setup(), nebudou na seznamu uvedeny (viz část „Načtení,
konfigurace a otevření prohlížeče Source Viewer“ na stránce 275).
Poslední aktualizace 31.8.2016
279
Kapitola 19: Ladění pomocí prohlížeče
Introspector HTML aplikace AIR
Sada SDK aplikace Adobe® AIR® zahrnuje soubor AIRIntrospector.js v jazyce JavaScript, který lze začlenit do aplikace
pro usnadnění ladění aplikací založených na jazyce HTML.
O prohlížeči Introspector aplikace AIR
Prohlížeč Introspector aplikace Adobe AIR v jazyce HTML/JavaScript (nazývaný Introspector HTML aplikace AIR)
poskytuje užitečné funkce, jež pomáhají při vývoji a ladění aplikací založených na jazyce HTML:
• Zahrnuje nástroj pro introspekci, pomocí něhož lze ukázat na element uživatelského rozhraní v aplikaci a zobrazit
jeho označení a vlastnosti DOM.
• Zahrnuje konzolu pro odesílání odkazů na objekty k introspekci a lze upravovat hodnoty vlastností a provádět kód
JavaScript. Rovněž lze serializovat objekty do konzoly, což omezuje úpravu dat. Text z konzoly je také možné
kopírovat a ukládat.
• Zahrnuje stromové zobrazení pro vlastnosti a funkce DOM.
• Umožňuje úpravu atributů a textových uzlů pro elementy DOM.
• Zobrazuje seznam vazeb, stylů CSS, obrazů a souborů JavaScript načtených v aplikaci.
• Umožňuje prohlížení počátečního zdroje HTML a aktuálního zdroje označení pro uživatelské rozhraní.
• Umožňuje přístup k souborům v adresáři aplikace. (Tato funkce je dostupná pouze pro konzolu Introspector
HTML aplikace AIR otevřenou pro aplikační karanténu. Není k dispozici pro konzoly otevřené pro obsah
neaplikační karantény.)
• Zahrnuje prohlížeč objektů XMLHttpRequest a jejich vlastností, včetně vlastností responseText a responseXML
(když jsou k dispozici).
• Ve zdrojovém kódu a zdrojových souborech lze vyhledávat odpovídající text.
Načtení kódu prohlížeč Introspector aplikace AIR
Kód prohlížeče Introspector aplikace AIR je začleněn v souboru AIRIntrospector.js v jazyce JavaScript, který je
obsažen v adresáři rámců sady AIR SDK. Chcete-li použít prohlížeč Introspector aplikace AIR ve své aplikaci,
zkopírujte soubor AIRIntrospector.js do adresáře projektu aplikace a načtěte jej prostřednictvím tagu script do
hlavního souboru HTML v dané aplikaci:
<script type="text/javascript" src="AIRIntrospector.js"></script>
Také tento soubor začleňte do každého souboru HTML, který odpovídá jiným nativním oknům v dané aplikaci.
Důležité: Soubor AIRIntrospector.js začleňte pouze při vývoji a ladění aplikace. Ve sbalené aplikaci AIR, kterou
distribuujete, jej odstraňte.
Soubor AIRIntrospector.js definuje třídu Console, do níž lze získat přístup z kódu JavaScript voláním funkce
air.Introspector.Console.
Poslední aktualizace 31.8.2016
280
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Ladění pomocí prohlížeče Introspector HTML aplikace AIR
Poznámka: Kód používající prohlížeč Introspector aplikace AIR musí být v karanténě zabezpečení aplikace (v souboru
v adresáři aplikace).
Prohlížení objektu na záložce Konzola
Třída Console definuje pět metod: log(), warn(), info(), error() a dump().
Každá z metod log(), warn(), info() a error() umožňuje odeslání objektu na záložku Konzola. Nejzákladnější
metodou je metoda log(). Následující kód odešle na záložku Konzola jednoduchý objekt znázorněný proměnnou test:
var test = "hello";
air.Introspector.Console.log(test);
Užitečnější je však odeslat na záložku Konzola složitý objekt. Následující stránka HTML například zahrnuje tlačítko
(btn1), jež volá funkci, která na záložku Konzola odešle samotný objekt button:
<html>
<head>
<title>Source Viewer Sample</title>
<script type="text/javascript" src="scripts/AIRIntrospector.js"></script>
<script type="text/javascript">
function logBtn()
{
var button1 = document.getElementById("btn1");
air.Introspector.Console.log(button1);
}
</script>
</head>
<body>
<p>Click to view the button object in the Console.</p>
<input type="button" id="btn1"
onclick="logBtn()"
value="Log" />
</body>
</html>
Poslední aktualizace 31.8.2016
281
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Ladění pomocí prohlížeče Introspector HTML aplikace AIR
Po kliknutí na tlačítko se na záložce Konzola zobrazí objekt btn1, přičemž lze rozbalit stromovou strukturu objektu
a prohlížet jeho vlastnosti:
Vlastnost objektu lze upravit kliknutím na seznam vpravo od názvu vlastnosti a úpravou textového výpisu.
Metody info(), error() a warn() jsou podobné metodě log(). Nicméně při volání těchto metod se na záložce
Console zobrazí na začátku řádku ikona:
Metoda
Ikona
info()
error()
warn()
Metody log(), warn(), info() a error() odešlou odkaz pouze na skutečný objekt, takže dostupné vlastnosti jsou ty,
které jsou k dispozici v okamžiku prohlížení. Jestliže chcete serializovat skutečný objekt, použijte metodu dump().
Tato metoda má dva parametry:
Parametr
Popis
dumpObject
Objekt určený k serializaci.
levels
Maximální počet úrovní, které se mají prohlížet ve stromu objektů (kromě kořenové úrovně). Výchozí hodnota
je 1 (to znamená, že mimo kořenovou úroveň stromu bude zobrazena jedna úroveň). Tento parametr je
nepovinný.
Volání metody dump() serializuje objekt před jeho odesláním na záložku Konzola, aby nebylo možné upravovat
vlastnosti objektu. Posuďte například následující kód:
Poslední aktualizace 31.8.2016
282
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Ladění pomocí prohlížeče Introspector HTML aplikace AIR
var testObject = new Object();
testObject.foo = "foo";
testObject.bar = 234;
air.Introspector.Console.dump(testObject);
Při provádění tohoto kódu se na záložce Console zobrazí objekt testObject a jeho vlastnosti, ale hodnoty vlastností
nelze na záložce Console upravovat.
Konfigurace prohlížeče Introspector aplikace AIR
Konzolu lze konfigurovat nastavením vlastností globální proměnné AIRIntrospectorConfig. Následující kód
JavaScript například konfiguruje prohlížeč Introspector aplikace AIR na zalamování sloupců na 100 znaků:
var AIRIntrospectorConfig = new Object();
AIRIntrospectorConfig.wrapColumns = 100;
Nezapomeňte nastavit vlastnosti proměnné AIRIntrospectorConfig před načtením souboru AIRIntrospector.js
(prostřednictvím tagu script).
Proměnná AIRIntrospectorConfig má osm vlastností:
Vlastnost
Výchozí hodnota
Popis
closeIntrospectorOnExit
true
Nastaví okno Inspektor, aby se zavřelo po zavření všech ostatních oken
aplikace.
debuggerKey
123 (klávesa F12)
Kód klávesy pro klávesovou zkratku, která zobrazuje a skrývá okno
prohlížeče Introspector aplikace AIR.
debugRuntimeObjects
true
Nastavuje prohlížeč Introspector, aby kromě objektů definovaných
v jazyce JavaScript rozbalil také objekty běhového modulu.
flashTabLabels
true
Nastavuje záložky Konzola a XMLHttpRequest, aby blikaly, což značí, že na
nich došlo ke změně (například po načtení textu na tyto záložky).
introspectorKey
122 (klávesa F11)
Kód klávesy pro klávesovou zkratku, která otevře panel Prohlížení.
showTimestamp
true
Nastaví záložku Konzola, aby na začátku každé řádky zobrazila časové
razítko.
showSender
true
Nastaví záložku Konzola, aby na začátku každé řádky zobrazila informace
o objektu odesílajícím zprávu.
wrapColumns
2000
Počet sloupců, na které se zalamují zdrojové soubory.
Rozhraní prohlížeče Introspector aplikace AIR
Chcete-li při ladění aplikace otevřít okno Introspector aplikace AIR, stiskněte klávesu F12 nebo zavolejte jednu
z metod třídy Console (viz „Prohlížení objektu na záložce Konzola“ na stránce 280). Horkou klávesu lze konfigurovat,
aby se jednalo o jinou klávesu než F12 (viz „Konfigurace prohlížeče Introspector aplikace AIR“ na stránce 282).
Poslední aktualizace 31.8.2016
283
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Ladění pomocí prohlížeče Introspector HTML aplikace AIR
Okno Introspector aplikace AIR má šest záložek – Konzola, HTML, DOM, Datové zdroje, Zdroj a XHR, jak je
znázorněno na následujícím obrázku:
Záložka Konzola
Na záložce Konzola se zobrazují hodnoty vlastností předaných jako parametry některé z metod třídy
air.Introspector.Console. Podrobnosti naleznete v části „Prohlížení objektu na záložce Konzola“ na stránce 280.
• Chcete-li konzolu vymazat, klikněte na text pravým tlačítkem myši a zvolte možnost Vymazat konzolu.
Poslední aktualizace 31.8.2016
284
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Ladění pomocí prohlížeče Introspector HTML aplikace AIR
• Pokud chcete text zobrazený na záložce Konzola uložit do souboru, klikněte na záložku Konzola pravým tlačítkem
myši a zvolte možnost Uložit konzolu do souboru.
• Jestliže chcete text zobrazený na záložce Konzola uložit do schránky, klikněte na záložku Konzola pravým tlačítkem
myši a zvolte možnost Uložit konzolu do schránky. Chcete-li do schránky zkopírovat pouze vybraný text, klikněte
na text pravým tlačítkem myši a zvolte možnost Kopírovat.
• Pokud chcete text ve třídě Console uložit do souboru, klikněte na záložku Konzola pravým tlačítkem myši a zvolte
možnost Uložit konzolu do souboru.
• Chcete-li vyhledat odpovídající text zobrazený na záložce, stiskněte kombinaci kláves CTRL+F v systému Windows
a Command+F v systému Mac OS. (Nebudou se prohledávat uzly stromu, které nejsou viditelné.)
Záložka HTML
Záložka HTML umožňuje prohlížení celého modelu DOM jazyka HTML ve stromové struktuře. Po kliknutí na
element se na pravé straně záložky zobrazí jeho vlastnosti. Kliknutím na ikony + a - lze rozbalit a sbalit uzel ve stromu.
Jakýkoliv atribut nebo textový element na záložce HTML je možné upravit a upravená hodnota se odrazí v aplikaci.
Klikněte na tlačítko Prohlížet (vlevo od seznamu záložek v okně Introspector aplikace AIR). Na stránce HTML
hlavního okna lze kliknout na jakýkoliv element a na záložce HTML se zobrazí přidružený objekt DOM. Když je hlavní
okno aktivní, je rovněž možné stisknutím klávesové zkratky zapínat a vypínat tlačítko Prohlížet. Tato klávesová
zkratka je standardně F11. Klávesovou zkratku lze konfigurovat, aby se jednalo o jinou klávesu než F11 (viz
„Konfigurace prohlížeče Introspector aplikace AIR“ na stránce 282).
Po kliknutí na tlačítko Obnovit aktivní okno (v horní části okna Introspector aplikace AIR) se obnoví data zobrazená
na záložce HTML.
Stisknutím kláves CTRL+F v systému Windows nebo Command+F v systému Mac OS lze vyhledat odpovídající text
zobrazený na záložce. (Nebudou se prohledávat uzly stromu, které nejsou viditelné.)
Poslední aktualizace 31.8.2016
285
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Ladění pomocí prohlížeče Introspector HTML aplikace AIR
Záložka DOM
Na záložce DOM je zobrazen objekt okna ve stromové struktuře. Jakýkoliv řetězec a číselné vlastnosti je možné upravit
a upravená hodnota se odrazí v aplikaci.
Po kliknutí na tlačítko Obnovit aktivní okno (v horní části okna Introspector aplikace AIR) se obnoví data zobrazená
na záložce DOM.
Stisknutím kláves CTRL+F v systému Windows nebo Command+F v systému Mac OS lze vyhledat odpovídající text
zobrazený na záložce. (Nebudou se prohledávat uzly stromu, které nejsou viditelné.)
Poslední aktualizace 31.8.2016
286
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Ladění pomocí prohlížeče Introspector HTML aplikace AIR
Záložka Datové zdroje
Na záložce Datové zdroje lze kontrolovat vazby, obrazy, CSS a soubory jazyka JavaScript načtené v nativním okně. Po
rozbalení některého z těchto uzlů se zobrazí obsah souboru nebo skutečně použitý obraz.
Po kliknutí na tlačítko Obnovit aktivní okno (v horní části okna Introspector aplikace AIR) se obnoví data zobrazená
na záložce Datové zdroje.
Stisknutím kláves CTRL+F v systému Windows nebo Command+F v systému Mac OS lze vyhledat odpovídající text
zobrazený na záložce. (Nebudou se prohledávat uzly stromu, které nejsou viditelné.)
Záložka Zdroj
Záložka Zdroj zahrnuje tři oddíly:
• Skutečný zdroj – zobrazuje zdroj HTML stránky načtené jako kořenový obsah při spuštění aplikace.
• Analyzovaný zdroj – zobrazuje aktuální označení, jež tvoří uživatelské rozhraní aplikace. Může se lišit od
skutečného zdroje, neboť aplikace generuje kód označení průběžně pomocí technologie Ajax.
Poslední aktualizace 31.8.2016
287
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Ladění pomocí prohlížeče Introspector HTML aplikace AIR
• Soubory aplikace – zobrazuje seznam souborů v adresáři aplikace. Tento seznam je pro prohlížeč Introspector
aplikace AIR k dispozici pouze při spuštění z obsahu v karanténě zabezpečení aplikace. V tomto oddílu lze zobrazit
obsah textových souborů nebo prohlížet obrázky.
Po kliknutí na tlačítko Obnovit aktivní okno (v horní části okna Introspector aplikace AIR) se obnoví data zobrazená
na záložce Zdroj.
Stisknutím kláves CTRL+F v systému Windows nebo Command+F v systému Mac OS lze vyhledat odpovídající text
zobrazený na záložce. (Nebudou se prohledávat uzly stromu, které nejsou viditelné.)
Poslední aktualizace 31.8.2016
288
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Ladění pomocí prohlížeče Introspector HTML aplikace AIR
Záložka XHR
Záložka XHR přeruší veškerou komunikaci objektu XMLHttpRequest v aplikaci a vytvoří záznam informací. To
umožňuje prohlížení vlastností objektu XMLHttpRequest ve stromovém zobrazení, včetně vlastností responseText
a responseXML (když jsou k dispozici).
Stisknutím kláves CTRL+F v systému Windows nebo Command+F v systému Mac OS lze vyhledat odpovídající text
zobrazený na záložce. (Nebudou se prohledávat uzly stromu, které nejsou viditelné.)
Použití prohlížeče Introspector aplikace AIR s obsahem
v neaplikační karanténě
Obsah z adresáře aplikace lze načíst do elementu iframe nebo do snímku mapovaného na neaplikační karanténu. (Viz
téma Zabezpečení aplikace HTML v prostředí Adobe AIR pro vývojáře používající jazyk ActionScript nebo
Zabezpečení aplikace HTML v prostředí Adobe AIR pro vývojáře používající jazyk HTML). S tímto obsahem lze
prohlížeč Introspector aplikace AIR použít, je však třeba dodržovat následující pravidla:
• Soubor AIRIntrospector.js musí být začleněn v aplikační karanténě, tak i v obsahu neaplikační karantény (iframe).
• Nepřepisujte vlastnost parentSandboxBridge, kód prohlížeče Introspector aplikace AIR ji používá. Přidávejte
vlastnosti podle potřeby. Takže místo zadání následujícího kódu:
parentSandboxBridge = mytrace: function(str) {runtime.trace(str)}} ;
použijte syntaxi jako je tato:
parentSandboxBridge.mytrace = function(str) {runtime.trace(str)};
Poslední aktualizace 31.8.2016
289
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Ladění pomocí prohlížeče Introspector HTML aplikace AIR
• Z obsahu neaplikační karantény nelze prohlížeč Introspector aplikace AIR otevřít stisknutím klávesy F12 ani
voláním některé z metod ve třídě air.Introspector.Console. Okno prohlížeče Introspector lze otevřít pouze
kliknutím na tlačítko Otevřít Introspector. Toto tlačítko se standardně přidá do pravého horního rohu elementu
iframe nebo snímku. (Vzhledem k bezpečnostním omezením předepsaným pro obsah neaplikační karantény lze
otevřít nové okno pouze v důsledku akce uživatele, např. po kliknutí na tlačítko.)
• Je možné otevřít samostatná okna prohlížeče Introspector aplikace AIR pro aplikační karanténu a pro neaplikační
karanténu. Tato dvě okna lze rozlišit pomocí názvu zobrazeného v oknech prohlížeče Introspector aplikace AIR.
• Při spuštění prohlížeče Introspector aplikace AIR z neaplikační karantény nejsou na záložce Zdroj zobrazeny
soubory aplikace.
• Prohlížeč Introspector aplikace AIR může sledovat pouze kód v karanténě, ze které byl otevřen.
Poslední aktualizace 31.8.2016
290
Kapitola 20: Lokalizace aplikací AIR
Adobe AIR 1.1 a novější
Aplikace Adobe® AIR™ zahrnuje podporu pro více jazyků.
Přehled lokalizace obsahu v jazyce ActionScript 3.0 a architektuře Flex naleznete v Příručce pro vývojáře jazyka
ActionScript 3.0 v části „Lokalizace aplikací“.
Podporované jazyky v aplikaci AIR
Ve vydání aplikace AIR 1.1 byla zavedena podpora lokalizace pro aplikace AIR v následujících jazycích:
• Zjednodušená čínština
• Tradiční čínština
• Francouzština
• Němčina
• Italština
• Japonština
• Korejština
• Brazilská portugalština
• Ruština
• Španělština
Ve vydání aplikace AIR 1.5 byly přidány tyto jazyky:
• Čeština
• Holandština
• Polština
• Švédština
• Turečtina
Další témata Nápovědy
Vytváření vícejazyčných aplikací Flex v prostředí Adobe AIR
Vytvoření vícejazyčné aplikace založené na jazyce HTML
Lokalizace názvu aplikace a popisu v instalačním
programu aplikace AIR
Adobe AIR 1.1 a novější
Můžete specifikovat několik jazyků pro prvky name a description v popisovacím souboru aplikace. Například
následující určuje název aplikace ve třech jazycích (angličtina, francouzština, němčina):
Poslední aktualizace 31.8.2016
291
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Lokalizace aplikací AIR
<name>
<text xml:lang="en">Sample 1.0</text>
<text xml:lang="fr">Échantillon 1.0</text>
<text xml:lang="de">Stichprobe 1.0</text>
</name>
Atribut xml:lang pro každý textový element určuje jazykový kód; definice těchto kódů naleznete v dokumentu
RFC4646 http://www.ietf.org/rfc/rfc4646.txt).
Název prvku definuje název aplikace, který zobrazuje instalační program aplikace AIR. Instalační program aplikace
AIR používá lokalizovanou hodnotu, která nejlépe odpovídá jazykům rozhraní definovaným nastavením operačního
souboru.
Podobně můžete specifikovat několik jazykových verzí prvku description v souboru popisovače aplikace. Tento
prvek definuje text popisovače, který zobrazuje instalační program aplikace AIR.
Tato nastavení platí pouze pro jazyk dostupný v instalačním programu aplikace AIR. Nedefinují lokální verze
dostupné pro spuštění instalované aplikace. Aplikace AIR mohou poskytovat uživatelská rozhraní podporující více
jazyků včetně těch, které jsou dostupné pro instalační program aplikace AIR.
Další informace naleznete v části „Elementy deskriptoru aplikace AIR“ na stránce 206.
Další témata Nápovědy
Vytváření vícejazyčných aplikací Flex v prostředí Adobe AIR
Vytvoření vícejazyčné aplikace založené na jazyce HTML
Lokalizace obsahu HTML pomocí lokalizačního rámce
HTML aplikace AIR
Adobe AIR 1.1 a novější
Balík AIR 1.1 SDK obsahuje lokalizační strukturu HTML. Soubor skriptu JavaScript AIRLocalizer.js tuto strukturu
definuje. Adresář struktury balíku AIR SDK obsahuje soubor AIRLocalizer.js. Tento soubor zahrnuje třídu
air.Localizer, která poskytuje funkci pro pomoc při vytváření aplikací podporujících lokalizované verze.
Nahrávání kódu lokalizační struktury AIR HTML
Chcete-li používat lokalizační strukturu, nakopírujte soubor AIRLocalizer.js do svého projektu. Pak ji zahrňte do
hlavního souboru HTML aplikace, pomocí značky skriptu:
<script src="AIRLocalizer.js" type="text/javascript" charset="utf-8"></script>
Následující skript JavaScript může volat objekt air.Localizer.localizer:
<script>
var localizer = air.Localizer.localizer;
</script>
Objekt air.Localizer.localizer je jediný objekt, který definuje metody a vlastnosti pro použití a správu
lokalizovaných zdrojů. Třída Localizer zahrnuje následující metody:
Poslední aktualizace 31.8.2016
292
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Lokalizace aplikací AIR
Metoda
Popis
getFile()
Získává text specifikovaného zdrojového svazku pro specifikovanou lokální verzi. Viz „Získání zdrojů pro
specifickou lokální verzi“ na stránce 297.
getLocaleChain()
Vrací jazyky v řetězci lokální verze. Další informace naleznete v tématu „Definování řetězce locale“ na
stránce 297.
getResourceBundle()
Vrací klíče svazků a odpovídající hodnoty jako objekt. Viz „Získání zdrojů pro specifickou lokální verzi“ na
stránce 297.
getString()
Získává řetězec definovaný pro zdroj. Viz „Získání zdrojů pro specifickou lokální verzi“ na stránce 297.
setBundlesDirectory(
)
Nastavuje umístění adresáře svazků. Další informace naleznete v tématu „Uzpůsobení nastavení lokalizátoru
AIR HTML“ na stránce 296.
setLocalAttributePre
fix()
Nastavuje prefix použitý lokalizačními atributy použitými v prvcích HTML DOM. Další informace naleznete
v tématu „Uzpůsobení nastavení lokalizátoru AIR HTML“ na stránce 296.
setLocaleChain()
Nastavuje pořadí jazyků v řetězci lokální verze. Další informace naleznete v tématu „Definování řetězce locale“
na stránce 297.
sortLanguagesByPrefe
rence()
Třídí lokální verze v řetězci lokální verze na základě pořadí lokálních verzí v nastavení operačního systému.
Další informace naleznete v tématu „Definování řetězce locale“ na stránce 297.
update()
Aktualizuje HTML DOM (nebo prvek DOM) s lokalizovanými řetězci ze stávajícího řetězce lokální verze. Diskuse
o řetězcích locale naleznete v tématu „Správa řetězců lokální verze“ na stránce 293. Informace o metodě
update() naleznete v kapitole „Aktualizace prvků DOM pro použití ve stávající lokální verzi“ na stránce 295.
Třída Localizer zahrnuje následující statické vlastnosti:
Vlastnost
Popis
localizer
Vrací odkaz na jediný objekt Localizer pro aplikaci.
ultimateFallbackLocale
Lokální verze použitá, když aplikace nepodporuje žádné uživatelské předvolby.
Další informace naleznete v tématu „Definování řetězce locale“ na stránce 297.
Určení podporovaných jazyků
Element <supportedLanguages> v souboru deskriptoru aplikace slouží k identifikaci jazyků, které aplikace
podporuje. Tento element používá pouze systém iOS, což je vázaný běhový modul Mac, a aplikace Android. Všechny
ostatní typy aplikací jej ignorují.
Nezadáte-li element <supportedLanguages>, potom balíčkovač v závislosti na typu aplikace automaticky provede
následující akce:
• iOS – všech jazyků podporovaných běhovým modulem AIR je v obchodě s aplikacemi Apple iOS uvedeno jako
podporované jazyky aplikací.
• Vázaný běhový modul Mac – aplikace zabalená pomocí kaptivního balíčku neobsahuje informace o lokalizaci.
• Android – balíček aplikací má zdroje pro všechny jazyky podporované běhovým modulem AIR.
Další informace viz element „supportedLanguages“ na stránce 235.
Definování zdrojových svazků
Lokalizační struktura HTML načte lokalizované verze řetězců ze souborů localization. Lokalizační soubor je sbírkou
klíčových hodnot, sériově uspořádaných v textovém souboru. Lokalizační soubor je někdy popisován jako svazek.
Poslední aktualizace 31.8.2016
293
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Lokalizace aplikací AIR
Vytvořte podadresáře v adresáři aplikačního projektu, pojmenovaný locale. (Můžete také použít jiný název. Další
informace naleznete v tématu „Uzpůsobení nastavení lokalizátoru AIR HTML“ na stránce 296.) Tento adresář bude
zahrnovat lokalizační soubory. Tento adresář se nazývá adresářem svazků.
Pro každou lokální verzi podporovanou vaší aplikací vytvořte podadresář v adresáři svazků. Pojmenujte každý
podadresář tak, aby odpovídal kódu lokální verze. Například pojmenujte adresář francouzštiny „fr“ a angličtiny „en“.
Můžete použít znak podtržítka (_) pro definování lokální verze, která má jazyk a kód země. Například pojmenujte
adresář americké angličtiny „en_us“. (Alternativně můžete použít pomlčku namísto podtržítka, „en-us“. Lokalizační
struktura HTML podporuje obojí.)
Můžete přidat jakýkoliv počet zdrojových souborů do podadresáře lokální verze. Obecně vytvoříte lokalizační soubor
pro každý jazyk (a umístíte jej do adresáře daného jazyka). Lokalizační struktura HTML zahrnuje metodu getFile(),
která umožňuje načtení obsahu souboru (další informace naleznete v tématu „Získání zdrojů pro specifickou lokální
verzi“ na stránce 297).
Soubory, které mají příponu souboru .properties, jsou definovány jako lokalizační soubory vlastností. Můžete je
používat pro definování párů klíčové hodnoty pro lokální verzi. Soubor vlastnosti definuje jednu hodnotu řetězce pro
každý řádek. Například následující definice popisuje hodnotu řetězce "Hello in English." pro klíč pojmenovaný
greeting:
greeting=Hello in English.
Soubor vlastnosti obsahující následující text definuje šest párů klíčových hodnot:
title=Sample Application
greeting=Hello in English.
exitMessage=Thank you for using the application.
color1=Red
color2=Green
color3=Blue
Tento příklad ukazuje anglickou verzi souboru vlastností, která je uložena v adresáři en.
Francouzská verze tohoto souboru je umístěna v adresáři fr.
title=Application Example
greeting=Bonjour en français.
exitMessage=Merci d'avoir utilisé cette application.
color1=Rouge
color2=Vert
color3=Bleu
Můžete definovat několik zdrojových souborů pro různé typy informací. Například soubor legal.properties může
obsahovat základní text právních informací (například o autorských právech). Tento zdroj můžete opakovaně použít
v několika aplikacích. Podobně můžete definovat samostatné soubory, které definují lokalizovaný obsah pro různé
části uživatelského rozhraní.
Pokud chcete podporovat několik jazyků, použijte pro tyto soubory kódování UTF-8.
Správa řetězců lokální verze
Když aplikace načte soubor AIRLocalizer.js, prověří lokální verze definované ve vaší aplikaci. Tyto lokální verze
odpovídají podadresářům v adresáři svazků (viz také „Definování zdrojových svazků“ na stránce 292). Tento seznam
dostupných lokálních verzí je znám jako řetězec locale. Soubor AIRLocalizer.js automaticky roztřídí řetězec locale,
založený na upřednostňovaném pořadí definovaném nastavením operačního systému. (Vlastnost
Capabilities.languages uvádí seznam jazyků uživatelského rozhraní operačního systému v upřednostňovaném
pořadí.)
Poslední aktualizace 31.8.2016
294
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Lokalizace aplikací AIR
Pokud tedy aplikace definuje zdroje pro lokální verze „ens“, „en_US“ a „en_UK“, struktura AIR HTML Localizer
roztřídí řetězec locale odpovídajícím způsobem. Když se aplikace spustí v systému, který hlásí „en“ jako primární
lokální verzi, řetězec locale je roztříděn jako ["en", "en_US", "en_UK"]. V tomto případě aplikace vyhledá zdroje
nejprve ve svazku „en“, pak ve svazku „en_US“.
Pokud však systém nahlásí primární lokální verzi „en-US“, pak třídění bude vypadat takto: ["en_US", "en",
en_UK"]. V tomto případě aplikace vyhledá zdroje nejprve ve svazku „en_US“, pak ve svazku „en“.
Standardně aplikace definuje první lokální verzi v řetězci locale, jako výchozí lokální verzi pro použití. Můžete
uživatele požádat, aby zvolil lokální verzi při prvním spuštění aplikace. Poté můžete vybrat uložení volby do souboru
předvoleb a použít tuto lokální verzi při následujícím spuštění aplikace.
Aplikace může použít zdrojové řetězce v kterékoliv lokální verzi v řetězci locale. Pokud specifická lokální verze
nedefinuje řetězec zdroje, aplikace použije následující shodný řetězec zdroje pro ostatní lokální verze definované v
řetězci locale.
Řetězec locale můžete přizpůsobit zavoláním metody setLocaleChain() objektu Localizer. Viz „Definování řetězce
locale“ na stránce 297.
Aktualizace prvků DOM lokalizovaným obsahem
Prvek v aplikaci může odkazovat na klíčovou hodnotu v souboru vlastností lokalizace. Například prvek title v
následujícím příkladu specifikuje atribut local_innerHTML. Lokalizační struktura používá tento atribut k vyhledání
lokalizované hodnoty. Standardně struktura vyhledá názvy atributů, které začínají "local_". Struktura aktualizuje
atributy, které mají názvy odpovídající textu za "local_". V tomto případě struktura nastavuje atribut innerHTML
prvku title. Atribut innerHTML používá hodnotu definovanou v klíči mainWindowTitle v souboru výchozích
vlastností (default.properties):
<title local_innerHTML="default.mainWindowTitle"/>
Pokud stávající lokální verze nedefinuje žádnou shodnou hodnotu, pak lokalizační struktura vyhledá zbytek řetězce
locale. Používá následující lokální verzi v řetězci locale, pro kterou je hodnota definována.
V následujícím příkladu text (innerHTML attribute) prvku p používá hodnotu klíče greeting definovaného v souboru
výchozích vlastností:
<p local_innerHTML="default.greeting" />
V následujícím příkladu hodnota atributu (a zobrazený text) prvku input využívá hodnotu klíče btnBlue
definovanou v souboru výchozího nastavení:
<input type="button" local_value="default.btnBlue" />
Pro aktualizování HTML DOM s cílem použít řetězce definované ve stávajícím řetězci locale, zavolejte metodu
update() objektu Localizer. Zavoláním metody update() dojde k tomu, že objekt Localizer analyzuje DOM a použije
manipulační postupy tam, kde naleznete lokalizační atributy ("local_..."):
air.Localizer.localizer.update();
Můžete definovat hodnoty pro atribut (například „innerHTML“) a odpovídající lokalizační atribut (například
„local_innerHTML“). V tomto případě lokalizační struktura pouze přepíše hodnotu atributu, pokud naleznete
odpovídající hodnotu v lokalizačním řetězci. Například následující prvek definuje atributy value a local_value:
<input type="text" value="Blue" local_value="default.btnBlue"/>
Můžete také aktualizovat pouze specifický prvek DOM. Viz následující kapitola, „Aktualizace prvků DOM pro použití
ve stávající lokální verzi“ na stránce 295.
Poslední aktualizace 31.8.2016
295
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Lokalizace aplikací AIR
Standardně lokalizátor AIR HTML používá "local_" jako prefix pro atributy definující nastavení lokalizace prvku.
Atribut local_innerHTML například standardně definuje název svazku a zdroje použitého pro hodnotu innerHTML
prvku. Atribut local_value například standardně definuje název svazku a zdroje použitého pro hodnotu value
prvku. Můžete nakonfigurovat Localizer tak, aby používal prefix atributu pro jiný, než "local_". Další informace
naleznete v tématu „Uzpůsobení nastavení lokalizátoru AIR HTML“ na stránce 296.
Aktualizace prvků DOM pro použití ve stávající lokální verzi
Když objekt Localizer aktualizuje HTML DOM, způsobí, že označené prvky použijí hodnoty atributů na základě
řetězců definovaných ve stávajícím řetězci locale. Chcete-li, aby lokalizátor HTML aktualizoval HTML DOM,
zavolejte metodu update() objektu Localizer:
air.Localizer.localizer.update();
Chcete-li, aby lokalizátor aktualizoval pouze specifikovaný prvek DOM, přidejte jej jako parametr metodě update().
Metoda update() má pouze jeden parametr, parentNode, který je volitelný. Při specifikování parametr parentNode
stanoví lokalizování prvku DOM. Zavolání metody update() a stanovení parametru parentNode nastaví
lokalizované hodnoty pro všechny podřízené prvky, které specifikují lokalizační atributy.
Například můžete zvážit následující prvek div:
<div id="colorsDiv">
<h1 local_innerHTML="default.lblColors" ></h1>
<p><input type="button" local_value="default.btnBlue" /></p>
<p><input type="button" local_value="default.btnRed" /></p>
<p><input type="button" local_value="default.btnGreen" /></p>
</div>
Pro aktualizování tohoto prvku použijte lokalizované řetězce definované ve stávajícím řetězci locale použijte
následující kód JavaScript:
var divElement = window.document.getElementById("colorsDiv");
air.Localizer.localizer.update(divElement);
Pokud hodnota není v řetězci locale nalezena, lokalizační struktura nastaví hodnotu atribut na hodnotu atributu
"local_". Například v předchozím příkladu předpokládáme, že lokalizační struktura nemůže nalézt hodnotu klíče
lblColors (ve kterémkoliv souboru default.properties v řetězci locale). V tomto případě je použito
"default.lblColors" jako hodnota innerHTML. Použití této hodnoty signalizuje (vývojáři) chybějící zdroje.
Metoda update() odesílá událost resourceNotFound, pokud nemůže nalézt zdroj v řetězci locale. Konstanta
air.Localizer.RESOURCE_NOT_FOUND definuje řetězec "resourceNotFound". Událost má tři vlastnosti:
bundleName, resourceName a locale. Vlastnost bundleName je názvem svazku, ve kterém není zdroj nalezen.
Vlastnost resourceName je názvem svazku, ve kterém není zdroj nalezen. Vlastnost locale je názvem lokální verze,
ve které není zdroj nalezen.
Metoda update() odesílá událost bundleNotFound, když nemůže nalézt specifikovaný svazek. Konstanta
air.Localizer.BUNDLE_NOT_FOUND definuje řetězec "bundleNotFound". Událost má dvě vlastnosti: bundleName a
locale. Vlastnost bundleName je názvem svazku, ve kterém není zdroj nalezen. Vlastnost locale je názvem lokální
verze, ve které není zdroj nalezen.
Metoda update() pracuje asynchronně (a odesílá události resourceNotFound a bundleNotFound asynchronně).
Následující kód stanoví posluchače událostí pro události resourceNotFound a bundleNotFound:
Poslední aktualizace 31.8.2016
296
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Lokalizace aplikací AIR
air.Localizer.localizer.addEventListener(air.Localizer.RESOURCE_NOT_FOUND, rnfHandler);
air.Localizer.localizer.addEventListener(air.Localizer.BUNDLE_NOT_FOUND, rnfHandler);
air.Localizer.localizer.update();
function rnfHandler(event)
{
alert(event.bundleName + ": " + event.resourceName + ":." + event.locale);
}
function bnfHandler(event)
{
alert(event.bundleName + ":." + event.locale);
}
Uzpůsobení nastavení lokalizátoru AIR HTML
Metoda setBundlesDirectory() objektu Localizer umožňuje uzpůsobit cestu adresáře svazku. Metoda
setLocalAttributePrefix() objektu Localizer umožňuje přizpůsobit cestu adresáře svazku a hodnotu atributu
používanou objektem Localizer.
Výchozí adresář svazku je definován jako podadresář lokální verze adresáře aplikace. Můžete stanovit jiný adresář a to
zavoláním metody setBundlesDirectory() objektu Localizer. Tato metoda používá jeden parametr, path, který je
cestou do požadovaného adresáře, jako řetězec. Hodnota parametru path může být kterákoliv z následujících:
• Řetězec definující cestu relativní k adresáři aplikace, například "locales"
• Řetězec definující platnou adresu URL, která použije schémata URL app, app-storage nebo file, například
"app://languages" (nepoužívejte schéma URL http)
• Objekt File
Informace o adresách URL a cestách adresářů naleznete v následujících tématech:
• Cesty k objektům File (pro vývojáře používající jazyk ActionScript)
• Cesty k objektům File (pro vývojáře používající jazyk HTML)
Například následující kód nastavuje adresář svazků na podadresář jazyka v adresáři ukládání dat aplikace (nikoliv v
adresáři samotné aplikace):
air.Localizer.localizer.setBundlesDirectory("languages");
Předejte platnou cestu jako parametr path. Jinak metoda odešle výjimku BundlePathNotFoundError. Tato chyba má
parametr "BundlePathNotFoundError" jako svou vlastnosti name, a vlastnost message specifikuje neplatnou cestu.
Standardně lokalizátor AIR HTML používá "local_" jako prefix pro atributy definující nastavení lokalizace prvku.
Například atribut local_innerHTML definuje název svazku a zdroje použitý pro hodnotu innerHTML následujícího
prvku input:
<p local_innerHTML="default.greeting" />
Metoda setLocalAttributePrefix() objektu Localizer umožňuje použít prefix atributu jiný, než "local_". Tato
statická metoda bere jeden parametr, což je řetězec, který chcete použít jako prefix atributu. Například následující kód
nastavuje lokalizační strukturu tak, že použije jako prefix atributu „loc_“:
air.Localizer.localizer.setLocalAttributePrefix("loc_");
Můžete přizpůsobit prefix atributu, který používá lokalizační struktura. Prefix můžete uzpůsobit, pokud výchozí
hodnota ("local_") bude v konfliktu s názvem jiného atributu použitého kódem. Při volání této metody
nezapomeňte použít platné znaky pro atributy HTML. (Například hodnota nemůže obsahovat prázdný znak.)
Poslední aktualizace 31.8.2016
297
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Lokalizace aplikací AIR
Informace o použití lokalizačních atributů v prvcích HTML, viz „Aktualizace prvků DOM lokalizovaným obsahem“
na stránce 294.
Nastavení adresáře svazků a prefixu atributu se mezi jednotlivými relacemi aplikace neuchovává. Pokud použijete
vlastní nastavení adresáře svazků a prefixu atributu, nezapomeňte nastavení provést pokaždé, když se aplikace
aktivuje.
Definování řetězce locale
Standardně, když načtete kód AIRLocalizer.js, nastaví se řetězec locale. Lokální verze dostupné v adresáři svazků a
nastavení jazyka operačního systému definují tento řetězec locale. (Podrobnosti naleznete v části „Správa řetězců
lokální verze“ na stránce 293.)
Řetězec locale můžete změnit zavoláním statické metody setLocaleChain() objektu Localizer. Například může být
požadováno zavolání této metody v případě, že uživatel indikuje předvolbu pro specifický jazyk. Metoda
setLocaleChain() bere jeden parametr, chain, který je polem lokálních verzí, například
["fr_FR","fr","fr_CA"]. Pořadí lokálních verzí v poli nastavuje pořadí, ve kterém struktura vyhledává zdroje (v
následujících operacích). Pokud zdroj není nalezen pro první lokální verzi v řetězci, pokračuje v hledání v jiném zdroji
lokální verze. Pokud chybí argument chain, není polem nebo se jedná o prázdný řetězec, funkce selže a odešle výjimku
IllegalArgumentsError.
Statická metoda getLocaleChain() objektu Localizer vrací objekt Array s uvedením seznamu lokálních verzí ve
stávajícím řetězci locale.
Následující kód načte stávající řetězec locale a přidá dvě lokální verze French do hlavičky řetězce:
var currentChain = air.Localizer.localizer.getLocaleChain();
newLocales = ["fr_FR", "fr"];
air.Localizer.localizer.setLocaleChain(newLocales.concat(currentChain));
Metoda setLocaleChain() odesílá událost "change", když aktualizuje řetězec locale. Konstanta
air.Localizer.LOCALE_CHANGE definuje řetězec "change". Událost má jednu vlastnost, localeChain, pole kódů
lokálních verzí v novém řetězci locale. Následující kód stanoví posluchače událostí pro tuto událost.
var currentChain = air.Localizer.localizer.getLocaleChain();
newLocales = ["fr_FR", "fr"];
localizer.addEventListener(air.Localizer.LOCALE_CHANGE, changeHandler);
air.Localizer.localizer.setLocaleChain(newLocales.concat(currentChain));
function changeHandler(event)
{
alert(event.localeChain);
}
Statická vlastnost air.Localizer.ultimateFallbackLocale představuje lokální verzi použitou, když aplikace
nepodporuje žádné uživatelské předvolby. Výchozí hodnota je "en". Můžete nastavit jinou lokální verzi, jak je
uvedeno v následujícím kódu:
air.Localizer.ultimateFallbackLocale = "fr";
Získání zdrojů pro specifickou lokální verzi
Metoda getString() objektu Localizer vrací řetězec definovaný pro zdroj ve specifické lokální verzi. Když voláte
metodu, není nutné specifikovat hodnotu locale. V tomto případě metoda hledá v celém řetězci lokální verze a vrací
řetězec do první lokální verze, která poskytuje stanovený název zdroje. Metoda má následující parametry:
Poslední aktualizace 31.8.2016
298
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Lokalizace aplikací AIR
Parametr
Popis
bundleName
Svazek, který obsahuje zdroj. Toto je název souboru vlastností bez přípony
.properties. (Například, pokud je tento parametr nastaven jako "alerts", kód
Localizer hledá v lokalizačních souborech pojmenovaných alerts.properties.
resourceName
Název zdroje.
templateArgs
Volitelné. Pole řetězců, které nahrazují očíslované značky v náhradních řetězcích.
Například zvažte zavolání funkce, kde má parametr templateArgs hodnotu
["Raúl", "4"] a odpovídající zdrojový řetězec je "Hello, {0}. You have
{1} new messages.". V tomto případě funkce vrací hodnotu "Hello, Raúl.
You have 4 new messages.". Toto nastavení ignorujete předáním hodnoty
null.
locale
Volitelné. Kód lokální verze (například "en", "en_us" nebo "fr"), který se má
použít. Pokud je lokální verze k dispozici a není nalezena žádná odpovídající
hodnota, metoda nepokračujte v hledání hodnot v jiných lokální verzích v řetězci
locale. Pokud není specifikována žádná lokální verze, funkce navrací řetězec v
první lokální verzi, která poskytuje hodnotu pro daný název řetězce.
Lokalizační struktura může aktualizovat označené atributy HTML DOM. Můžete však používat lokalizované řetězce
jinými způsoby. Například můžete použít řetězec v jiných dynamicky generovaných kódech HTML nebo jako
hodnotu parametrů ve volání funkce. Například následující kód volá funkci alert() s řetězcem definovaným ve
zdroji error114 ve výchozím souborů vlastností lokální verze fr_FR:
alert(air.Localizer.localizer.getString("default", "error114", null, "fr_FR"));
Metoda getString() odesílá událost resourceNotFound, když nemůže nalézt zdroj ve specifikovaném svazku.
Konstanta air.Localizer.RESOURCE_NOT_FOUND definuje řetězec "resourceNotFound". Událost má tři vlastnosti:
bundleName, resourceName a locale. Vlastnost bundleName je názvem svazku, ve kterém není zdroj nalezen.
Vlastnost resourceName je názvem svazku, ve kterém není zdroj nalezen. Vlastnost locale je názvem lokální verze,
ve které není zdroj nalezen.
Metoda getString() odesílá událost bundleNotFound, když nemůže nalézt specifikovaný svazek. Konstanta
air.Localizer.BUNDLE_NOT_FOUND definuje řetězec "bundleNotFound". Událost má dvě vlastnosti: bundleName a
locale. Vlastnost bundleName je názvem svazku, ve kterém není zdroj nalezen. Vlastnost locale je názvem lokální
verze, ve které není zdroj nalezen.
Metoda getString() pracuje asynchronně (a odesílá události resourceNotFound a bundleNotFound asynchronně).
Následující kód stanoví posluchače událostí pro události resourceNotFound a bundleNotFound:
air.Localizerlocalizer.addEventListener(air.Localizer.RESOURCE_NOT_FOUND, rnfHandler);
air.Localizerlocalizer.addEventListener(air.Localizer.BUNDLE_NOT_FOUND, bnfHandler);
var str = air.Localizer.localizer.getString("default", "error114", null, "fr_FR");
function rnfHandler(event)
{
alert(event.bundleName + ": " + event.resourceName + ":." + event.locale);
}
function bnfHandler(event)
{
alert(event.bundleName + ":." + event.locale);
}
Metoda getResourceBundle() objektu Localizer vrací určený svazek pro danou lokální verzi. Vrácená hodnota
metody je objekt s vlastnostmi, které odpovídají klíčům ve svazku. (Pokud aplikace nemůže určený svazek najít, vrací
metoda hodnotu null.)
Tato metoda nabývá dvou parametrů – locale a bundleName.
Poslední aktualizace 31.8.2016
299
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Lokalizace aplikací AIR
Parametr
Popis
locale
Lokální verze (například "fr").
bundleName
Název svazku.
Následující kód například volá metodu document.write() k načtení výchozího svazku pro lokální francouzskou (fr)
verzi. Pak volá metodu document.write() k zápisu hodnot klíčů str1 a str2 do tohoto svazku:
var aboutWin = window.open();
var bundle = localizer.getResourceBundle("fr", "default");
aboutWin.document.write(bundle.str1);
aboutWin.document.write("<br/>");
aboutWin.document.write(bundle.str2);
aboutWin.document.write("<br/>");
Metoda getResourceBundle() odesílá událost bundleNotFound, když nemůže nalézt specifikovaný svazek.
Konstanta air.Localizer.BUNDLE_NOT_FOUND definuje řetězec "bundleNotFound". Událost má dvě vlastnosti:
bundleName a locale. Vlastnost bundleName je názvem svazku, ve kterém není zdroj nalezen. Vlastnost locale je
názvem lokální verze, ve které není zdroj nalezen.
Metoda getFile() objektu Localizer navrací obsah jako svazek, řetězec, pro danou lokální verzi. Soubor svazku je
načten jako soubor UTF-8. Metoda obsahuje následující parametry:
Parametr
Popis
resourceFileName
Název zdrojového souboru (například "about.html").
templateArgs
Volitelné. Pole řetězců, které nahrazují očíslované značky v náhradních řetězcích.
Například zvažte zavolání funkce, kde má parametr templateArgs hodnotu
["Raúl", "4"] a odpovídající zdrojový soubor obsahuje dvě řádky:
<html>
<body>Hello, {0}. You have {1} new messages.</body>
</html>
V tomto případě funkce vrací řetězec se dvěma řádky:
<html>
<body>Hello, Raúl. You have 4 new messages. </body>
</html>
locale
Kód lokální verze, například "en_GB", který se má použít. Pokud je lokální verze
k dispozici a není nalezen žádný odpovídající soubor, metoda nepokračujte v
hledání v jiných lokálních verzích v řetězci locale. Pokud není specifikován žádný
kód lokální verze, funkce vrací text v první lokální verzi v řetězci locale, který má
soubor odpovídající resourceFileName.
Například následující kód volá metodu document.write() pomocí obsahu souboru about.html lokální verze fr:
var aboutWin = window.open();
var aboutHtml = localizer.getFile("about.html", null, "fr");
aboutWin.document.close();
aboutWin.document.write(aboutHtml);
Metoda getFile() odesílá událost fileNotFound, pokud nemůže nalézt zdroj v řetězci locale. Konstanta
air.Localizer.FILE_NOT_FOUND definuje řetězec "resourceNotFound". Metoda getFile() pracuje asynchronně
(a odesílá událost fileNotFound asynchronně). Událost má dvě vlastnosti: fileName a locale. Vlastnost fileName
je názvem nenalezeného souboru. Vlastnost locale je názvem lokální verze, ve které není zdroj nalezen. Následující
kód stanoví posluchače událostí pro tuto událost.
Poslední aktualizace 31.8.2016
300
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Lokalizace aplikací AIR
air.Localizer.localizer.addEventListener(air.Localizer.FILE_NOT_FOUND, fnfHandler);
air.Localizer.localizer.getFile("missing.html", null, "fr");
function fnfHandler(event)
{
alert(event.fileName + ": " + event.locale);
}
Další témata Nápovědy
Vytvoření vícejazyčné aplikace založené na jazyce HTML
Poslední aktualizace 31.8.2016
301
Kapitola 21: Proměnné prostředí pro cestu
Sada AIR SDK obsahuje několik programů, které můžete spustit z příkazového řádku nebo z terminálu. Tyto
programy lze často spouštět pohodlněji, je-li do proměnné prostředí PATH zahrnuta cesta k adresáři BIN sady SDK.
Informace v této části popisují, jak nastavit cestu v systémech Windows, Mac a Linux, a měly by sloužit jako praktický
průvodce. Konfigurace jednotlivých počítačů se však značně liší, takže postup nefunguje pro každý systém. V takovém
případě byste měli potřebné informace najít v dokumentaci k operačnímu systému nebo na Internetu.
Nastavení proměnné PATH v systémech Linux a Mac OS
pomocí prostředí Bash
Zadáte-li příkaz do okna terminálu, prostředí, tedy program, který čte zadávaný text a snaží se odpovídajícím
způsobem reagovat, musí nejprve vyhledat program příkazu v systému souborů. Prostředí hledá příkazy v seznamu
adresářů uložených v proměnné prostředí s názvem PATH. Chcete-li zjistit, co je nyní uvedeno v cestě, zadejte:
echo $PATH
Tento příkaz vrátí seznam adresářů oddělených dvojtečkami, který by měl vypadat přibližně takto:
/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/x11/bin
Cílem je přidat do seznamu cestu k adresáři BIN sady AIR SDK tak, aby v prostředí bylo možné najít nástroje ADT a
ADL. Jestliže jste sadu AIR SDK vložili do adresáře /Users/fred/SDKs/AIR, přidá následující příkaz k cestě nezbytné
adresáře:
export PATH=$PATH:/Users/fred/SDKs/AIR/bin:/Users/fred/SDKs/android/tools
Poznámka: Pokud cesta obsahuje znaky mezer, označte je zpětným lomítkem podobně jako v následujících příkladech:
/Users/fred\ jones/SDKs/AIR\ 2.5\ SDK/bin
Chcete-li ověřit, zda tento postup fungoval, můžete znovu použít příkaz echo:
echo $PATH
/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/x11/bin:/Users/fred/SDKs/AIR/bin:/Users/fred/SDK
s/android/tools
Zatím je vše v pořádku. Když nyní zadáte následující příkazy, měli byste obdržet povzbudivou odezvu:
adt -version
Pokud jste proměnnou $PATH upravili správně, příkaz by měl vrátit verzi nástroje ADT.
Stále však zbývá jeden problém. Při příštím otevření nového okna terminálu totiž zjistíte, že nové položky v cestě se
zde již nenacházejí. Příkaz nastavující cestu je třeba spustit při každém spuštění nového terminálu.
Běžným řešením tohoto problému je přidat tento příkaz do jednoho ze spouštěcích skriptů používaných v prostředí.
V systému Mac OS můžete vytvořit v adresáři ~/username soubor .bash_profile, který se spustí pokaždé, když otevřete
nové okno terminálu. V systému Ubuntu má spouštěcí skript při spuštění nového okna terminálu název .bashrc. Další
distribuce Linux a programy prostředí obsahují podobné konvence.
Přidání příkazu do spouštěcího skriptu prostředí:
1 Změna domovského adresáře:
Poslední aktualizace 31.8.2016
302
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Proměnné prostředí pro cestu
cd
2 Vytvořte profil konfigurace prostředí (je-li to nezbytné) a pomocí řetězce >>cat přesměrujte text, který zadáváte,
na konec souboru. Použijte soubor odpovídající danému operačnímu systému a prostředí. V systému Mac OS
můžete například použít soubor .bash_profile, v systému Ubuntu soubor .bashrc.
cat >> .bash_profile
3 Zadejte text, který je třeba přidat do souboru:
export PATH=$PATH:/Users/cward/SDKs/android/tools:/Users/cward/SDKs/AIR/bin
4 Ukončení přesměrování textu stisknutím kombinace CTRL + SHIFT + D na klávesnici.
5 Zobrazte soubor a zkontrolujte, zda je vše v pořádku:
cat .bash_profile
6 Otevřete nové okno terminálu a zkontrolujte cestu:
echo $PATH
Seznam by měl zahrnovat doplnění cesty.
Pokud později vytvoříte novou verzi některé sady SDK v jiném adresáři, je třeba aktualizovat příkaz Path v
konfiguračním souboru. V opačném případě bude prostředí nadále používat předchozí verzi.
Nastavení cesty v systému Windows
Když otevřete okno příkazového řádku v systému Windows, zdědí toto okno globální proměnné prostředí definované
v systémových vlastnostech. Jednou z důležitých proměnných je cesta. Jedná se o seznam adresářů, jež program
příkazu prohledává, když zadáváte název programu, který chcete spustit. Chcete-li pomocí příkazového řádku zjistit,
které adresáře cesta aktuálně obsahuje, zadejte následující příkaz:
set path
Zobrazí se tak seznam adresářů oddělený středníky, který bude vypadat přibližně takto:
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Cílem je přidat do seznamu cestu k adresáři BIN sady AIR SDK tak, aby v programu příkazu bylo možné najít nástroje
ADT a ADL. Jestliže jste sadu AIR SDK vložili do adresáře C:\SDKs\AIR, přidáte odpovídající záznam cesty
následovně:
1 Otevřete dialogové okno Vlastnosti systému v Ovládacích panelech nebo klikněte pravým tlačítkem myši na ikonu
Tento počítač a z nabídky vyberte příkaz Vlastnosti.
2 Na kartě Upřesnit klikněte na tlačítko Proměnné prostředí.
3 V dialogovém okně Proměnné prostředí vyberte v části Systémové proměnné položku Path.
4 Klikněte na tlačítko Upravit.
5 Přejděte na konec textu v poli Hodnota proměnné.
6 Těsně za aktuální hodnotu vložte následující text:
;C:\SDKs\AIR\bin
7 Kliknutím na tlačítko OK postupně zavřete dialogová okna a cestu uložte.
Poslední aktualizace 31.8.2016
303
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR
Proměnné prostředí pro cestu
Zůstává-li některé okno příkazového řádku otevřeno, nezapomeňte, že odpovídající prostředí není aktualizováno.
Otevřete nové okno příkazového řádku a zadejte následující příkaz, kterým se ujistíte, zda jsou cesty nastaveny
správně:
adt -version
Jestliže umístění sady AIR SDK později změníte nebo přidáte novou verzi, nezapomeňte aktualizovat proměnnou PATH.
Poslední aktualizace 31.8.2016

Podobné dokumenty

Stáhnout PDF s nápovědou

Stáhnout PDF s nápovědou Nastavení publikování prostředí Adobe AIR

Více

Zadán´ı bakalárské práce

Zadán´ı bakalárské práce Současný technologický vývoj umožňuje vytvářet aplikace spustitelné ve webovém prostředı́, které se svým vzhledem a chovánı́m blı́žı́ desktopovým aplikacı́m. Přesně takovou techno...

Více

Radek Hnilica Radek Hnilica

Radek Hnilica Radek Hnilica Tato „kniha“ je v jistém ohledu mým pracovním sešitem o Ruby. Pokud mám čas, zapisuji sem poznatky které jsem získal při práci s Ruby a Ruby on Rails. Nejsem profesionální „písmák“, a tak to míst...

Více

PDF

PDF Django je vyspělý webový framework napsaný v jazyce Python, který podporuje rychlý vývoj a čisté, pragmatické konstrukce. Je založený na modelech šablonách, a pohledech Má bohaté databázové API

Více

Moderní Perl

Moderní Perl začátek Moderního Perlu rozšíření core syntaxe propagace čistého stylu programování

Více