zoukankan      html  css  js  c++  java
  • [AIR] NativeExtension在IOS下的开发实例 --- Flex库项目的创建(二)

    来源:http://bbs.9ria.com/thread-102038-1-1.html

    上一章,我已经介绍了如果创建IOS库文件,并定义了两个方法ShowIconBadageNumber和InitNativeCode。好了。这一篇,我们主要来学习一下,如果创建Flex库项目。
    (小提示,要安装Flash Builder4.6的时候,要把以前的Flash BUilder4.5卸载,不然会造成安装不成功的。)
    1,打开安装好的Flash Builder 4.6 Prelease,创建一个Flex库项目。(小提示,这里建议用SDK4.5.1.不要用4.6.因为本人在发展用4.6的时候打包ANE有点问题。)
         (在配置一项确保选中的是通用库(适用于Web,桌面和手机项目),Flash SDK选4.5.1.如果安装好后没有。请去opensource.adobe.com下载一下该SDK)

    2,OK,创建好之后,新建一个类文件,用来供后面的测试ANE可用。我们这里为了测试之前在Xcode定义的两个方法,内容如下:

    1. package com.coolexp
    2. {
    3.         import flash.external.ExtensionContext;
    4.         public class ANELibUtils
    5.         {
    6.                 private static var extContext:ExtensionContext = null;
    7.                 public function ANELibUtils()
    8.                 {
    9.                         if (!extContext)
    10.                         {
    11.                                 initExtension();
    12.                         }
    13.                 }
    14.                 public static function showBadageNum(num:int):int{
    15.                         if (!extContext)
    16.                         {        
    17.                                 initExtension();
    18.                         }
    19.                         return int(extContext.call("ShowIconBadageNumber",num));
    20.                 }
    21.                 //Initialize the extension by calling our "initNativeCode" ANE function
    22.                 private static function initExtension():void
    23.                 {
    24.                         trace ("Vibration Constructor: Create an extension context");
    25.                         
    26.                         // The extension context's context type  is NULL, because this extension
    27.                         // has only one context type.
    28.                         extContext = ExtensionContext.createExtensionContext("com.coolexp.ANELib", null);
    29.                         //com.coolexp.ANELib这里我们用这个ExtensionID,确保后面在打包ANE文件的时候一致就可以了。
    30.                         extContext.call("initNativeCode");
    31.                 }
    32.         }
    33. }
    复制代码

    3,OK,Build项目,会生成一个SWC后缀后的文件,复制一份出来,把SWC改成ZIP,解压,里面有一个XML文件,一个SWF文件,复制出来。各用。再把SWC文件也复制出来,备用。

    4.新建一个extension.xml的文件,内容如下:
    (如果下面的com.coolexp.ANELib,要跟上面的AS类文件里一致,libCoolExpLibANEIOS.a. 就是我们第一篇文章里得到文件)

    1. <extension xmlns="http://ns.adobe.com/air/extension/2.5">
    2.         <id>com.coolexp.ANELib</id>
    3.         <versionNumber>1</versionNumber>
    4.         <platforms>
    5.                 <platform name="iPhone-ARM">
    6.                         <applicationDeployment>
    7.                                 <nativeLibrary>libCoolExpLibANEIOS.a</nativeLibrary>
    8.                                 <initializer>ExtInitializer</initializer>
    9.                                 <finalizer>ExtFinalizer</finalizer>
    10.                         </applicationDeployment>
    11.                 </platform>
    12.         </platforms>
    13. </extension>
    复制代码

    5.OK,这部分到此就OK了。

    下面是Actionscript Library的项目下载地址:   <ignore_js_op> CoolExpANELib.fxpl.zip (2.22 KB, 下载次数: 194)

  • 相关阅读:
    Oracle 冷备份详解【实战案例】
    Oracle Procedure记录
    【基础操作】1.表操作
    Oracle的基本语法,存储函数及触发器
    有志者事竟成 — 雷林鹏
    Les13 性能管理
    SharePoint 2010 创建联系人列表和使用联系人列表
    在SharePoint 2010中创建联系人Web数据库网站
    C#中数组如何赋值
    What Can Happen When You Try to Convert a Standard SharePoint 2010 Farm to Enterprise
  • 原文地址:https://www.cnblogs.com/sunminmin/p/3823859.html
Copyright © 2011-2022 走看看