Menjalankan ICU dari Aplikasi Adobe AIR

Artikel ini aslinya ditulis dalam bahasa Inggris. Teks dalam bahasa lain disediakan oleh mesin terjemahan.

Adobe Flash dan AIR adalah platform di mana-mana untuk mengembangkan aplikasi internet kaya. Flash digunakan untuk aplikasi berbasis browser dan AIR digunakan untuk mengembangkan aplikasi platform asli. Kedua platform memiliki dukungan yang cukup untuk globalisasi. Globalisasi pemberdayaan fitur seperti format lokal menyadari / parsing, pemeriksaan, kasus transformasi, lokalisasi dan multi-bahasa render teks didukung oleh kedua platform. Tetapi beberapa fitur seperti globalisasi lebih normalisasi teks, transliterasi, Unicode karakter sifat, encoding konversi, charset pendeteksian, Utilitas string Unicode dll masih hilang dalam Adobe AIR dan platform flash. Salah satu alasan utama untuk tidak menambahkan semua fitur dalam platform runtime Adobe adalah ukuran dari perangkat lunak.

Untuk mengatasi masalah keterbatasan ukuran, Adobe AIR dan Flash dapat memanggil layanan dari pustaka dinamis eksternal melalui ActionScript. Ada beberapa perpustakaan eksternal terkenal yang memiliki dukungan globalisasi kaya seperti ICU, Fasih GNU, Verisign IDN perpustakaan untuk beberapa nama. Untungnya mendatang Adobe AIR 3.0 (sekarang tersedia sebagai pre-release Adobe) memiliki fitur luar biasa yang disebut ActionScript ekstensi asli, yaitu sekitar antarmuka pemrograman ActionScript untuk perpustakaan kode asli seperti MS Windows DLL, Os X Framework, Android JAR atau shared library atau perpustakaan statis IOS. Silakan lihat situs beta Adobe AIR3 http://labs.adobe.com/technologies/flashplatformruntimes/air3/ tentang bagaimana untuk men-download dan mengambil bagian dalam Adobe AIR pre-release. Harap membuat catatan bahwa fitur ini ekstensi asli _only_ tersedia di platform Adobe AIR, tidak dalam platform flash.

Dalam blog ini, Aku menunjukkan sampel (Men-downloadair_icu )aplikasi untuk memanggil ICU dari aplikasi Adobe AIR pada platform Windows. Pembaca diingatkan bahwa ini hanya ilustrasi perangkat lunak sampel dan tidak ada perangkat lunak produksi berarti kualitas. Oleh karena itu pembaca harus menunjukkan kebijaksanaan dalam menggunakan software ini karena. Sampel menggambarkan melanggar kata ICU, kalimat melanggar, utf-konversi dan verifikasi karakter Unicode properti.

Anda akan membutuhkan software berikut ini untuk membangun sebuah ekstensi untuk platform AIR ICU.

1Bangunan ICU ekstensi untuk Adobe AIR

Adobe AIR t asli ekstensi, juga dikenal sebagai 'gan' atau 'Ane' file diarsipkan paket. Ini terdiri dari

  • ActionScript kelas wrapper menelepon ke DLL eksternal
  • Eksternal DLL
  • File XML yang menjelaskan rincian dari DLL eksternal

Para Ane arsip file yang digunakan seperti perpustakaan SWC dalam mengintegrasikan ke dalam aplikasi AIR. Dengan kata lain, File Ane adalah perpustakaan dan memiliki masyarakat ActionScript API.

Mencakup semua rincian tentang perluasan ActionScript adalah terlalu banyak untuk ini artikel blog, tapi saya akan menjelaskan langkah-langkah untuk membangun sampel ini dan menjalankan. Berikut adalah langkah-langkah berurutan dan perintah.

1.1Membangun Windows AIR ICU Ekstensi DLL

1)Folder AirIcuExtensionWin telah 'AirIcuExtension.sln' solusi Visual studio. Buka di MS VS2010.

2)Para AIRIcuExtension.cpp file yang memiliki kode yang dibutuhkan untuk antarmuka dengan Adobe AIR 3 beta 2. Ia juga memiliki rutinitas bungkusnya ICU memanggil fungsi C.

3)Ini adalah proyek DLL dan output build AirIcuExtension.dll

1.2Gedung Perpustakaan ActionScript

1)Membangun perpustakaan actionscript menggunakan perintah di bawah ini.

C:\Flex4.5.1 bin compc.exe-source-path src-termasuk-kelas com.adobe.extensions.AirIcuExtension-eksternal-perpustakaan-path C:\air3_beta2 kerangka libs udara airglobal.swc-output bin AirIcuExtension.swc

Para AirIcuExtension.as file dalam folder src com adobe extensions memiliki AirIcuExtension kelas publik yang memanggil rutinitas ICU. Dalam contoh ini, ICU memanggil kalimat pemutus, pemutus kata, normalizer, utf-konversi dan properti karakter Unicode telah diilustrasikan.

1.3Kemasan ActionScript ekstensi asli

Buka bin AirIcuExtension.swc adalah arsip zip. Buka menggunakan WinRAR or WinZip program dan ekstrak library.swf file dalam paket SWC ke AirIcuExtension / bin folder.

Folder src sumber daya berisi file extension.xml, AirIcuExtension.dll dan ICU dll icudt48.dll, icuuc48.dll, icuio48.dll dan icuin48.dll. File external.xml mendefinisikan rincian perpustakaan eksternal untuk AIR runtime.

Untuk kesederhanaan, AirIcuExtension.dll tempat yang, ICU dll dan file extension.xml di AirIcuExtension bin folder. Semua file-file yang dikemas ke dalam arsip zip yang disebut AiricuExtension.ane menggunakan perintah berikut.

C:\air3_beta2 bin ADT-paket-storetype pkcs12-storepass <passwd> -Keystore <AIR sertifikat> -tsa none-target ane AirIcuExtension.ane extension.xml-SWC AirIcuExtension.swc-platform Windows-x86 library.swf AirIcuExtension.dll icudt48.dll icuin48.dll icuio48.dll icuuc48.dll

Menggunakan Adobe FlashBuilder4.x atau C:\air3_beta2 bin ADT Program, seseorang dapat membuat sertifikat AIR.

Outputnya adalah file arsip AirIcuExtension.ane di AirIcuExtension / bin folder.

1.4Membangun AirIcuExtensionTest.mxml Program Uji

Sekarang kita dibangun dan dikemas paket ekstensi asli AiricuExtension.ane, kita readu untuk menggunakan layanan ini dan panggilan ICU dalam program uji.

Folder AirIcuExtensionTest src berisi AirIcuExtensionTest.mxml file tes. File descriptor AirIcuExtensionTest-app.xml telah. Menggunakan compiler mxml, AirIcuExtensionTest.swf dibangun sebagai berikut dalam AirIcuExtensionTest folder.

C:\Flex4.5.1 bin compc.exe mxmlc configname = udara-eksternal-perpustakaan-jalan .. AirIcuExtension bin AirIcuExtension.ane-output bin-debug AirIcuExtensionTest.swf — src AirIcuExtensionTest.mxml

Output Swf file AirIcuExtensionTest.swf ditempatkan di folder bin-debug.

1.5Pembangunan paket AIR untuk melaksanakan AirIcuExtensionTest

Langkah terakhir adalah untuk paket AirIcuExtensionTest atas swf dan AirIcuExtension.ane file ke folder dieksekusi AIR.. Jalankan perintah berikut

C:\air3_beta2 bin ADT-paket-XnoAneValidate-storetype pkcs12-storepass <passwd> -Keystore <AIR sertifikat> -tsa none-target bundel AirIcuExtensionTest.air AirIcuExtensionTest-app.xml AirIcuExtensionTest.swf-extdir .. .. AirIcuExtension bin

Output dari perintah di atas adalah map AirIcuExtensionTest.air. Di dalam folder, ada adalah AirIcuExtensionTest.exe. Anda bisa menjalankan dan melihat output.

2Kesimpulan

Sampel diilustrasikan bagaimana memanggil ICU dari ActionScript. Perpanjangan AIR ICU mudah untuk membangun menggunakan Adobe Flex SDK tersedia untuk umum dan AIR3 Beta 2 SDK. Ini akan jauh lebih mudah untuk melakukan semua ini di depan Adobe Flash Builder IDE menggunakan GUI. Keuntungan dari fitur ini adalah

  • AIR mencari pengembang untuk mengembangkan aplikasi desktop atau internasional untuk selular memiliki kekuatan penuh dari ICU di tangan. Banyak fitur Unicode, encoding konversi, IDN konversi utilitas, pengolahan string yang, mengubah dan fitur lebih internasional dapat dengan mudah dikodekan.
  • Perpanjangan ICU asli sekali dibangun dapat digunakan setiap pengembang apapun karena perpustakaan.
  • Para Actionscript API panggilan ICU dapat dikodekan dengan menggunakan tanda tangan yang sama seperti ICU C API. Hal ini menghilangkan kurva belajar.
  • Karena ICU adalah dalam kode asli, kinerja tidak terganggu.
  • Karena ICU, pengembang dapat mengharapkan perilaku lintas-platform dalam program AIR.
  • Karena ekstensi adalah library AIR, Update ICU dapat dengan mudah kembali dikemas dalam ke file ane.

Di masa depan setelah AIR3 dilepaskan, perpanjangan matang penuh ICU asli dengan definisi API yang tepat akan menjadi proyek besar globalisasi.

Entri ini diposting di Bahasa Inggris, Teknologi, Tutorial dan tag , , . Penunjuk permalink.

19 Responses to Menjalankan ICU dari Aplikasi Adobe AIR

  1. Joggl89 mengatakan:

    Hei,

    bagus posting.
    Saya kira ini tidak akan bekerja dengan Windows 7 64 agak jelas ^ ^.

    Mungkin Anda bisa memberikan sesuatu untuk 64 bit maupun :)

    Tepuk tangan,
    Joggl89

  2. Harish Suvarna mengatakan:

    Terima kasih untuk komentar.
    Anda benar. ICU 64bit dll donot bekerja di AIR 3.0. Aku ingat aku tidak bisa membangun ekstensi DLL di VS2010. AIR 3.0 belum mendukung 64bit.
    Kami harus menunggu sampai mendukung. Mari kita tunggu untuk posting-Air3.0.

    Terima kasih,
    Harish

    • Harish Suvarna mengatakan:

      Hanya untuk mengklarifikasi lebih lanjut. Saya diuji ekstensi saya di Win 7 64 bit laptop tapi digunakan ICU 32 bit dll.

      -Harish

  3. Pingback: AIR asli ekstensi Contoh Hello World & ANT Script « Aboutme – blog

  4. Wouter Verweirder mengatakan:

    Terima kasih untuk mendapatkan saya mulai pada ekstensi asli. Aku telah menempatkan contoh hello world & semut naskah secara online, berdasarkan info di posting ini. Anda dapat membaca tentang hal itu & check it out di http://blog.aboutme.be/2011/09/12/air-native-extensions-hello-world-example-ant-script/

  5. Michael Choi mengatakan:

    Saya tidak bisa membangun ane menggunakan ADT. Aku berlari ADT pada C:\air3_RC1 contoh air_icu AirIcuExtension bin setelah pengaturan “set path = c:\air3_RC1 bin;%PATH%”. Saya telah mengikuti file di bawah AirIcuExtension bin direktori, tetapi saya punya “sistem tidak dapat menemukan file yang ditentukan.” Apakah aku melewatkan sesuatu?

    Terima kasih,

    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 PM 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 mengatakan:

    File yang tidak dapat menemukan?
    Apakah ADT? atau file lisensi udara?
    Apakah Anda di direktori C:\air3_RC1 contoh air_icu AirIcuExtension bin ketika menjalankan ADT?

    Ada file somany terlibat bahwa Anda mengalami error ini sama seperti saya ketika saya pertama berlari.

    • Michael Choi mengatakan:

      Harish, terima kasih atas bantuan.
      Pesan kesalahan tidak cukup detail untuk melihat file mana yang hilang. ADT berjalan baik-baik saja. Apa file lisensi udara? Aku tidak bisa melihat instruksi tentang file lisensi. Apakah ini berarti sertifikat AIR? Kesalahan ini dibangkitkan dari ADT dijalankan dalam langkah 1.3.

      Terima kasih,

  7. benyamin mengatakan:

    Ini sangat kuat, Saya harap kita akan melihat lebih dari Anes dalam waktu dekat :)
    Baik membangun langkah-langkah berikut win7 x64 dari penelitian Anda.
    Saya hanya perlu secara manual menyalin file * 48.dll ke udara dir, I pasti melewatkan sesuatu mengenai kemasan…

    Terima kasih atas pengetahuan baru!

  8. James mengatakan:

    Demi Tuhan, silakan memberikan kita contoh AIR 3.0 NativeExtension dengan C #. Dll.

    C # adalah lebih populer di NET framework hari ini.. Aku telah mencari sampel # C untuk NativeExtension dll dari minggu. Dan tidak bisa menemukan contoh tunggal.

    • Harish Suvarna mengatakan:

      Hi James,
      Maaf, contoh saya hanya digambarkan C / C tetapi tidak C #.
      Salah satu cara untuk mencoba C # dll adalah Anda harus memanggil C dll # dari Interop C dll menggunakan (Hanya google untuk menelepon C # dari C ). C dll harus mengimplementasikan semua lem AIR diperlukan kerangka kerja seperti dalam sampel saya di sini. Ini hanya dugaan saya.

    • pascal mengatakan:

      Halo James,
      di mana Anda dapat membuatnya bekerja dengan c #?
      Saya juga mencari contoh di c #

  9. Pingback: Menjalankan ICU dari Aplikasi Adobe AIR (Bagian 2): menggunakan Flash Builder 4.6 » Adobe Globalization

  10. akdsy mengatakan:

    Setelah selesai semua langkah, Aku punya masalah ketika saya menjalankan file exe. Di udara folder
    Ini melompat suatu e.g pesan. ” tidak dapat menemukan componet icuuc48.dll”
    tapi aku telah menemukan file “icuuc45.dll” dalam folder Windows-x86 ~ seperti berikut

    \AirIcuExtensionTest.airMETA-INFAIRextensionscom.adobe.extensions.AirIcuExtensionMETA-INFANEWindows-x86

    Apakah saya kehilangan sesuatu?

    terima kasih
    P.S. mohon maaf saya miskin Inggris ><

  11. Harish Suvarna mengatakan:

    Icuuc48.dll harus hadir dalam folder yang sama sebagai mana file exe. Tinggal. Infact semua dll icu harus ada.

    Cara lain adalah dengan menambahkan localtion icu dll folder untuk variabel path jendela.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai *

*

Anda dapat menggunakan HTML tag dan atribut: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>