Эта статья была первоначально написана на английском языке. Текст в других языках были предоставлены машинного перевода.
Adobe Flash и AIR повсеместно платформ для разработки насыщенных интернет-приложений. Вспышка используется для приложений на основе браузера и AIR используется для разработки собственных приложений платформы. Обе платформы имеют значительную поддержку глобализации. Глобализация обеспечением функций, таких как язык знают форматирование / разбора, сопоставление, случае преобразования, локализация и многоязычные рендеринг текста поддерживаются оба этих платформ. Но еще несколько функций, таких как глобализация текст нормализации, транслитерация, Свойствам символов Юникода, кодировку преобразования, кодировка обнаружения, Коммунальные услуги Unicode строки и т.д., до сих пор отсутствует в Adobe AIR и флэш-платформ. Одной из основных причин не добавлять все эти функции в Adobe платформ выполнения является размер программного обеспечения.
Чтобы преодолеть ограничение размера выпуска, Adobe AIR и флэш может вызвать услугами внешних динамических библиотек через ActionScript. Есть несколько известных внешних библиотек, которые имеют богатую поддержку глобализации, как ICU, GNU бойким, Verisign IDN библиотеку, чтобы назвать несколько. К счастью предстоящих Adobe AIR 3.0 (теперь доступен как Adobe пре-релиз) есть замечательная функция под названием ActionScript родной расширений, что составляет около интерфейс программирования ActionScript для родной библиотеки кода, как MS Windows DLL, Os X FrameWork, Android JAR или общие библиотеки или IOS статическую библиотеку. Пожалуйста, смотрите Adobe AIR3 бета-сайта http://labs.adobe.com/technologies/flashplatformruntimes/air3/ о том, как загрузить и принять участие в Adobe AIR, пре-релиз. Пожалуйста, обратите внимание, что это родной функция расширения доступна _только_ в платформе Adobe AIR, не в платформе Flash.
В этом блоге, Я продемонстрировал образец (Скачатьair_icu )приложения для вызова ICU из приложений Adobe AIR на платформе Windows,. Читателям напомнили, что это лишь иллюстрация образец программного обеспечения и ни в высококачественное программное обеспечение, средства производства. Поэтому читатели должны проявлять осмотрительность в использовании этого программного обеспечения, как это. Пример иллюстрирует ICU разбиения по словам, предложение нарушения, UTF-преобразования и Unicode проверки имущественного характера.
Вам понадобится следующее программное обеспечение для создания расширения ICU для платформы AIR.
- MS Visual Studio 2010 (для создания AIR родной DLL расширения закодированы в C / C)
- Adobe Flex SDK 4.5.1 (http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4.5). Скачать это C:\Flex4.5.1.
- Adobe Air 3 Beta2 скачать (Чтобы построить Adobe ActionScript расширение) от http://labs.adobe.com/technologies/flashplatformruntimes/air3/ .Распакуйте это в С:\Flex4.5.1. Этот шаг перезаписывает AIR связанных с ним компонентов в Flex4.5.1 SDK с последними beta2 Adobe Air3. Также имейте копию в C:\air3_beta2 папку.
- Adobe пре-релиз флэш выполнения веб-сайте больше информации, документация и примеры по использованию ActionScript расширений. «Продуктом детали" вкладки http://labs.adobe.com/technologies/flashplatformruntimes/air3/ веб-странице FAQ о том, как присоединиться к Adobe пре-релиз программе.
- ICU 4.8 двоичных файлов (http://site.icu-project.org/download/48). Скачать Windows 32bit VC2010 почтовый. Распакуйте библиотеки в любую папку. Мой пример загружены на C:\ICU icu4.8.1 win32 папке .--
1Строительство ICU расширение для Adobe AIR
Adobe AIR т родной расширений, также известен как "ан" или "АНХ" файлы находятся в архиве пакетов. Они состоят из
- Классы ActionScript обертки ставя под внешние библиотеки DLL
- Внешних библиотек DLL
- XML-файл, описывающий детали внешних библиотек DLL
Архив АНХ файлы используются так же, как SWC библиотеки в процессе интеграции в приложения AIR. Другими словами, АНХ файл библиотеки и оно общественное API-интерфейсы ActionScript.
Охватывая все подробности о расширении ActionScript это слишком много для этого блога статью, но я объясню шаги, чтобы построить этот образец и запустить. Ниже приведены последовательные шаги и команды.
1.1Сборка Windows AIR ICU расширение DLL
1)Папка AirIcuExtensionWin имеет "AirIcuExtension.sln" решения Visual Studio. Открыть в MS VS2010.
2)Файл AIRIcuExtension.cpp обладает необходимыми код, необходимый для взаимодействия с Adobe AIR 3 бета 2. Она также имеет оболочку процедуры вызова ICU С функциями.
3)Это DLL проекта и выхода сборки AirIcuExtension.dll
1.2Строительство библиотеки ActionScript
1)Сборка библиотеки ActionScript использованием ниже команду.
C:\Flex4.5.1 Bin compc.exe-источник-путь SRC-включить-классы com.adobe.extensions.AirIcuExtension:\air3_beta2 рамки библиотеки воздух airglobal.swc-лоток AirIcuExtension.swc
Файл AirIcuExtension.as в папке SRC COM Adobe расширений имеет общественное AirIcuExtension класс, который называет ICU процедуры. В этом образце, называя ICU предложения выключателя, разбиения по словам, нормализатор, UTF-преобразования и Unicode имущественного характера были проиллюстрированы.
1.3Упаковка ActionScript родной расширение
Открытое бен AirIcuExtension.swc является молнии архив. Откройте его использования WinRAR или WinZip программы и извлечь library.swf файл в SWC пакет в AirIcuExtension / бен папка.
Папка SRC ресурсы содержит файл extension.xml, AirIcuExtension.dll и интенсивной терапии библиотек icudt48.dll, icuuc48.dll, icuio48.dll и icuin48.dll. Файл external.xml определяет внешние детали библиотеки для выполнения AIR.
Для простоты, место AirIcuExtension.dll, ICU библиотек и файлов в extension.xml AirIcuExtension бен папка. Все эти файлы упакованы в архив называется молнии AiricuExtension.ane с помощью следующей команды.
C:\air3_beta2 Bin ADT-пакета storetype pkcs12-storepass <Passwd> -Хранилище ключей <AIR сертификат> -ца ни мишени ане AirIcuExtension.ane extension.xml-SWC AirIcuExtension.swc-платформы Windows-x86 library.swf AirIcuExtension.dll icudt48.dll icuin48.dll icuio48.dll icuuc48.dll
Использование Adobe FlashBuilder4.x или C:\air3_beta2 Bin ADT программа, можно сделать AIR сертификат.
Выход архива AirIcuExtension.ane в AirIcuExtension / бен папка.
1.4Строительство AirIcuExtensionTest.mxml Тестовая программа
Теперь, когда мы построили и упакованы родной пакет расширения AiricuExtension.ane, мы readu использовать это и называют ICU услуги в тестовой программе.
Папка AirIcuExtensionTest SRC содержит AirIcuExtensionTest.mxml тестовый файл. Дескриптор файла AirIcuExtensionTest-app.xml есть. Использование MXML компилятор, AirIcuExtensionTest.swf построена следующим образом в AirIcuExtensionTest папка.
C:\Flex4.5.1 Bin compc.exe mxmlc configname = воздушного внешнего библиотечно-путь .. AirIcuExtension Bin AirIcuExtension.ane-лоток-отладки AirIcuExtensionTest.swf — SRC AirIcuExtensionTest.mxml
Выход SWF файл AirIcuExtensionTest.swf находится в бен-папку отладки.
1.5Строительство AIR пакет для выполнения AirIcuExtensionTest
Последним шагом является пакет выше AirIcuExtensionTest. Швейцарских франков и AirIcuExtension.ane файлы в папку исполняемых AIR.
C:\air3_beta2 Bin ADT-пакета XnoAneValidate-storetype pkcs12-storepass <Passwd> -Хранилище ключей <AIR сертификат> -ца ни мишени пучок AirIcuExtensionTest.air AirIcuExtensionTest-app.xml AirIcuExtensionTest.swf-extdir .. .. AirIcuExtension бен
Выход выше команды папки AirIcuExtensionTest.air. Внутри папки, там является AirIcuExtensionTest.exe. Вы можете выполнить и увидеть выход.
2Заключение
Пример иллюстрирует, как вызывать ICU из ActionScript. Расширение AIR ICU легко построена с использованием общедоступной Adobe Flex SDK и AIR3 Beta 2 SDKs. Это будет гораздо легче сделать все это в будущем Adobe Flash Builder IDE использованием графического интерфейса. Преимущества этой функцией
- AIR разработчики стремятся развивать международное приложений для настольных или мобильных иметь полную мощность СИС под рукой. Многие функции Unicode, кодировку преобразования, IDN утилиты преобразования, обработки строк, преобразований и многие другие международные функции могут быть легко закодированы.
- Родной расширение ICU один раз построили могут быть использованы любые любого разработчика, как это библиотеки.
- API-интерфейсы ActionScript вызова ICU может быть закодирован с использованием тех же подписей, ICU C API. Это исключает обучения.
- С СИС в собственном коде, производительность не скомпрометирован.
- Так как это ICU, разработчики могут ожидать, кросс-платформенный поведения в AIR программ.
- Так как расширение библиотеки AIR, ICU обновления могут быть легко повторно упакованы в в файл ан.
В дальнейшем один раз AIR3 выпущен, полноценной реанимации родной расширения с соответствующим определениям API будет большой проект глобализации.


Эй,
хороший пост.
Я думаю, это не будет работать с ОС Windows 7 64 бита очевидно, ^ ^.
Может быть, вы могли бы что-то для 64 так же хорошо
Ура,
Joggl89
Спасибо за комментарий.
Вы правы. ICU 64-битных библиотек выигрыш работать в AIR 3.0. Я помню, я не мог построить расширение DLL в VS2010. AIR 3.0 пока еще не поддерживает 64-битные.
Мы должны подождать, пока она поддерживает. Давайте дождемся после Air3.0.
Спасибо,
Хариш
Просто чтобы прояснить дальнейшее. Я проверил мой расширение на Win 7 64 Ноутбук немного, но использоваться ICU 32 бит библиотек.
-Хариш
Pingback: AIR Родные расширений Привет Пример Всемирным & Скрипта « Aboutme – блог
Спасибо за получение меня начались родной расширений. Я положил привет пример миру & Муравей скрипт интернет, на основе информации в этой должности. Вы можете прочитать об этом & проверить его на http://blog.aboutme.be/2011/09/12/air-native-extensions-hello-world-example-ant-script/
Я не могу построить ане использовании ADT. Я побежал ADT на C:\air3_RC1 образцы air_icu AirIcuExtension бен после установки “SET PATH = C:\air3_RC1 бен;%PATH%”. У меня есть следующие файлы в AirIcuExtension бен каталог, но я получил “Системе не удается найти указанный файл.” Неужели я пропустил что-нибудь?
Спасибо,
09/02/2011 03:46 PM 9,216 AirIcuExtension.dll
09/23/2011 03:16 PM 2,712 AirIcuExtension.swc
08/19/2011 08:29 AM 514 extension.xml
07/19/2011 04:43 PM 18,277,376 icudt48.dll
07/19/2011 04:36 PM 1,313,792 icuin48.dll
07/19/2011 04:42 PM 36,352 icuio48.dll
07/19/2011 04:33 PM 1,043,456 icuuc48.dll
09/23/2011 03:16 PM 1,867 library.swf
Какой файл не может найти?
Это ADT? или файл лицензии воздуха?
Вы находитесь в каталоге C:\air3_RC1 образцы air_icu AirIcuExtension бен при выполнении ADT?
Есть Somany файлы, вовлеченные, что вы столкнулись с этой ошибкой, как и я, когда я впервые побежал.
Хариш, Спасибо за помощь.
Сообщение об ошибке не был достаточно подробно, чтобы увидеть, какой файл не хватало. ADT работает нормально. Что такое воздух файл лицензии? Я не вижу каких-либо инструкций о файле лицензии. Означает ли это, AIR сертификат? Эта ошибка возникает из ADT бежать в ногу 1.3.
Спасибо,
Я решил эту проблему, добавив файл сертификата.
Спасибо за помощь!.
К сожалению я имел в виду AIR сертификат. Вы можете сгенерировать воздуха сертификат, используя программу ADT.
Это мощный, Я надеюсь, что мы будем видеть больше АНЭ в ближайшем будущем
Красиво опираться на win7 x64 следующие шаги вашего исследования.
Мне просто нужно вручную скопировать файлы * 48.dll в воздух реж, Я должен, что-то упустил в отношении упаковки…
Спасибо за новые знания!
Ради Бога, пожалуйста, сообщите нам пример AIR 3.0 NativeExtension с C #. DLL.
C # является более популярным в. NET Framework сегодня. Я искал для образца C # для NativeExtension. DLL с недель и не мог найти ни одного примера.
Привет Джеймс,
Извините, мой пример лишь иллюстрирует C / C, но не C #.
Один из способов попытаться C # DLL есть вы должны ссылаться на C # DLL из C DLL с использованием взаимодействия (Просто Google для вызова C # из C ). DLL C должен реализовывать все AIR необходимые рамки клеем, как в моем примере здесь. Это только мое предположение.
Привет Джеймс,
где вы в состоянии заставить его работать с C #?
Я также ищу например, в C #
АНХ Пример здесь
http://marbayclip.blogspot.com/search/label/ANE
Pingback: Вызов ICU от Adobe AIR приложений (Часть 2): использованием Flash Builder 4.6 » Adobe Globalization
После того как я закончу все шаги, У меня проблема, когда я выполняю. Исполняемый файл в папке воздуха
Он перепрыгивает сообщение e.g. ” не могу найти icuuc48.dll CompoNet”
но я нашел файл “icuuc45.dll” В папке Windows-x86 ~, как в следующем
\AirIcuExtensionTest.air\META-INF\AIR\extensions\com.adobe.extensions.AirIcuExtension\META-INF\ANE\Windows-x86
Должен ли я что-то упустить?
спасибо
P.S. пожалуйста, простите мой плохой английский ><
Icuuc48.dll должны присутствовать в той же папке, где лежит. EXE-файл находится. Infact все ICU библиотек должна быть там,.
Другой способ состоит в добавлении папки ICU DLL localtion переменной PATH в Windows.
Благодаря Хариш Suvarna ‘Поможем