A Джои Лотт (Joey Lott) облада Adobe AIR – это кросс-платформенная исполнительная среда d ДЖОИ ЛОТТ и др. ет богатым профессиональным для развертывания приложений Flash и Flex в качестве на- o опытом работы с такими техно стольных или в качестве гибридов, работающих в смешанном b логиями Adobe, как Flex, Flash сетевом/автономном режиме. Приложения AIR устанавли- и ActionScript. Он автор целого ваются и выполняются локально, поэтому у них есть доступ e ADOBE ряда книг в этой области. Вместе к локальной файловой системе, что дает им преимущества с Сэмом Аном является компань A над веб-приложениями. Приложения AIR могут при необхо- оном и основателем «The Morphic димости работать автономно, а когда появляется доступ к се- I Group», компании по разработке AIR ти – в сетевом режиме. R интерактивных приложений. Настоящее издание – это специальное руководство по AIR, Кэтрин Ротондо (Kathryn Roton написанное для разработчиков, знакомых с Flash и/или Flex. длПр do) – программист в Schematic. Авторы знакомят с важными функциями AIR API, а затем по- яа Она получила диплом програм казывают, как на практике создаются приложения AIR. Под- накти миста в Harvard Extension School робно описывается, как создавать и настраивать системные стч и сертификат по Flash в родай ое окна, а также обмениваться данными с файлами локальной лс лендской Школе дизайна. файловой системы и с базой данных. Благодаря тому, что ьнкое Сстэрму иАрно (вSаaнmи еAмh nи) зсаонзидманаилсеям кRоIнA нпресокеоклт,ь кроа змреалбкаитых впаремимыейр онва опбръоетяджинеенниыи нве сокдоилнь ккирху пгнлыавй, ых п рук ро в течение ряда лет, в том числе читатель плавно осваивает основы и учится применять их для ив для таких клиентов, как Pfizer, создания приложений в новом стиле «непостоянного под- ло од Wyeth, MINIUSA и Puma. ключения к сети». Попутно вы узнаете, как AIR подключается жс Практическое руководство т к веб-сервисам и связывает воедино Flex и JavaScript. енво по среде для настольных Эшли Аткинс (Ashley Atkins) – и п старший программист в «Six Red Книга хорошо иллюстрирована и содержит массу исходного йо приложений Flash и Flex Marbles», у которого более чем кода доступного для загрузки из сети Интернет. Fla ср шестилетний опыт разработки на sе hд ActionScript. Он занимался как ие разработкой простых интерак F тивных обучающих программ, так Спрашивайте Äæîè Ëîòò, Äýâèä Ôëýíàãàí le и проектированием и созданием наши книги: Äåððîí Øàëë JavaScript. x приложений на Flex и AIR. è Êåéò Ïèòåðñ Ïîäðîáíîå ActionScript 3.0. ðóêîâîäñòâ î, Ñáîðíèê ðåöåïòîâ 5-å èçäàíèå СД . Ж А Н. Категория: Flash/ActionScript Êîëèí Ìóê Ñàíäðî Êîðñàðî Л , О Уровень подготовки читателей: средний ActionScript 2.0. Ìóëüòèïëèêàöèÿ Э.Т Т Îñíîâû è Flash А, Т К К . И Р НО СТ О Н Д О ISBN-13 978-5-93286-136-3 ISBN-10 5-93286-136-3 www.symbol.ru Издательство «Символ-Плюс» (812) 324-5353, (495) 945-8100 9 785932 861363 По договору между издательством «Символ(cid:19)Плюс» и Интернет(cid:19)мага(cid:19) зином «Books.Ru – Книги России» единственный легальный способ получения данного файла с книгой ISBN 5(cid:19)93286(cid:19)136(cid:19)3, название «Adobe AIR. Практическое руководство по среде для настольных при(cid:19) ложений Flash и Flex.» – покупка в Интернет(cid:19)магазине «Books.Ru – Книги России». Если Вы получили данный файл каким(cid:19)либо другим образом, Вы нарушили международное законодательство и законо(cid:19) дательство Российской Федерации об охране авторского права. Вам необходимо удалить данный файл, а также сообщить издательству «Символ(cid:19)Плюс» ([email protected]), где именно Вы получили дан(cid:19) ный файл. Adobe AIR in Action Joey Lott, Kathryn Rotondo Sam Ahn, Ashley Atkins Adobe AIR Практическое руководство по среде для настольных приложений Flash и Flex Джои Лотт, Кэтрин Ротондо, Сэмюел Ан, Эшли Аткинс Санкт(cid:6)Петербург–Москва 2009 Серия «High tech» Джои Лотт, Кэтрин Ротондо, Сэмюел Ан, Эшли Аткинс Adobe AIR. Практическое руководство по среде для настольных приложений Flash и Flex Перевод С.Маккавеева Главный редактор А.Галунов Зав. редакцией Н.Макарова Выпускающий редактор П. Щеголев Научный редактор М.Антипин Редактор Ю.Бочина Корректор С.Минин Верстка Д.Орлова Лотт Дж., Ротондо К., Ан С., Аткинс Э. Adobe AIR.Практическое руководство по среде для настольных приложений Flash и Flex. – Пер. с англ.– СПб.: Символ%Плюс, 2009.– 352 с., ил. ISBN%10: 5%93286%136%3 ISBN%13: 978%5%93286%136%3 Adobe AIR – кросс%платформенная среда исполнения для развертывания при% ложений Flash и Flex в качестве настольных или работающих в смешанном се% тевом/автономном режиме. Приложения AIR устанавливаются и выполняют% ся локально, поэтому у них есть доступ к файловой системе, что дает им пре% имущества над веб%приложениями. Авторы начинают с простых вещей, знакомят с функциями AIR API, а затем показывают, как на практике создаются приложения AIR. Рассматриваются создание и настройка системных окон, а также обмен данными с локальной файловой системой или базой данных. Обсуждается, как AIR подключается квеб%сервисам и как устраняет разрыв между Flex и JavaScript. Книга хорошо иллюстрирована и содержит массу исходного кода, доступного для загрузки из Интернета. Издание предназначено для разработчиков, знакомых с Flash иFlex и стремящихся перейти от броузерных приложений к настольным. ISBN(cid:1)10: 5(cid:1)93286(cid:1)136(cid:1)3 ISBN(cid:1)13: 978(cid:1)5(cid:1)93286(cid:1)136(cid:1)3 ISBN: 1(cid:1)933988(cid:1)48(cid:1)7 (англ) © Издательство Символ%Плюс, 2009 Authorized translation of the English edition © 2009 Manning Publications Co. This translation is published and sold by permission of Manning Publications Co., the owner of all rights to publish and sell the same. Все права на данное издание защищены Законодательством РФ, включая право на полное или час% тичное воспроизведение в любой форме. Все товарные знаки или зарегистрированные товарные зна% ки, упоминаемые в настоящем издании, являются собственностью соответствующих фирм. Издательство«Символ%Плюс».199034,Санкт%Петербург,16линия,7, тел.(812) 324%5353, www.symbol.ru. Лицензия ЛП N 000054 от 25.12.98. Налоговая льгота – общероссийский классификатор продукции ОК 005%93, том 2; 953000 – книги и брошюры. Подписано в печать 30.10.2008. Формат 70х100 1/16. Печать офсетная. Объем 22 печ.л. Тираж 1500 экз. Заказ № Отпечатано с готовых диапозитивов в ГУП «Типография «Наука» 199034, Санкт%Петербург, 9 линия, 12. Оглавление Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Об авторах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Благодарности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Об этой книге. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1. Введение в Adobe AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.1. Анатомия Adobe AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.1.1. Разработка приложений для исполнительной среды . . . . . . . 20 1.1.2. Зачем нужны настольные приложения?. . . . . . . . . . . . . . . . . . 21 1.1.3. Изучаем возможности AIR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.2. Выполнение AIR%приложений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.3. Безопасность и аутентичность приложений AIR. . . . . . . . . . . . . . . 24 1.3.1. Безопасность приложений AIR. . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.3.2. Гарантии аутентичности приложения. . . . . . . . . . . . . . . . . . . . 25 1.4. Создание приложений AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.5. Знакомство с дескрипторами приложений AIR. . . . . . . . . . . . . . . . 29 1.5.1. Элемент application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.5.2. Элемент id. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.5.3. Элемент version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.5.4. Элемент filename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.5.5. Элемент initialWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.5.6. Элемент name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.5.7. Элементы title и description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.5.8. Элемент installFolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.5.9. Элемент programMenuFolder. . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.5.10. Элемент icon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.5.11. Элемент customUpdateUI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.5.12. Элемент fileTypes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.6. Создание приложений AIR спомощьюFlexBuilder . . . . . . . . . . . . 35 1.6.1. Конфигурирование нового проекта AIR . . . . . . . . . . . . . . . . . . 36 1.6.2. Создание файлов проекта AIR. . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1.6.3. Тестирование приложения AIR . . . . . . . . . . . . . . . . . . . . . . . . . 37 1.6.4. Создание инсталлятора. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6 Оглавление 1.7. Создание приложений AIR с помощью Flash . . . . . . . . . . . . . . . . . . 40 1.7.1. Конфигурирование нового проекта AIR . . . . . . . . . . . . . . . . . . 41 1.7.2. Создание файлов проектов AIR. . . . . . . . . . . . . . . . . . . . . . . . . . 42 1.7.3. Тестирование приложения AIR . . . . . . . . . . . . . . . . . . . . . . . . . 42 1.7.4. Создание инсталлятора. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 1.8. Создание приложений AIR с помощью Flex SDK . . . . . . . . . . . . . . 45 1.8.1. Конфигурирование нового проекта AIR . . . . . . . . . . . . . . . . . . 45 1.8.2. Создание файлов проекта AIR. . . . . . . . . . . . . . . . . . . . . . . . . . . 45 1.8.3. Тестирование приложения AIR . . . . . . . . . . . . . . . . . . . . . . . . . 46 1.8.4. Создание инсталлятора. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 1.9. Простое приложение AIR для Flex. . . . . . . . . . . . . . . . . . . . . . . . . . . 50 1.10. Простое приложение AIR для Flash. . . . . . . . . . . . . . . . . . . . . . . . . 51 1.11. Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2. Приложения, окна и меню. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.1. Общие сведения о приложениях и окнах . . . . . . . . . . . . . . . . . . . . . 56 2.1.1. Приложение Flash и окна. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.1.2. Приложение Flex и окна. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.2. Управление окнами. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 2.2.1. Получение ссылок на окна. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 2.2.2. Размещение окон. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 2.2.3. Закрытие окон . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 2.2.4. Упорядочение окон . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 2.2.5. Перемещение окон и изменение их размеров. . . . . . . . . . . . . . 84 2.3. Управление приложением. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 2.3.1. Обнаружение бездействия пользователя. . . . . . . . . . . . . . . . . . 88 2.3.2. Запуск приложений при входе в систему . . . . . . . . . . . . . . . . . 88 2.3.3. Привязка файлов к приложениям . . . . . . . . . . . . . . . . . . . . . . . 89 2.3.4. Оповещение пользователя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 2.3.5. Полноэкранный режим . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 2.4. Меню . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 2.4.1. Создание меню . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 2.4.2. Добавление элементов в меню. . . . . . . . . . . . . . . . . . . . . . . . . . . 93 2.4.3. Перехват события – выбора пункта меню. . . . . . . . . . . . . . . . . 93 2.4.4. Создание особых пунктов меню . . . . . . . . . . . . . . . . . . . . . . . . . 94 2.4.5. Применение меню . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 2.5. Начинаем разработку приложения AirTube. . . . . . . . . . . . . . . . . .101 2.5.1. Обзор AirTube. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 2.5.2. Начало. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 2.5.3. Создание модели данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104 2.5.4. Разработка сервиса AirTube. . . . . . . . . . . . . . . . . . . . . . . . . . . .107 2.5.5. Получение URL для .flv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 2.5.6. Создание главного окна AirTube. . . . . . . . . . . . . . . . . . . . . . . .112 2.5.7. Добавление окон видео и HTML . . . . . . . . . . . . . . . . . . . . . . . .116 2.6. Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 Оглавление 7 3. Работа с файловой системой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 3.1. Понятие синхронизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 3.1.1. Отмена асинхронных файловых операций . . . . . . . . . . . . . . .125 3.2. Получение ссылок на файлы и каталоги. . . . . . . . . . . . . . . . . . . . .126 3.2.1. Знакомство с классом File . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 3.2.2. Ссылки на стандартные каталоги. . . . . . . . . . . . . . . . . . . . . . .126 3.2.3. Относительные ссылки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 3.2.4. Абсолютные ссылки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130 3.2.5. Получение полного пути . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130 3.2.6. Произвольные ссылки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132 3.2.7. Красивое отображение путей. . . . . . . . . . . . . . . . . . . . . . . . . . .138 3.3. Вывод содержимого каталога . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140 3.3.1. Синхронное получение содержимого каталога . . . . . . . . . . .141 3.3.2. Асинхронное получение содержимого каталога . . . . . . . . . .141 3.4. Создание каталогов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142 3.5. Удаление каталогов и файлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146 3.6. Копирование и перемещение файлов икаталогов. . . . . . . . . . . . .147 3.7. Чтение и запись файлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150 3.7.1. Чтение из файлов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150 3.7.2. Запись в файлы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163 3.8. Чтение и запись списков воспроизведениямузыки . . . . . . . . . . .167 3.8.1. Создание модели данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168 3.8.2. Создание контроллера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 3.8.3. Создание интерфейса пользователя . . . . . . . . . . . . . . . . . . . . .176 3.9. Безопасное хранение данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178 3.10. Запись в файлы в AirTube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 3.11. Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186 4. Копирование и вставка. Перетаскивание. . . . . . . . . . . . . . . . . . . . .187 4.1. Использование буфера обмена дляпередачиданных . . . . . . . . . .188 4.1.1. Что такое буфер обмена? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188 4.1.2. Форматы данных буфера обмена. . . . . . . . . . . . . . . . . . . . . . . .189 4.1.3. Чтение и запись данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190 4.1.4. Удаление данных из буфера обмена. . . . . . . . . . . . . . . . . . . . .191 4.1.5. Режимы передачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192 4.1.6. Отложенный вывод. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 4.2. Копирование и вставка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195 4.2.1. Выбор буфера обмена . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195 4.2.2. Копирование контента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195 4.2.3. Вставка контента. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201 4.2.4. Вырезание контента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203 4.2.5. Пользовательские форматы данных . . . . . . . . . . . . . . . . . . . .205 4.3. Перетаскивание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210 4.3.1. Логика перетаскивания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210 8 Оглавление 4.3.2. События, возникающие при перетаскивании. . . . . . . . . . . . .211 4.3.3. Использование менеджера перетаскивания. . . . . . . . . . . . . .212 4.3.4. Индикаторы перетаскивания . . . . . . . . . . . . . . . . . . . . . . . . . .217 4.3.5. Перетаскивание из приложения AIR. . . . . . . . . . . . . . . . . . . .218 4.3.6. Перетаскивание в приложение AIR. . . . . . . . . . . . . . . . . . . . .219 4.4. Добавлений функций перетаскивания вAirTube . . . . . . . . . . . . .221 4.5. Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222 5. Работа с локальными базами данных. . . . . . . . . . . . . . . . . . . . . . . .224 5.1. Что такое база данных? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225 5.2. Понятие об SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228 5.2.1. Создание и удаление таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . .229 5.2.2. Добавление данных в таблицы . . . . . . . . . . . . . . . . . . . . . . . . .231 5.2.3. Редактирование данных в таблицах. . . . . . . . . . . . . . . . . . . . .232 5.2.4. Удаление данных из таблиц. . . . . . . . . . . . . . . . . . . . . . . . . . . .233 5.2.5. Извлечение данных из таблиц. . . . . . . . . . . . . . . . . . . . . . . . . .233 5.3. Создание и открытие баз данных . . . . . . . . . . . . . . . . . . . . . . . . . . .240 5.4. Выполнение команд SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241 5.4.1. Создание команд SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242 5.4.2. Выполнение команд SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242 5.4.3. Обработка результатов SELECT . . . . . . . . . . . . . . . . . . . . . . . .243 5.4.4. Типизация результатов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244 5.4.5. Постраничный вывод результатов . . . . . . . . . . . . . . . . . . . . . .244 5.4.6. Параметрические команды SQL . . . . . . . . . . . . . . . . . . . . . . . .245 5.4.7. Транзакции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246 5.5. Приложение ToDo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248 5.5.1. Создание модели данных элемента спискатекущихдел . . .249 5.5.2. Создание компоненты элемента списка дел . . . . . . . . . . . . . .250 5.5.3. Создание базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251 5.5.4. Создание формы для ввода данных . . . . . . . . . . . . . . . . . . . . .252 5.5.5. Добавление команд SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254 5.6. Работа с несколькими базами данных. . . . . . . . . . . . . . . . . . . . . . .259 5.7. Добавление в AirTube поддержки баз данных . . . . . . . . . . . . . . . .261 5.7.1. Модификация ApplicationData для поддержки режимов онлайн, офлайн . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261 5.7.2. Добавление кнопки для переключения режимов . . . . . . . . .263 5.7.3. Поддержка сохранения и поиска для режима офлайн . . . . .265 5.8. Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .269 6. Сетевое взаимодействие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270 6.1. Контроль подключения к сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270 6.1.1. Контроль соединения HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . .271 6.1.2. Контроль за доступностью сокетов. . . . . . . . . . . . . . . . . . . . . .273 6.2. Добавление контроля сети в AirTube. . . . . . . . . . . . . . . . . . . . . . . .275 6.3. Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278 Оглавление 9 7. HTML в AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279 7.1. Показ HTML в AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280 7.1.1. Применение встроенных объектов Flash, отображающих HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280 7.1.2. Загрузка контента PDF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282 7.1.3. Использование компоненты Flex . . . . . . . . . . . . . . . . . . . . . . .283 7.2. Управление загрузкой HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285 7.2.1. Управление кэшированием контента. . . . . . . . . . . . . . . . . . . .285 7.2.2. Управление аутентификацией . . . . . . . . . . . . . . . . . . . . . . . . .286 7.2.3. Задание агента пользователя. . . . . . . . . . . . . . . . . . . . . . . . . . .286 7.2.4. Управление постоянными данными. . . . . . . . . . . . . . . . . . . . .287 7.2.5. Задание значений по умолчанию . . . . . . . . . . . . . . . . . . . . . . .287 7.3. Прокрутка контента HTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287 7.3.1. Прокрутка HTML во Flex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288 7.3.2. Прокрутка контента HTML с помощью ActionScript . . . . . .288 7.3.3. Создание окон с автопрокруткой . . . . . . . . . . . . . . . . . . . . . . .291 7.4. Навигация по журналу посещений . . . . . . . . . . . . . . . . . . . . . . . . .292 7.5. Взаимодействие с JavaScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295 7.5.1. Управление элементами HTML/JavaScript изActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295 7.5.2. Обработка событий JavaScript из ActionScript. . . . . . . . . . . .300 7.5.3. Создание смешанного приложения . . . . . . . . . . . . . . . . . . . . .302 7.5.4. Обработка стандартных команд JavaScript . . . . . . . . . . . . . .305 7.5.5. Ссылки на элементы ActionScript из JavaScript . . . . . . . . . .310 7.6. Проблемы безопасности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314 7.6.1. Песочницы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315 7.6.2. Шунтирование песочниц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316 7.7. Добавление HTML в AirTube. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318 7.8. Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .322 8. Распространение и обновление приложений AIR . . . . . . . . . . . . .323 8.1. Распространение приложений . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323 8.1.1. Использование стандартного значка . . . . . . . . . . . . . . . . . . . .324 8.1.2. Создание собственного значка. . . . . . . . . . . . . . . . . . . . . . . . . .327 8.2. Обновление приложений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330 8.3. Запуск приложений AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .338 8.3.1. Обработка события invoke . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339 8.3.2. Запуск AirTube через ассоцциированный файл. . . . . . . . . . .339 8.3.3. Перехват событий броузера . . . . . . . . . . . . . . . . . . . . . . . . . . . .341 8.4. Резюме. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .344 Алфавитный указатель. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .345