Adobe AIR için yerel uzantıları kullanma

Adobe AIR için yerel uzantılar, yerel kodda programlanan aygıta özgü işlevselliğe erişmenizi olanak veren ActionScript API'leri sağlar. Yerel uzantı geliştiricileri bazen aygıt üreticileriyle çalışır, bazen de üçüncü taraf geliştiricilerdir.

Yerel bir uzantı geliştiriyorsanız bkz. Adobe AIR için Yerel Uzantılar Geliştirme .

Yerel bir uzantı şunların bileşimidir:

  • ActionScript sınıfları.

  • Yerel kod.

Ancak yerel bir uzantı kullanan bir AIR uygulama geliştiricisi olarak yalnızca ActionScript sınıflarıyla çalışırsınız.

Yerel uzantılar aşağıdaki durumlarda kullanışlıdır:

  • Yerel kod uygulaması platforma özgü özelliklere erişim sağlar. Platforma özgü bu özellikler yerleşik ActionScript sınıflarında mevcut değildir ve uygulamaya özgü ActionScript sınıflarında uygulanamaz. Yerel kod uygulaması aygıta özgü donanım ve yazılıma yönelik erişime sahip olduğundan dolayı bu tür bir işlevsellik sağlayabilir.

  • Yerel kod uygulaması bazen yalnızca ActionScript kullanan bir uygulamadan daha hızlı olabilir.

  • Yerel kod uygulaması eski yerel koda yönelik ActionScript erişimi sağlayabilir.

Bazı yerel uzantı örnekleri Adobe Geliştirici Merkezi'nde mevcuttur. Örneğin, bir yerel uzantı Android'in titreşim özelliğine yönelik AIR uygulamaları erişimi sağlar. Bkz. Adobe AIR için yerel uzantılar .

Adobe'nin önerdikleri

Paylaşmak istediğiniz bir eğitim mi var?

Extending Adobe AIR (Adobe AIR'yi Genişletme)

Oliver Goldman

Developing Android Extensions for AIR3: A Beginner's Guide (AIR3 için Android Uzantıları Geliştirme: Yeni Başlayan Kılavuzu)

Milkman Games

AIR Yerel Uzantı (ANE) dosyaları

Yerel uzantı geliştiricileri bir ANE dosyasına yerel uzantı paketlerler. ANE dosyası yerel uzantı için gerekli kütüphaneleri ve kaynakları içeren bir arşiv dosyasıdır.

Bazı aygıtlar için ANE dosyasının, yerel uzantının kullandığı yerel kod kütüphanesini içerdiğini unutmayın. Ancak diğer aygıtlar için yerel kod kütüphanesi aygıta yüklüdür. Bazı durumlarda yerel uzantıda belirli bir aygıt için hiçbir yerel kod yoktur. Yerel uzantı yalnızca ActionScript ile uygulanır.

AIR uygulama geliştiricisi olarak ANE dosyasını aşağıdaki gibi kullanırsınız:

  • Bir SWC dosyasını kütüphane yoluna eklediğiniz şekilde ANE dosyasını uygulamanın kütüphane yoluna dahil edin. Bu uygulama uzantının ActionScript sınıflarıyla ilişki kurmasına olanak verir.

    Not: Uygulamanızı derlerken, ANE için dinamik bağlantı kullandığınızdan emin olun. Flash Builder kullanıyorsanız, ActionScript Builder Yolu Özellikleri panelinde Harici seçeneğini belirtin; komut satırını kullanıyorsanız, -external-library-path öğesini belirtin.
  • ANE dosyasını AIR uygulamasıyla paketleyin.

Yerel uzantıları ve NativeProcess ActionScript sınıfını karşılaştırma

ActionScript 3.0 bir NativeProcess sınıfı sağlar. Bu sınıf, bir AIR uygulamasının ana bilgisayar işletim sisteminde yerel işlemleri çalıştırmasını sağlar. Bu özellik platforma özgü özelliklere ve kütüphanelere erişim sağlayan yerel uzantılara benzer. Yerel uzantı kullanmak yerine NativeProcess sınıfını kullanmaya karar verirken aşağıdakileri göz önünde bulundurun:

  • Yalnızca extendedDesktop AIR profili NativeProcess sınıfını destekler. Bu nedenle, mobileDevice ve extendedMobileDevice AIR profillerine sahip uygulamalar için yerel uzantılar tek seçenektir.

  • Yerel uzantı geliştiricileri çoğunlukla çeşitli platformlar için yerel uygulamalar sağlar, ancak sağladıkları ActionScript API platformlar arasında genelde aynıdır. NativeProcess sınıfını kullanırken yerel işlemi başlatacak ActionScript kodu farklı platformlar arasında değişebilir.

  • NativeProcess sınıfı ayrı bir işlem başlatırken yerel bir uzantı AIR uygulamasıyla aynı işlemde çalışır. Bu nedenle, kod çökmesi konusunda kaygılanıyorsanız NativeProcess sınıfını kullanmak daha güvenlidir. Ancak ayrı işlem, büyük olasılıkla uygulamanız gereken işlemler arası iletişim işlemesine sahip olduğunuz anlamına gelmektedir.

Yerel uzantıları ve ActionScript sınıfı kütüphanelerini (SWC dosyaları) karşılaştırma

Bir SWC dosyası arşiv biçimindeki bir ActionScript sınıfı kütüphanesidir. SWC dosyası bir SWF dosyasını ve diğer kaynak dosyaları içerir. SWC dosyası bireysel ActionScript kodunu ve kaynak dosyaları paylaşma yerine ActionScript sınıflarını paylaşmaya yönelik uygun bir yöntemdir.

Yerel bir uzantı paketi bir ANE dosyasıdır. Bir SWC dosyası gibi bir ANE dosyası da SWF dosyasını ve arşiv biçimindeki diğer dosyaları içeren bir ActionScript sınıfı kütüphanesidir. Ancak, bir ANE dosyası ve bir SWC dosyası arasındaki en önemli fark yalnızca bir ANE dosyasının yerel bir kod kütüphanesi içerebileceğidir.

Not: Uygulamanızı derlerken, ANE dosyası için dinamik bağlantıyı kullandığınızdan emin olun. Flash Builder kullanıyorsanız, ActionScript Builder Yolu Özellikleri panelinde Harici seçeneğini belirtin; komut satırını kullanıyorsanız, -external-library-path öğesini belirtin.

Desteklenen aygıtlar

AIR 3'ten itibaren, uygulamalarda aşağıdaki aygıtlar için yerel uzantılar kullanabilirsiniz:

  • Android 2.2'den itibaren Android aygıtları

  • iOS 4.0'dan itibaren iOS aygıtları

  • AIR 3.3'ten itibaren iOS Simulator

  • Blackberry PlayBook

  • AIR 3.0 uygulamasını destekleyen Windows masaüstü aygıtları

  • AIR 3.0 uygulamasını destekleyen Mac OS X masaüstü aygıtları

Çoğunlukla aynı yerel uzantı birden çok platformu hedefler. Uzantının ANE dosyası desteklenen her platform için ActionScript ve yerel kütüphaneleri içerir. Genelde ActionScript kütüphanelerinde tüm platformlar için ortak arabirimler bulunur. Yerel kütüphaneler mutlaka farklıdır.

Bazen yerel bir uzantı varsayılan bir platformu destekler. Varsayılan platform uygulamasında yalnızca ActionScript kodu bulunur, ancak yerel kod bulunmaz. Uzantının özel olarak desteklemediği bir platform için bir uygulama paketlerseniz, uygulama yürütüldüğünde varsayılan uygulamayı kullanır. Örneğin, yalnızca mobil aygıtlara uygulanan bir özellik sağlayan bir uzantı düşünün. Uzantı, bir masaüstü uygulamasının özelliğin benzetimini yapmak için kullanabileceği varsayılan bir uygulama da sağlayabilir.

Desteklenen aygıt profilleri

Aşağıdaki AIR profilleri yerel uzantıları destekler:

  • AIR 3.0'dan itibaren extendedDesktop

  • AIR 3.0'dan itibaren mobileDevice

  • AIR 3.0'dan itibaren extendedMobileDevice

Yerel bir uzantı kullanmaya yönelik görev listesi

Uygulamanızda yerel bir uzantı kullanmak için aşağıdaki görevleri uygulayın:

  1. Uygulama tanımlayıcı dosyanızdaki uzantıyı bildirin.

  2. ANE dosyasını uygulamanızın kütüphane yoluna ekleyin.

  3. Uygulamayı paketleyin.

Uygulama tanımlayıcı dosyanızdaki uzantıyı bildirme

Tüm AIR uygulamalarında bir uygulama tanımlayıcı dosyası bulunur. Uygulama yerel bir uzantı kullandığında, uygulama tanımlayıcı dosyası bir <extensions> öğesi içerir. Örneğin:

<extensions> 
    <extensionID>com.example.Extension1</extensionID> 
    <extensionID>com.example.Extension2</extensionID> 
</extensions>

extensionID öğesi uzantı tanımlayıcı dosyasındaki id öğesiyle aynı değere sahiptir. Uzantı tanımlayıcı dosyası extension.xml adlı bir XML dosyasıdır. Bu dosya ANE dosyasında paketlenir. Uzantı extension.xml dosyasına bakmak için bir arşiv çıkarma aracı kullanabilirsiniz.

ANE dosyasını uygulamanızın kütüphane yoluna ekleme

Yerel bir uzantı kullanan bir uygulamayı derlemek için ANE dosyasını kütüphane yolunuza dahil edin.

ANE dosyasını Flash Builder ile kullanma

Uygulamanız yerel bir uzantı kullanıyorsa, kütüphane yolunuzda ActionScript uzantısı için ANE dosyasını dahil edin. Daha sonra ActionScript kodunuzu derlemek için Flash Builder'ı kullanabilirsiniz.

Flash Builder 4.5.1'in kullanıldığı aşağıdaki adımları uygulayın:

  1. ANE dosyasının dosya adı uzantısını .ane'den .swc'ye değiştirin. Bu adım Flash Builder'ın dosyayı bulabilmesi için gereklidir.

  2. Flash Builder projenizde Proje > Özellikler seçeneğini belirleyin.

  3. Özellikler iletişim kutusunda Flex Build Path öğesini seçin.

  4. Kütüphane Yolu sekmesinde SWC Ekle... öğesini seçin.

  5. SWC dosyasını bulun ve Aç'ı seçin.

  6. SWC Ekle... iletişim kutusunda Tamam'ı seçin.

    ANE dosyası artık Özellikler iletişim kutusundaki Kütüphane Yolu sekmesinde görünür.

  7. SWC dosyası girişini genişletin. Library Path Item Options (Kütüphane Yolu Öğe Seçenekleri) iletişim kutusunu açmak için Link Type (Bağlantı Türü) öğesini çift tıklatın.

  8. Library Path Item Options (Kütüphane Yolu Öğe Seçenekleri) iletişim kutusunda, Link Type (Bağlantı Türü) öğesini External (Harici) olarak değiştirin.

Artık uygulamanızı örneğin Project (Proje) > Build Project (Proje Oluştur) öğesini kullanarak derleyebilirsiniz.

ANE dosyasını Flash Professional ile kullanma

Uygulamanız yerel bir uzantı kullanıyorsa, kütüphane yolunuzda ActionScript uzantısı için ANE dosyasını dahil edin. Daha sonra ActionScript kodunuzu derlemek için Flash Professional CS5.5'i kullanabilirsiniz. Aşağıdakileri yapın:

  1. ANE dosyasının dosya adı uzantısını .ane'den .swc'ye değiştirin. Bu adım Flash Professional'ın dosyayı bulabilmesi için gereklidir.

  2. FLA dosyanızda Dosya > ActionScript Ayarları öğesini seçin.

  3. Gelişmiş ActionScript 3.0 Ayarları iletişim kutusunda Kütüphane Yolu sekmesini seçin.

  4. SWC Dosyasına Git düğmesini seçin.

  5. SWC dosyasını bulun ve Aç'ı seçin.

    SWC dosyası artık Gelişmiş ActionScript 3.0 Ayarları iletişim kutusunda Kütüphane Yolu sekmesinde görünür

  6. SWC dosyası seçiliyken, Bir Kütüphaneye Yönelik Bağlantı Seçeneklerini Ayarla düğmesini seçin.

  7. Kütüphane Yolu Öğe Seçenekleri iletişim kutusunda, Bağlantı Türü öğesini Harici olarak değiştirin.

Yerel uzantılar kullanan bir uygulamayı paketleme

Yerel uzantılar kullanan bir uygulamayı paketlemek için ADT kullanın. Flash Professional CS5.5 veya Flash Builder 4.5.1 kullanarak uygulamayı paketleyemezsiniz.

ADT kullanma hakkında ayrıntılar AIR Geliştirici Aracı (ADT) sayfasında yer almaktadır.

Örneğin, aşağıdaki ADT komutu yerel uzantılar kullanan bir uygulama için bir DMG dosyası (Mac OS X için yerel bir yükleyici dosyası) oluşturur:

adt -package 
    -storetype pkcs12 
    -keystore myCert.pfx 
    -target native 
    myApp.dmg 
    application.xml 
    index.html resources 
    -extdir extensionsDir
Aşağıdaki komut bir Android aygıtı için bir APK paketi oluşturur:
adt -package 
    -target apk 
    -storetype pkcs12 -keystore ../codesign.p12 
    myApp.apk 
    myApp-app.xml 
    myApp.swf icons 
    -extdir extensionsDir

Aşağıdaki komut bir iPhone uygulaması için bir iOS paketi oluşturur:

adt -package 
    -target ipa-ad-hoc 
    -storetype pkcs12 -keystore ../AppleDistribution.p12 
    -provisioning-profile AppleDistribution.mobileprofile 
    myApp.ipa 
    myApp-app.xml 
    myApp.swf icons Default.png 
    -extdir extensionsDir

Aşağıdakileri unutmayın:

  • Yerel bir yükleyici paket türü kullanın.

  • Uzantı dizinini belirtin.

  • ANE dosyasının uygulamanın hedef aygıtını desteklediğinden emin olun.

Yerel bir yükleyici paket türü kullanın

Uygulama paketi yerel bir yükleyici olmalıdır. Yerel bir uzantı kullanan bir uygulama için platformlar arası bir AIR paketi (a .air paketi)oluşturamazsınız. Çünkü yerel uzantılar genellikle yerel kod içerir. Ancak, genellikle yerel bir uzantı aynı ActionScript API'lerine sahip birden çok yerel platformu destekler. Bu durumlarda aynı ANE dosyasını farklı yerel yükleyici paketlerinde kullanabilirsiniz.

Aşağıdaki tablo ADT komutunun -target seçeneği için kullanılacak değeri özetler:

Uygulamanın hedef platformu

-target

Mac OS X veya Windows masaüstü aygıtları

-target native

-target bundle

Android

-target apk

veya diğer Android paketi hedefleri.

iOS

-target ipa-ad-hoc

veya diğer iOS paketi hedefleri

iOS Simulator

-target ipa-test-interpreter-simulator

-target ipa-debug-interpreter-simulator

Uzantı dizinini belirtin

Yerel uzantılar (ANE dosyaları) içeren dizini ADT'ye bildirmek için ADT seçeneği -extdir parametresini kullanın.

Bu seçenek hakkında ayrıntılar için bkz. Dosya ve yol seçenekleri .

ANE dosyasının uygulamanın hedef aygıtını desteklediğinden emin olun

Bir ANE dosyası sağlarken, yerel uzantı geliştiricisi uzantının hangi platformları desteklediği konusunda sizi bilgilendirir. ANE dosyasının içeriklerine bakmak için bir arşiv çıkarma aracı da kullanabilirsiniz. Çıkarılan dosyalar desteklenen her platform için bir dizin içerir.

Uzantının hangi platformları desteklediğini bilmek ANE dosyasını kullanan uygulamanın paketlenmesi sırasında önemlidir. Aşağıdaki kuralları göz önünde bulundurun:

  • Bir Android uygulama paketi oluşturmak için ANE dosyası Android-ARM platformunu içermelidir. Alternatif olarak, ANE dosyası varsayılan platformu ve en az bir adet başka platformu içermelidir.

  • Bir iOS uygulama paketi oluşturmak için ANE dosyası iPhone-ARM platformunu içermelidir. Alternatif olarak, ANE dosyası varsayılan platformu ve en az bir adet başka platformu içermelidir.

  • Bir iOS Simulator uygulama paketi oluşturmak için ANE dosyası iPhone-x86 platformunu içermelidir.

  • Bir Mac OS X uygulama paketi oluşturmak için ANE dosyası MacOS-x86 platformunu içermelidir. Alternatif olarak, ANE dosyası varsayılan platformu ve en az bir adet başka platformu içermelidir.

  • Bir Windows uygulama paketi oluşturmak için ANE dosyası Windows-x86 platformunu içermelidir. Alternatif olarak, ANE dosyası varsayılan platformu ve en az bir adet başka platformu içermelidir.