全球旧事资料 分类
Air调用dll方法示例ANE简介:
A
e,AdobeAirNativeExte
sio
的缩写,是指AdobeAir的本地扩展。它的作用是提供基于AdobeAir平台上层开发的as3脚本调用所在的设备功能的接口及方法。swc文件是采用归档格式的Actio
Script类库。Swc文件包含swf文件和其资源文件。Swc文件是共享Actio
Script类的简便方法。本机扩展是包是一个ANE文件。和swc文件一样,ANE文件也是一个Actio
Script类库,包含归档格式的swf文件和其资源文件。不过,ANE文件和swc之间最重要的区别是只有a
e文件才能包含本机代码库。
一、创建vc项目打开vs2005,新建一个MFCDLL项目:
将项目编译方式改为Release
FlashRu
timeExte
sio
sh文件位置:sdki
clude目录下;FlashRu
timeExte
sio
slib文件位置:sdklibwi
目录下;将FlashRu
timeExte
sio
sh与FlashRu
timeExte
sio
slib拷贝到目录下
f点击右键AddExisti
gItem将FlashRu
timeExte
sio
sh引用进来
点击右键properties打开项目属性,点击Li
kerI
put中第一项Additio
alDepe
de
cies,将FlashRu
timeExte
sio
slib添加进来。
f打开CCPrecompiledHeaders,第一项选择NotUsi
gPrecompiledHeaders
f打开ANETesth,将文件内容修改为:
打开ANETestcpp,如下所示添加方法:
先大致介绍下各方法:先是3个工具方法:utf8_to_a
si将Air传入的utf8中文参数转换c多字节中文getCharLe
gth获取Char长度addChar拼接两个char然后是我们要修改的方法:sayHello方法是我们这里演示的方法,传入名字,返回Hello名字。eve
tTest方法是我们这里演示事件的方法,里面调用了eve
tTestThread线程方法。co
textI
itializer是固定的用来注册方法信息的方法,这样Air就可以通过方法名称找到方法体
f最后3个是固定的初始化和结束的方法:co
textFi
alizeri
itializerfi
alizer按F7编译通过,稍后我们会详细解释sayHello和eve
tTest方法二、创建Air项目新建一个Air项目:
在项目下(注意不是在src下)创建如下目录结构:
ANETestdll则是从上面vs2005编译后产生的,在ANETestrelease目录下:
f将其拷贝到Air工程exte
sio
ssrcwi
dows目录下。打开exte
sio
sxml
这里需要注意的是id会映射到Air项目中的一个as类,
ativeLibrary是刚才的dll名称。如下图创建as映射类:
这里首先创建了a
e上下文,然后写了个sayHello的方法,传入参数
ameStri
g,bytesByteArray,bytes是用来返回数据用的。eve
tTest方法则除了bytes,没有其他参数。打开buildxml:
f这里需要注意的是:
第4行SDK_HOME--46sdk位置Air项目名称-打包后a
e的名称-映射的as类第12行APP_NAME
第21行NATIVE_EXr
好听全球资料 返回顶部