Aquest article va ser originalment escrit en anglès. Text en altres idiomes va ser proporcionada per la traducció automàtica.
Adobe Flash i AIR són les plataformes a tot arreu per desenvolupar aplicacions riques d'Internet. Flash s'utilitza per a aplicacions basades en navegador i l'aire s'utilitza per al desenvolupament d'aplicacions natives de la plataforma. Ambdues plataformes tenen un suport considerable a la globalització. Característiques de la globalització com el format de l'habilitació en compte la localitat / anàlisi, col · lació, cas es transforma, localització i en diversos idiomes el renderització de text són compatibles amb les dues plataformes. No obstant això, alguns més característiques de globalització, com la normalització de text, transcripció, Propietats de caràcters Unicode, conversions de codificació, deteccions charset, Utilitats de cadena Unicode etc segueixen desapareguts en l'Adobe AIR i Flash de les plataformes. Una de les raons principals per no afegir totes aquestes característiques dins de les plataformes Adobe temps d'execució és la mida del programari.
Per superar el problema de limitació de mida, Adobe AIR i Flash es poden invocar els serveis de biblioteques externes dinàmica a través d'ActionScript. Hi ha algunes llibreries conegudes externs que compten amb el suport globalització rics, com en la UCI, Simplista GNU, Verisign IDN biblioteca per nomenar uns pocs. Per sort la propera Adobe AIR 3.0 (ara disponible en Adobe pre-llançament) té una característica meravellosa que es diu ActionScript extensions natives, que fa a la interfície de programació ActionScript per a una biblioteca de codi natiu, com MS Windows DLL, Us X FrameWork, Android JAR o llibreria o biblioteca estàtica iOS. Si us plau, mireu Adobe AIR3 lloc beta http://labs.adobe.com/technologies/flashplatformruntimes/air3/ sobre com descarregar i participar en l'Adobe AIR de pre-llançament. Si us plau prengui nota que aquesta característica és _sólo_ extensions natives disponibles a la plataforma d'Adobe AIR, no en la plataforma Flash.
En aquest blog, Jo demostro una mostra (Descarregarair_icu )per invocar l'aplicació en l'UCI d'una aplicació d'Adobe AIR a la plataforma Windows. Es recorda al lector que això és només el programari mostra la il · lustració i no per mitjà de programari de qualitat de producció. Per tant, els lectors han de mostrar discreció en l'ús d'aquest programari, ja que és. La mostra il · lustra trencar UCI paraula, sentència d'última hora, utf-conversió i la verificació de caràcters Unicode de propietat.
Vostè necessitarà el següent programari per construir una extensió de la UCI per a la plataforma AIR.
- MS Visual Studio 2010 (per construir la extensió DLL AIR codi natiu en C / C)
- Adobe Flex SDK 4.5.1 (http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4.5). Descarregar aquest a C:\Flex4.5.1.
- Adobe Air 3 Beta2 descàrrega (Per construir l'extensió d'Adobe Actionscript) de http://labs.adobe.com/technologies/flashplatformruntimes/air3/ .Descomprimir aquest per C:\Flex4.5.1. Aquest pas sobreescriu els components relacionats amb l'aire en Flex4.5.1 SDK d'Adobe amb l'última beta2 AIR3. També cal tenir una còpia en C:\air3_beta2 carpeta.
- El pre-llançament d'Adobe Flash de lloc web en temps d'execució té més informació, documentació i exemples sobre com utilitzar les extensions d'ActionScript. La pestanya 'detalls del producte en el http://labs.adobe.com/technologies/flashplatformruntimes/air3/ pàgina web té un FAQ sobre la manera d'unir-se a la Adobe pre-llançament del programa.
- UCI 4.8 binaris (http://site.icu-project.org/download/48). Descarregar Windows de 32 bits VC2010 zip. Descomprimir les biblioteques en qualsevol carpeta. La meva mostra descarregat en C:\ICU icu4.8.1 carpeta win32 .--
1La construcció de la UCI d'extensió per a Adobe AIR
Adobe AIR t natiu extensions, també coneguda com "anèmia" o fitxers "ENA" s'arxiven els paquets. Aquests consisteixen en
- Classes d'ActionScript embolcall posar en DLLs externes
- Els arxius DLL externa
- XML que descriu els detalls de l'arxiu d'arxius DLL externa
Els arxius arxivats ANE s'utilitzen igual que les biblioteques de SWC en la integració en una aplicació AIR. En altres paraules, ANE és un arxiu de la biblioteca pública i s'ha API d'ActionScript.
Cobrint tots els detalls sobre l'extensió d'ActionScript és massa per a aquest article del bloc, però vaig a explicar els passos per crear aquesta mostra i executar. A continuació hi ha els passos seqüencials i les ordres.
1.1Edifici de Windows AIR UCI DLL d'extensió
1)La carpeta té AirIcuExtensionWin 'AirIcuExtension.sln "la solució de Visual Studio. Obrir en MS VS2010.
2)El AIRIcuExtension.cpp arxiu conté el codi necessari necessaris per interactuar amb Adobe AIR 3 beta 2. També té les rutines de embolcall trucades UCI funcions C.
3)Aquest és un projecte d'arxiu DLL i la sortida de la compilació és AirIcuExtension.dll
1.2La construcció d'ActionScript Biblioteca
1)Construcció de la biblioteca d'ActionScript amb la següent comanda.
C:\Flex4.5.1 bin compc.exe-source-path src inclouen classes de com.adobe.extensions.AirIcuExtension-external-library-path C:\air3_beta2 marcs libs aire airglobal.swc sortida bin AirIcuExtension.swc
El AirIcuExtension.as arxiu a la carpeta src com Adobe extensions té la AirIcuExtension classe pública que crida a la rutina a la UCI. En aquesta mostra, cridant a la UCI interruptor sentència, paraula interruptor, normalitzador, utf-conversió i la propietat de caràcters Unicode s'han il · lustrat.
1.3Embalatge ActionScript extensió nativa
Obriu la safata de AirIcuExtension.swc és un arxiu comprimit. Obrir-lo amb WinRAR o WinZip programa i extreure el library.swf arxiu en el paquet de SWC al AirIcuExtension / bin carpeta.
La carpeta src recursos conté l'arxiu extension.xml, AirIcuExtension.dll i la UCI DLLs icudt48.dll, icuuc48.dll, icuio48.dll i icuin48.dll. L'arxiu external.xml defineix els detalls de la biblioteca externa a AIR runtime.
Per raons de simplicitat, lloc de la AirIcuExtension.dll, UCI DLLs i arxius en extension.xml AirIcuExtension bin carpeta. Tots aquests arxius són empaquetats en un arxiu comprimit anomenat AiricuExtension.ane amb la següent comanda.
C:\air3_beta2 bin ADT-package-storetype PKCS12-storepass <passwd> -Keystore <AIR certificat> -TSA no són objecte d'annexos AirIcuExtension.ane extension.xml SWC AirIcuExtension.swc plataformes Windows x86 library.swf AirIcuExtension.dll icudt48.dll icuin48.dll icuio48.dll icuuc48.dll
Ús Adobe FlashBuilder4.x o C:\air3_beta2 bin ADT programa, es pot fer un certificat d'AIR.
La sortida és un arxiu AirIcuExtension.ane en el AirIcuExtension / bin carpeta.
1.4La construcció de la AirIcuExtensionTest.mxml programa de prova
Ara que hem construït i empaquetat del paquet de l'extensió nativa AiricuExtension.ane, estem readu a usar-lo i trucar als serveis de la UCI en un programa de prova.
La carpeta AirIcuExtensionTest src conté l'arxiu de prova AirIcuExtensionTest.mxml. L'arxiu descriptor AirIcuExtensionTest-app.xml ha. Utilitzant el compilador MXML, AirIcuExtensionTest.swf es construeix de la següent manera en AirIcuExtensionTest carpeta.
C:\Flex4.5.1 bin compc.exe mxmlc = configname aire exterior-library-path .. AirIcuExtension bin AirIcuExtension.ane-Safata de sortida de depuració AirIcuExtensionTest.swf — src AirIcuExtensionTest.mxml
La sortida swf AirIcuExtensionTest.swf es col · loca a la carpeta bin-debug.
1.5La construcció de paquets per a l'execució d'AIR AirIcuExtensionTest
L'últim pas és empaquetar el AirIcuExtensionTest dalt. Swf i AirIcuExtension.ane arxius en una carpeta executable AIR. Executeu el següent comandament
C:\air3_beta2 bin ADT-package-XnoAneValidate-storetype PKCS12-storepass <passwd> -Keystore <AIR certificat> -TSA no són objecte de paquet AirIcuExtensionTest.air AirIcuExtensionTest-app.xml AirIcuExtensionTest.swf-extdir .. .. AirIcuExtension bin
La sortida de l'ordre anterior és una carpeta AirIcuExtensionTest.air. Dins de la carpeta, hi ha és AirIcuExtensionTest.exe. Vostè pot executar i veure la sortida.
2Conclusió
La mostra il · lustra la manera d'invocar a l'UCI d'ActionScript. L'extensió d'AIR a la UCI és fàcil de construir amb la disposició del públic Adobe Flex SDK i la Beta AIR3 2 SDKs. Serà molt més fàcil fer tot això en el futur, Adobe Flash Builder IDE amb interfície gràfica d'usuari. Els avantatges d'aquesta funció
- Els desenvolupadors d'AIR que busquen desenvolupar les sol · licituds internacionals d'escriptori o mòbils tenen el poder de l'UCI a la mà. Moltes de les característiques Unicode, conversions de codificació, IDN conversió d'utilitats, processament de cadenes, transforma i moltes més característiques internacionals poden ser fàcilment codificat.
- El natiu d'extensió de la UCI, un cop incorporat es pot utilitzar qualsevol desenvolupador de qualsevol, ja que és una biblioteca.
- L'API d'ActionScript anomenada unitat de cures intensives poden ser codificats utilitzant les mateixes signatures que l'UCI C API. Això elimina la corba d'aprenentatge.
- Com que la UCI està en codi natiu, el rendiment no es vegi compromesa.
- Ja que és a l'UCI, els desenvolupadors poden esperar multiplataforma comportament dels programes AIRE.
- Ja que l'extensió és una biblioteca d'AIR, Canvis a la UCI pot ser fàcilment re-empaquetat a l'arxiu ane.
En el futur, quan s'allibera AIR3, una extensió de ple dret a la UCI nadius amb una adequada definició de l'API serà un gran projecte de globalització.


Hey,
bon lloc.
Suposo que això no funcionarà amb Windows 7 64 òbviament poc ^ ^.
Potser vostè podria oferir una mica de 64 tan bé
Salutacions ,
Joggl89
Gràcies pel comentari.
Vostè té raó. UCI de 64 bits DLLs donot treball en AIR 3.0. Recordo que no podia generar el fitxer DLL d'extensió en VS2010. AIR 3.0 no és compatible encara amb 64 bits.
Hem d'esperar fins que es recolza. Anem a esperar a després de Air3.0.
Gràcies,
Harish
Només per aclarir encara més. He provat el meu extensió en el triomf 7 64 ordinador portàtil, però poc utilitzada en l'UCI 32 DLLs poc.
-Harish
Pingback: Aire natiu extensions Exemple Hola Món & ANT script « Aboutme – Bloc
Gràcies per haver-me iniciat en les extensions natives. He posat un exemple hola món & formiga guió en línia, sobre la base de la informació en aquest post. Vostè pot llegir sobre ell & Mira-t'ho en http://blog.aboutme.be/2011/09/12/air-native-extensions-hello-world-example-ant-script/
No es pot construir utilitzant ane ADT. Vaig córrer ADT en C:\air3_RC1 samples air_icu AirIcuExtension bin després d'establir “establir path = c:\air3_RC1 bin;%PATH%”. Tinc els següents arxius en AirIcuExtension directori bin, però tinc “sistema no pot trobar el fitxer especificat.” M'he perdut alguna cosa?
Gràcies,
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
Què arxiu que no pot trobar?
És ADT? o l'aire arxiu de llicència?
¿Està vostè en el directori C:\air3_RC1 samples air_icu AirIcuExtension bin en executar ADT?
Hi ha arxius somany involucrats que es troba amb aquest error igual que jo quan em va córrer per primera vegada.
Harish, gràcies per l'ajuda.
Missatge d'error no va ser suficient detall per veure un arxiu que faltava. ADT funciona bé. Què és l'arxiu de llicència d'aire? No puc veure cap instrucció sobre l'arxiu de llicència. Què significa certificat d'AIR? Aquest error es produeix a partir d'executar ADT en el pas 1.3.
Gràcies,
He resolt el problema mitjançant l'addició del fitxer del certificat.
Gràcies per l'ajuda.
Ho sento, volia dir AIR certificat. Pot generar certificat d'aire mitjançant el programa de ADT.
Això és de gran abast, Espero que puguem veure més de ANES en un futur pròxim
Bé es basen en Win7 x64 següents passos de la seva recerca.
Només havia de copiar manualment els arxius * 48.dll en l'aire dir, I d'embalatge deu haver perdut alguna cosa en relació amb…
Gràcies pels nous coneixements!
Per l'amor de Déu, si us plau, ens donen un exemple d'AIR 3.0 NativeExtension amb C #. Dll.
C # és més popular en. NET Framework avui. He estat buscant per a la mostra C # per NativeExtension. Dll de setmana i no va poder trobar un sol exemple.
Hola James,
Trist, meu exemple només il · lustra C / C, però no C #.
Una forma d'intentar dll C # s'ha de invocar dll C # a partir d'una interoperabilitat de C utilitzant dll (Simplement google per trucar des de C # C ). El C dll d'aplicar tot l'aire necessari cola marc com en el meu exemple aquí. Això és només la meva suposició.
Hola James,
on vostè pot fer que funcioni amb c #?
També estic buscant un exemple en C #
ANE exemple aquí
http://marbayclip.blogspot.com/search/label/ANE
Pingback: La invocació de la UCI d'aplicacions d'Adobe AIR (Part 2): l'ús de Flash Builder 4.6 » Adobe Globalization
Després d'acabar totes les mesures, Tinc un problema en executar el fitxer exe. Carpeta en l'aire
Es salta un missatge de e.g. ” no pot trobar la componetes icuuc48.dll”
però he trobat l'arxiu “icuuc45.dll” a la carpeta de Windows 86 ~ igual que els següents
\AirIcuExtensionTest.air\META-INF\AIR\extensions\com.adobe.extensions.AirIcuExtension\META-INF\ANE\Windows-x86
Em falta alguna cosa?
gràcies
P.S. si us plau perdonin la meva mala Anglès ><
El icuuc48.dll ha d'estar present en la mateixa carpeta que el fitxer. Exe resideix. De fet tots els arxius DLL a l'UCI ha d'estar allà.
L'altra forma consisteix a afegir la dll UCI localtion carpeta a la variable PATH de Windows.
gràcies HARISH suvarna ‘s ajuda