La invocació de la UCI d'aplicacions d'Adobe AIR

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.

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ó.

Aquesta entrada va ser publicada en Anglès, Tecnologia, Tutorials i etiquetats , , . Marcar el enllaç permanent.

19 Les respostes a La invocació de la UCI d'aplicacions d'Adobe AIR

  1. Joggl89 diu:

    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

  2. Harish Suvarna diu:

    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

    • Harish Suvarna diu:

      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

  3. Pingback: Aire natiu extensions Exemple Hola Món & ANT script « Aboutme – Bloc

  4. 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/

  5. Michael Choi diu:

    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

  6. Harish Suvarna diu:

    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.

    • Michael Choi diu:

      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,

  7. Benjamí diu:

    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!

  8. James diu:

    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.

    • Harish suvarna diu:

      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ó.

    • pascal diu:

      Hola James,
      on vostè pot fer que funcioni amb c #?
      També estic buscant un exemple en C #

  9. Pingback: La invocació de la UCI d'aplicacions d'Adobe AIR (Part 2): l'ús de Flash Builder 4.6 » Adobe Globalization

  10. akdsy diu:

    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 ><

  11. Harish suvarna diu:

    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.

Deixa un comentari

La seva adreça de correu electrònica no es publicarà. Els camps obligatoris estan marcats *

*

Podeu fer servir aquestes HTML etiquetes i atributs: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>