在 FlashDevelop 的移動項目 (Adobe AIR) 中使用 ane

來源:互聯網
上載者:User

現在手機項目開發市場異常繁榮, 各種技術層出不窮, 作為一名跟隨 Flash 多年的屌絲前端程式猿來說, Adobe Air 技術讓我們看到一絲曙光(可以說很大一束 XDD ), 而且在遊戲領域已經有很多成功案例, 效果絲毫不亞於原生語言開發的應用.

但是, 再好的技術也有其不足之處, 目前來說 Air 提供的對行動裝置底層功能支援還比較有限, 很多 IOS/Android 公用功能都不支援. 好在 Adobe 提供了很好的解決方案, 那就是 ane (AIR Native Extensions), 他為裝置與 Air 之間的溝通起到了很好的橋樑作用.

下面簡單介紹下在 FlashDevelop (以下簡稱 FD)中建立和發布包含 ane 的移動項目的一些注意事項:

當然首先你要有必要的 ane 檔案, 下面這個地址描述了如何建立自己的 ane 檔案:
http://help.adobe.com/en_US/air/extensions/index.html
你也可以直接使用第三方提供的 ane (包括 Adobe 官方的)

http://www.adobe.com/devnet/air/native-extensions-for-air.html

有了 ane 檔案就可以在移動項目中應用一些 Air 原生不支援的功能了, 下面是一些注意事項(例子中用到了上面地址中的 Notification 和 Vibration 兩個 ane):

  • 引入 ane:
    將 ane 檔案拷貝到項目目錄(一般是 lib 或 ane 檔案夾中), 右鍵->Add To Library
  • 修改 ane 引入方式:
    ane 檔案上右鍵->Options..., 修改為 External library(not included);
  • 修改 application.xml 描述檔案, 引入 ane 支援:
    本例中引入了兩個 ane 檔案, 因此需要增加如下代碼:
     <extensions>    <!-- Vibration ane 的 extension id -->    <extensionID>com.adobe.Vibration</extensionID>     <!-- notification ane 的 extension id -->    <extensionID>com.adobe.mobile</extensionID> </extensions>

    當然 FD 4 為此也提供了 UI 支援, 單擊圖一中所示按鈕, 進入 Extensions 選項卡(圖二)進行編輯.

    (圖一)

    (圖二)

  • 增加一些額外支援描述:
    本例中 Vibration 需要增加許可權描述, Notification 要增加服務描述(相應的 ane 下載頁面中有相關說明), 你可以直接修改 application.xml 或者在上面提到的介面中設定(圖三)

    (圖三)
  • 修改打包批處理命令:
    由於 FD 的編譯打包過程都是通過批處理來實現的, 要增加 ane 支援, 需要對 Packager.bat 檔案稍作修改,
    在 %FILE_OR_DIR% 後面增加 -extdir lib/ 一段(不換行), lib 為 ane 所在目錄相對路徑.

提供本例測試 ane 部分代碼(直接放在文檔類建構函式裡就行):

// 震動實現if (Vibration.isSupported){    var v:Vibration = new Vibration();    v.vibrate(2000);}// 系統提醒try{    var nom:NotificationManager = new NotificationManager();}catch (err:Error){    return;}var n:Notification = new Notification();n.tickerText = '提醒時狀態列中顯示的文字';n.title = '提醒的標題';n.body = '和內容';// 提醒表徵圖類型n.iconType = NotificationIconType.INFO;nom.notifyUser('MY_NOTIFY_TYPE', n);

基本上需要注意的就這麼多, 現在可以在裝置上測試一下了, 可能會發生的狀況是: 運行程式後, 手機震動的同時在狀態列出現一條提示, 開啟狀態列看到帶有 info 表徵圖以及標題和內容的一條提醒.

-EOF-

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.