Extending Air
中英文对照在这儿
什么是本地拓展
本地拓展是AIR 3.0的一大特色。它允许你借助本机操作系统实现一些AIR自身不支持的功能,AIR的优点之一是支持多平台运行,像比安卓,苹果和Playbook。但这同时造成了一个缺点:AIR必须迎合最基本的通用标准,无法专注于设备自身的特性。因此引入了本地拓展来弥补这一缺憾。它允许你使用设备原生的代码来实现绚丽的特性,以使得每个设备与众不同。这意味着,你在苹果的IOS上可以使用Objective C拓展,在安卓上可以使用JAVA拓展,如此一来,你可以在上使用安卓手机的notification drawer,读取黑莓设备的BBM信息或利用其他特性。关于创建AIR本地拓展, Adobe 上有大量教程,
并非一路柠檬阳光
创建本地拓展的工作流程不算太可怕,但有几项需要注意。目前为止还没有真正意义上的工具用来给拓展打包,所以你需要对命令行和创建bat文件有所了解。另外,打包时的报错常常匪夷所思,你要做好准备花大力气google那些报错语句,还得寄希望于有人遇到过相同报错。
举个例子吧,我曾经在给一个ADT拓展签名时想生成一个时间戳,但总是失败并报错:"无法生成时间戳:握手警告:未识别名称(“Could not generate timestamp: handshake alert: unrecognized_name)"。解决方法是在打包的.bat文件里加进去个"-ts s none"选项。
另一个问题是关于adt.bat。bat文件执行的是\lib\ad.jar,可是在我的电脑上,当打包的.bat文件准备运行它时,却指向错误路径。解决方法是硬编码指向jar文件的路径而非使用别名。
当你在AIR中调用本地代码并报错时,调试器并不知道如何处理。当你不知道哪里出错,想把它调试出来还是很难、很令人沮丧的。
最后,就像我以前提到的,AIR吸引人的优势之一是它的跨平台特性。从初衷看来,本地拓展并非是优势。但是,它还是有应用场合,即当操作系统处理起来更具高效时,你可以用AIR创建一部分应用,剩余交由本地拓展来完成。我也是在此情形下创建了一个本地拓展,它使用了安卓内置分享功能的API。
ShareExt:一个在安卓系统上完成分享功能的本地拓展
AS也有自己的库用来建立到Facebook,Twitter,Flickr等的连接,从而分享你的内容,但是,安卓对于此功能有自己的一套标准API。所以,假使我在做安卓上的部署,为什么不使用用户已经熟悉了的东西呢?考虑到了这些,我创建了一个在AIR里使用安卓系统内置分享功能的本地拓展。我不敢说它功能特色已经完备,但它能处理分享大多数的mime类型。你可以传给他一个图片,视频,音频或是其它的文件,它会尽其所能的使用合适工具实现分享。它也支持直接的文本分享。我做了一个基于AIR的应用,你可以下载到自己的安卓设备上试用。程序使用了AIR自带的API供你浏览想上传的文件,但一旦加载了分享程序列表之后就全是Android本地拓展在工作了。点击 这里 下载。如果你使用你的移动设备访问这一链接,它会启动下载并轻松地引导你完成安装。
如果你想加以研究,可以在 github 上找到这个本地拓展的源代码和范例。文件夹'extension'包含拓展的两部分。其中'shareAirExt'是拓展的AS代码部分,'shareJavaExt'是JJAVA代码部分。我还在里面放入了.bat文件。它虽然大部分来自于我在上面给出链接的那些教程,但作为一份工作指引还蛮有用。
一旦建立了本地拓展,在AS里使用起来就很容易。工作起来类似于SWC或是库。
- /*
- 实例化我们的本地拓展,并利用它实现文件分享。
- */
- share = new ShareExt();
- share.shareMedia(file.name,file.nativePath, mimeType);
复制代码
接下来应该...
本地拓展现在是很热的新生事物,开发者们也只是刚开始发掘它功能的浅层部分。在 gotoAndLearn() ,Lee Brimelow讲解了如何创建本地拓展来利用安卓的notification drawer。
Todd Anderson的 这个例子 ,向我们展示如何创建本地拓展获取IOS系统上的电池电量。
在 as3NUI 上,他们已经建立使用微软X-Box Kinect的AIR本地拓展。这是目前能看到的最炫的效果并且着实展现了AIR本地拓展的威力。AIR和AS已经是很有希望的制作游戏的优良环境,加上这个新的拓展,我们可以准备看到一些AIR创建的Kinect游戏和设备。
说到游戏, Milkman Games 已经在AIR应用里创建了使用 Game Center 的IOS本地拓展。这应该意味着IOS设备上的AIR应用体验更为一致。
这只是个开端,我和大家一样,很期待看到接下来发生什么。
原文转载:http://www.9ria.com/news/2011/1212/23964.html
Extending Air相关推荐
- 开发Adobe AIR的原生扩展
要求 必备知识 对AIR和ActionScript 3具有中等或深入的理解,熟悉Flash Builder和Java. 用户级别 中级 必需产品 Adobe AIR 3 范例文件 ane-hello- ...
- [AIR应用] Air ANE扩展 for windows
原文地址:http://5aser.com/forum.php?mod=viewthread&tid=112 写下这个标题的时候,这也许是老生常谈了,遗憾的是本人接触较晚,新人咋到总想尽点微薄 ...
- Developing native extensions for Adobe AIR
原文:http://www.adobe.com/devnet/air/articles/developing-native-extensions-air.html 以下为摘译 Note: Adobe ...
- air调用java,AIR2.0入门教程:与Java应用交互
在之前的一篇文章中,我介绍了如何使用AIR2.0新增的NativeProcess类与本地进程进行交互和通讯,在那个例子里面我们使用了C++ 的代码,实际上只要是基于命令行的标准输入输出,AIR2.0的 ...
- jupyter怎么调字体_AJ里最低调的系列之一:Air Jordan 3
阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以免费收到最新内容了.每天都有分享,完全是免费订阅,请放心关注. 声明:本文转载自网络,如有侵权,请在后台留言联系我 ...
- Flex Air程序打包成独立的exe安装文件
2019独角兽企业重金招聘Python工程师标准>>> 开发背景: FlexBuilder3.2开发生成的Air程序需要能够独立安装,事先不需要安装AdobeAir运行环境 实现方法 ...
- 面向JavaScript开发人员的Adobe AIR与Dreamweaver
入门教程,非常详细,CS4里面应该可以省略前面几步直接开发了. Adobe AIR对于HTML/JavaScript应用程序与桌面的集成有着出色的支持,但除了所有附加功能之外,还需要一些其他工具和技术 ...
- MacBook Air写代码真香!包邮送一台!
人生就是一个磨练的过程,在阳光下灿烂,风雨中奔跑,泪水中成长,拼搏中展望. 祝你在新的一年里:财源滚滚,发得像肥牛:身体棒棒,壮得像狗熊:爱情甜甜,美得像蜜蜂:财源滚滚,多得像牛毛! 为了感谢大家对本 ...
- 深度学习时间序列预测:LSTM算法构建时间序列单变量模型预测大气压( air pressure)+代码实战
深度学习时间序列预测:LSTM算法构建时间序列单变量模型预测大气压( air pressure)+代码实战 长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主 ...
最新文章
- 参加第十六届智能车竞赛学生提出的问题-05-10
- 04. Mybatis的resultMap基本应用
- Redis 通用 key 命令
- python做logistic回归_用Python做Logistic回归
- c标签 if else
- 1加6投屏_今天说说投屏那点事,建议大家选购投屏器,要关注这些点
- first OData Batch operation when Sales Pipeline is launched
- java登陆界面工具_javaee编写登陆界面
- leetcode 26. 删除有序数组中的重复项
- 专为控制打印设计的CSS样式
- python 模块定义_在python中定义私有模块函数
- python的any函数_Python any()函数
- 孙鑫VC学习笔记:第十九讲 动态链接库
- 致远OA ajaxAction formulaManager 文件上传漏洞
- 软件测试工程师简历项目经验怎么写?--1000个已成功入职的软件测试工程师简历范文模板(含真实简历)
- 有趣的23000词根
- android对话框activity,Android使用Activity用作弹出式对话框
- 2018.11.4 东华杯(骇极) REVERSE What's it wp
- 剑心---速度与位置
- python产品作者如何去掉_python去除\ufeff、\xa0、\u3000
热门文章
- 区块链将颠覆游戏业,游戏内商品未来也可带出游戏、自由交易
- 一些五笔不好打出来的字(转)-留作记念
- 降薪潮、裁员潮,普通IT数据人的30岁没电视剧里那么容易
- 使用 NGINX 搭建 RTMP 流媒体服务器实现直播功能
- 看完这个,你还觉得SOME/IP测试难吗?
- 用青龙面板跑闲趣赚(趣闲赚)脚本(收益超级稳定)
- 【AlexNet】ImageNet Classification with Deep Convolutional Neural Networks
- mysql vtype_ExtJs6学习笔记 -- 自定义 vtype
- Kepp-alive的实际运用场景(1)
- 推荐 :你要的用户画像实践来了!