- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Air调用dll方法示例ANE简介:Ane,Adobe Air Native Extension 的缩写,是指AdobeAir的本地扩展。它的作用是提供基于AdobeAir平台上层开发的as3脚本调用所在的设备功能的接口及方法。swc文件是采用归档格式的ActionScript类库。Swc文件包含swf文件和其资源文件。Swc文件是共享ActionScript类的简便方法。本机扩展是包是一个ANE文件。和swc文件一样,ANE文件也是一个ActionScript类库,包含归档格式的swf文件和其资源文件。不过,ANE文件和swc之间最重要的区别是只有ane文件才能包含本机代码库。创建vc项目打开vs 2005,新建一个MFC DLL项目:将项目编译方式改为Release:FlashRuntimeExtensions.h文件位置:sdk/include目录下;FlashRuntimeExtensions.lib文件位置:sdk/lib/win目录下;将FlashRuntimeExtensions.h与FlashRuntimeExtensions.lib拷贝到目录下点击右键Add - Existing Item将FlashRuntimeExtensions.h引用进来点击右键properties打开项目属性,点击 Linker - Input 中第一项Additional Dependencies,将FlashRuntimeExtensions.lib添加进来。打开C/C++ -Precompiled Headers,第一项选择Not Using Precompiled Headers打开ANETest.h,将文件内容修改为:打开ANETest.cpp,如下所示添加方法:先大致介绍下各方法:先是3个工具方法:utf8_to_ansi将Air传入的utf8中文参数转换c多字节中文getCharLength 获取Char*长度addChar 拼接两个char*然后是我们要修改的方法:sayHello方法是我们这里演示的方法,传入名字,返回Hello, + 名字。eventTest方法是我们这里演示事件的方法,里面调用了eventTestThread线程方法。contextInitializer 是固定的用来注册方法信息的方法,这样Air就可以通过方法名称找到方法体最后3个是固定的初始化和结束的方法:contextFinalizerinitializerfinalizer按F7编译通过,稍后我们会详细解释sayHello和eventTest方法创建Air项目新建一个Air项目:在项目下(注意不是在src下)创建如下目录结构:ANETest.dll则是从上面vs 2005编译后产生的,在ANETest\release目录下:将其拷贝到Air工程extensions\src\windows目录下。打开extensions.xml这里需要注意的是id会映射到Air项目中的一个as类,nativeLibrary是刚才的dll名称。如下图创建as映射类:这里首先创建了ane上下文,然后写了个sayHello的方法,传入参数name:String,bytes:ByteArray,bytes是用来返回数据用的。eventTest方法则除了bytes,没有其他参数。打开build.xml:这里需要注意的是:第4行SDK_HOME - 4.6 sdk位置第12行APP_NAME - Air项目名称第21行NATIVE_EXTENSION_NAME - 打包后ane的名称第22行NATIVE_EXTENSION_ACTIONSCRIPT_CLASSES - 映射的as类运行ant脚本:成功后会在extensions\bin目录下出现一个ANETestDll.ane右键项目属性,在build path中Native Extensions中将此ane选出来:在build packaging的Native Extensions中打上勾:打开主程序ANETest.mxml,添加输入框、按钮与方法:varbytes:ByteArray = newByteArray();aneTestDll.sayHello(txtName.text, bytes);varret:String = bytes.readMultiByte(bytes.length,chinese);Alert.show(ret);这样即可以调用dll中的方法了。为了演示事件,还需要添加事件相关代码:addEventListener(StatusEvent.STATUS, statusHandler);publicfunctionstatusHandler(e:StatusEvent):void{var
您可能关注的文档
最近下载
- 《北京市房屋租赁合同自行成交版》.doc VIP
- 机修工考试题库及答案.doc VIP
- 八年级数学趣味数学知识竞赛课件(比赛用) (共51张PPT).pptx VIP
- 机修工培训考试题库.pdf VIP
- 《古建筑木结构维护与加固技术标准》(GB_T 50165—2020)修订解析.pdf VIP
- 七年级数学知识竞赛课件 (共42张PPT).pptx VIP
- 八年级数学趣味数学知识竞赛课件(比赛用) (共51张PPT).pptx VIP
- 七年级数学趣味数学竞赛比赛用课件 (共48张PPT).pptx VIP
- 《少盐限油健康饮食》课件.ppt VIP
- 2022年初中数学趣味数学竞赛课件(共43张ppt).pptx VIP
文档评论(0)