当前位置:
首页 > 计算机 > 软件工程学 > AIRAndroid应用开发实战pdf/doc/txt格式电子书下载

AIRAndroid应用开发实战pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

AIRAndroid应用开发实战pdf/doc/txt格式电子书下载

书名:AIRAndroid应用开发实战pdf/doc/txt格式电子书下载

推荐语:AIR技术专家撰写,天地会等4大AIR社区联袂推荐

作者:邱彦林著

出版社:机械工业出版社

出版时间:2012-08-13

书籍编号:30469301

ISBN:9787111391777

正文语种:中文

字数:289226

版次:1

所属分类:计算机-软件工程学

全书内容:

AIRAndroid应用开发实战pdf/doc/txt格式电子书下载






前言


2010年年底,我有幸受邀参加了Flash开发者大会(http://www.wefdc.com)主办的第六届技术交流会,作了题为《AIR Android开发的一些心得》的演讲。当时AIR移动版(也就是2.5版)尚在测试阶段,还没有正式发布,所以很多朋友都觉得很新鲜。参加这次大会最大的收获是结识了一些志同道合的朋友,其中就有本书的策划编辑杨福川。与福川几番交流后,就有了创作本书的想法。


从2010年到2012年,短短两年时间,移动互联网的发展日新月异。移动互联网给人们带来的变化是全方位的,从生活到工作,一切都在变化,而且速度越来越快。对技术人员而言,身处这样一个技术更替的大时代,面临着挑战的同时,也有很多机遇,在Flash技术领域更是如此。


Flash技术的移动之路


回首过去,Flash技术在移动平台上走过了一段颇为曲折的道路。


在Macromedia没被Adobe收购前,就已经着手让Flash技术进军移动领域。在Flash Player 4.0时代,Macromedia推出了针对移动设备的Flash Lite解决方案,这是一个轻量级的Flash Player,支持在设备上直接运行Flash文件。此时移动平台还处于诺基亚的Symbian系统时代,软硬件条件都和PC相去甚远。由于移动应用的发展缓慢,Flash Lite并没有取得理想的成就。到2009年,Flash Lite发展到3.1版本,但一直没有达到Adobe的预期效果。


2007年,iPhone手机的横空出世,打乱了移动市场的格局。2008年Android系统手机问世,随后,移动互联网时代就这样“忽如一夜春风来”。在这一时期,客观地说,Adobe在发展战略上走了一些弯路,因为他们还是按照Flash技术在PC上的发展套路,执著地在移动平台上推行Flash Player。事实上,Flash Lite的失败已经证明这条路很难走。好在Adobe及时调整了方向,2009年后将重点放在AIR上,让AIR支持Android、iOS和Blackberry等。


主流移动平台,走Native App路线,为广大的Flash技术开发者打开了通往移动平台的方便之门。


2010年,Adobe发布了AIR 2.5版本,支持Android平台和Blackberry的Playbook,随后的2.6版增加了对iOS平台的支持。在此之后,AIR的发展更加迅猛。2011年底,Adobe正式宣布终止更新移动版Flash Player,集中力量发展AIR移动技术。截止到本书出版,AIR已经到了3.2版本,AIR 3.3也进入了公测期。


谈到AIR在移动平台的发展历史,笔者想起了一款名为ELIPS Studio的软件。这款软件出自一家法国的公司OpenPlug(发布于2009年,比AIR 2.5还早),是基于Flash平台的移动解决方案,为Flash开发者提供了跨平台的开发环境,并能够将Flash技术运用到Android、iOS、Windows Mobile等平台上。2010年,这家公司被跨国公司阿尔卡特朗讯(Alcatel-Lucent)收购。不过,当AIR完成了移动平台的布局后,OpenPlug的技术优势已不复存在,毕竟他们的产品都是基于Flash技术,无法和Adobe抗衡。不久之后,阿尔卡特朗讯宣布终止更新OpenPlug产品,这也就在意料之中了。OpenPlug固然是昙花一现,但从中可以得出一个结论:Flash技术走向移动平台确实适应了市场的需求。


本书面向的读者


如果你开发过AIR桌面程序,想知道如何将程序移植到Android平台上,那么本书非常适合你。


如果你了解ActionScript 3.0编程语言并用它编写过程序,现在又想为Android设备开发移动应用,那么这本书值得你一读。


如果你开发了一款Flash Web程序,想知道如何将程序移植到Android平台上,那么这本书里有你需要的东西。


如果你想为Android、iOS或Playbook开发跨平台的移动程序,那么一些不错的技巧和建议。


需要说明的是,这是一本关于AIR Android开发的教程,不是ActionScript 3.0的入门教程,也不是AIR开发的入门教程,更不是Android SDK开发的入门教程。当然,书中涉及一些Android SDK的内容,可帮助你加快Android SDK的学习进度。总而言之一句话,只要你有ActionScript 3.0开发经验,阅读这本书就肯定没问题。


本书包括的内容


本书共包括16章,分为5个部分:


准备篇(第1~2章) 主要介绍了AIR Android开发需要做哪些准备,如何搭建开发环境,并编写了一个简单的应用程序。通过这部分使读者了解移动技术的优势和局限。


基础篇(第3~10章) 介绍了AIR移动开发的基础技术,包括移动设备上的用户交互方式、加速计的使用、地理定位功能、访问设备资源、网络通信、文件和数据库等,涵盖了移动开发的方方面面,另外,程序的调试和发布也是移动开发的一个重要组成部分。


进阶篇(第11~13章) 和桌面开发相比,移动开发的重点和难点在哪里?如何针对设备进行界面设计?如何提高用户体验?更重要的是,在移动设备上,如何提升程序性能?在这部分,笔者结合自己的开发经验,分享了很多具有实际意义的技巧和方法。


实战篇(第14~15章) 用两个章节的篇幅详细介绍了一款游戏的开发过程,将AIR移动技术和Flash Web技术灵活结合起来,展现了Flash技术在移动平台上的巨大潜力。


高级篇(第16章) 介绍了AIR 3.0的新特色——本地扩展。本地扩展为AIR技术提供了超强的扩展能力,使得开发者可以摆脱AIR的技术局限性。


如何使用源代码


读者可以先登录http://www.hzbook.com网站,找到本书网页下载实例代码包。


每个实例程序一般包含三部分:


src文件夹:包含所有的源代码,都使用纯ActionScript 3.0编写。


dist文件夹:包含最终的APK文件,可以安装到设备上运行。


application. xml:应用程序描述文件。


使用FlashDevelop时,直接将src和application.xml复制到项目中即可运行。如果读者使用FlashBuilder开发环境,也可以建立ActionScript mobile项目来运行程序。


代码包中还有一个library目录,包含了公共代码库和类库,请读者务必将此目录添加到FlashDevelop的全局类路径中,否则一些实例程序将无法通过编译。添加方法是:在FlashDevelop中,单击菜单中的Tools→Global Classpaths命令,在弹出的窗口中,单击\"Add Classpath\"按钮,找到library目录,添加即可。


添加完毕后,在FlashDevelop中编辑项目时,在Project面板的文件列表中会看到library目录。如果没有出现library目录,则单击菜单中的Tools→Program settings命令,在弹出窗口的左侧找到\"Project Manager\",将右侧设置项\"Project Tree\"下的\"Show Global Classpaths\"修改为true,然后重新启动FlashDevelop即可。


勘误和支持


由于作者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。无论你遇到什么问题,都可以访问新浪微博http://weibo.com/waktree给我留言,或者发送邮件至walktree@gmail.com,期待能够得到你的反馈。


致谢


首先,感谢Flash开发者大会能够为我提供这么好的机会,让我认识了很多技术同仁,也感谢他们为广大Flash技术人员提供的这个很好的交流平台,和对国内的Flash技术推广做出的贡献。


其次,感谢我的上级领导和同事。因为在公司参与了相关的项目开发,我才有机会研究AIR移动技术。在AIR移动技术还处于测试阶段时,我又有幸承担了开发重任。在开发过程中,同事们共同解决了一系列的技术问题,这些心得和经验最终都成为了书中实例。


感谢本书的策划编辑杨福川,在内容布局和安排上他都提出了很多好的意见和建议。感谢白宇,她一丝不苟的工作态度保证了这本书的质量。


因为诸多原因,曾一度拖稿,在爱人的不断督促和帮助下,最终才得以完成本书。谢谢家人的支持,祝家人和朋友们一切都好!


邱彦林


2012年5月

第一篇 准备篇


第1章 AIR Android开发简介


第2章 第一个AIR Android 程序:翻转黑白棋


第1章 AIR Android开发简介


2010年,Adobe公司成功地将AIR技术引入移动平台,从此,一举打开了通往移动领域的大门。而对于Flash开发者来说,该技术的出现为他们转向移动应用开发提供了便利的条件。


2010年年底,AIR已经实现了对Android、BlackBerry Tablet OS和iOS三个移动操作系统的支持。从目前的状况看,AIR在Android平台上的表现最抢眼。一方面,AIR程序在Android设备(手机和平板电脑)上的运行性能得到了用户的肯定;另一方面,当前市面上绝大部分Android手机和平板电脑都支持AIR程序,而且电子市场上使用AIR开发的程序数量呈上升趋势。


因此,本书以Android平台为目标,介绍AIR Android开发的必备知识,以及AIR Android的新功能和新特性。移动应用开发与桌面应用开发和Web应用开发相比,有其自身的特点。本书还将针对开发中的常见问题、程序设计技巧以及开发者关心的程序性能优化等内容进行重点讲解。另外,由于AIR的跨平台特性,书中的很多内容同样适用于BlackBerry Tablet OS和iOS平台。


1.1 开发之前需要了解的信息


在国内知名的Flash开发者论坛上,关于AIR Android,许多朋友都提到以下问题:


❑AIR程序在手机上的性能如何?


❑可以使用Flex框架吗?如何搭建开发环境?


❑如何发布APK文件?


❑必须使用Android的SDK吗?


❑一定要使用真机吗?


……


这一节,将针对这些问题给出答案。


1.1.1 AIR Android开发的可行性


可行性无疑是开发人员优先考虑的因素,如果开发的程序根本无法在设备上运行,或者用户体验很不友好,性能远远没有达到设定的目标,那么技术就失去了实际意义。


从市场的反馈来看,用户对AIR在Android上的性能表现相当满意。2010年10月,AIR正式登陆Google电子市场(2012年3月更名为Google Play商店),在短短两个月时间里,程序的累计下载量超过了25万次。截至本书出版前,AIR的最新版本为3.1,支持Android 2. 2及以上版本。


需要说明的是,并不是所有的Android设备都支持AIR。Adobe官方网站的信息显示,设备必须满足以下条件才能运行AIR:


❑Android 2. 2或更高版本。


❑ARM[1]v7-A或更高级的处理器。


❑支持OpenGL ES[2]2.0。


❑支持H.264&AAC H/W解码。


❑至少有256 MB内存。


一般情况下,安装或升级到Android 2.2的设备都可以运行AIR,而市面上的Android设备很多都已经安装或升级到2.2或以上版本了。在Android开发者站点上,会定期发布统计数据,让开发者了解当前Android不同版本的市场状况。图1-1所示为2011年10月20日至11月3日的统计数据。数据显示了在这两周的时间内访问Google电子市场的设备所对应的Android系统版本分布。

AIRAndroid应用开发实战pdf/doc/txt格式电子书下载

图 1-1 Android版本市场份额

从数据上看,Android 2.2及以上版本占主导地位。2010年年底,Android 2.2的市场份额超过50%;2010年底发布Android 2.3后,到2011年11月,Android 2.3的市场份额已经超过2.2版成为市场主流。与过去的数据进行对比可以看出,Android的发展速度真是日新月异。从1.5版到2.2版,Android进入了成熟期,不管是性能还是用户体验,都有了质的飞跃。2.3版在2.2版的基础上增加了不少新功能,性能也有了大幅提升。Android 3.0是专门为平板电脑设计的系统,在2011年下半年的平板电脑热潮中占据了越来越多的市场份额。2011年10月份发布的4.0版则是Android一个全新的版本,从界面到功能都有了很多引人瞩目的变化,随后就有大批采用新版系统的设备涌现出来。


Adobe官方网站上列出了支持AIR的设备列表,网址为http://www.adobe.com/flashplatform/certified_devices/。从这个列表中可以看到,备受大家追捧的Nexus系列、HTC Desire、Motor Milestone系列等。


可能有些开发者还有疑虑:如果用户的手机中并没有安装AIR,那即便安装了自己开发的应用程序也没有什么意义。因为程序必要依靠AIR运行时(Runtime)才能运行。


事实上,这个担心是多余的,Adobe已经为我们解决了这个问题。当用户运行使用AIR技术开发的程序时,程序在启动期间会判断设备上是否安装了AIR,如果安装了,则调用AIR运行时来加载并运行程序;如果没有,则弹出图1-2所示对话框。

AIRAndroid应用开发实战pdf/doc/txt格式电子书下载

图 1-2 提示安装AIR的对话框

单击“安装”按钮,设备会自动启动其上的电子市场程序,并进入Adobe AIR的下载界面。


提示 判断设备是否支持AIR,比较简单的方法是:在设备上打开Google电子市场程序,搜索\"Adobe AIR\",如果能够找到该程序,则表示设备支持AIR,因为电子市场会自动根据手机型号进行过滤。


一些厂商对系统进行了个性化定制,移除了自带的Google电子市场。如果无法通过Google电子市场安装AIR运行时,也可以通过其他的应用商店安装AIR运行时,比如国内的安卓市场、AppChina应用汇等。


另外,AIR 3.0引入了一个功能来解决AIR运行时的安装问题,那就是captive-runtime,即将AIR运行时捆绑在程序中,使得程序不需要AIR运行时就可以直接运行,使程序成为完全独立的应用。


1.1.2 开发过程中常见的问题


虽然AIR在Android平台上表现不错,但由于其发布时间较短,再加上很多Flash平台技术人员没有移动开发经验,仍然有许多这样或那样的问题。这一节将对一些常见问题予以解答。


Q1:AIR支持哪些开发环境?


A:AIR Android开发和Flash开发都使用相同的开发环境,大家可以选择自己熟悉的开发环境比如Flash Professional CS5、Flash Builder等,也可以构建完全开源的开发环境。


AIR移动开发要求AIR SDK 2.5及以上版本,目前在Android上只支持Flash技术,不支持HTML和JavaScript。本章的后半部分会详细介绍开发环境的搭建。


Q2:是否可以使用Flex框架进行AIR Android开发?


A:可以,但只适合Flex SDK 4.5及以上版本。因为Flex SDK 4.0以及更早的版本没有针对移动设备进行优化,如果把用这些框架开发的程序放到设备上运行,会遇到很多“不算问题”的问题,比如,你会发现无法用手指去拖动那条狭长的滚动条,按钮总是点不中,文本会被弹出的虚拟键盘挡住等。当然,最重要的是程序的性能不佳。


幸运的是,这些问题在新一代的Flex SDK中得到了解决。Adobe已经发布了代号为Hero的Flex SDK 4.5,同时发布的还有Flash Builder 4.5。新一代的Flex SDK采用了全新的设计结构,同时兼容Web、桌面和移动平台,大大简化了开发流程。


Q3:如何输出APK文件?


A:APK是Android package的缩写,即Android安装包,文件名以.apk为后缀,是JAR文件的一种变体,类似Windows系统上的EXE文件。


AIR SDK自带的编译工具,除了支持打包为AIR文件外,还支持APK文件。不管是基于Flash Professional CS5的开发环境,还是Flash Builder 4.5,都提供了图形化配置界面,简化了发布流程。另外,我们也可以使用命令行的方式,实现自动编译、打包和部署的“一条龙作业”。


Q4:一定要使用真机吗?


A:这也是开发者关心的问题之一。可能刚接触Android开发的开发者没有合适的设备,所以Android SDK提供了模拟器工具,让开发者在PC上就能体验各个版本的Android系统。在模拟器上,除了没有摄像头、Google电子市场等特殊的功能以外,基本上和真机没有区别。因此,不一定使用真机进行开发。


不过,在模拟器上无法看到程序真实的性能表现,故真机测试是移动开发最重要的一个环节。即便是安装了相同版本的操作系统,在不同型号的设备上,程序的表现也可能会有差异。因此,只有在真机上测试才能得到最准确的信息。


Q5:是否支持跨平台?


A:如上文所述,除了桌面操作系统,AIR已经实现了对Android、BlackBerry Tablet OS和iOS三个移动操作系统的支持。从技术角度看,针对Android和BlackBerry Tablet OS系统采用的是和桌面类似的方式,即Runtime(运行时)+应用程序,程序依托运行时才能运行;而在iOS平台上,由于Apple的限制,Adobe采用了一种间接方式,为开发者提供了一套打包工具,可以将AIR程序连同运行时一起编译为iOS原生代码,程序不需要运行时就可以运行。因此,AIR在Android和BlackBerry Tablet OS上更符合跨平台的条件。


经笔者测试,同一个程序,只要配置好相关参数,一行代码都不用修改,就可以将应用部署到Android手机和PlayBook(采用BlackBerry Tablet OS的平板电脑)上。当然,前提是在程序设计中充分考虑了跨平台的需求。


Q6:AIR Android和Flash Lite有什么联系?


A:两者没有任何联系。Flash Lite是Adobe针对移动开发的第一代解决方案,和AIR相比,它更像是针对低端智能手机的Flash Player,即使在硬件条件很有限的设备上,也能部署Flash内容。几年前,智能手机的硬件水平远没有现在这么先进,如今,移动设备迅猛发展,连智能手机都开始运用“双核”技术了,完全有能力运行更复杂的程序。因此,Flash Lite逐渐失去了用武之地。


Q7:Adobe不再继续为移动设备开发Flash Player,是否也会停止AIR移动版的开发?A:不会,两者没有任何联系。2011年11月,Adobe宣布,该公司将正式停止为移动浏览器、操作系统开发移动版本Flash Player播放器。停止开发移动版Flash Player后,Adobe将把主要精力放在AIR桌面和移动版本开发上,因此,对AIR移动开发者来说,这其实是一个好消息。


1.1.3 优势和局限性


我们常说的Android开发,是指以Java为编程语言,使用官方提供的SDK工具进行的开发。Android SDK提供了一整套功能强大的API,涵盖了从图形界面到系统底层控制等方方面面的功能。另外,官方还提供了一套NDK工具,允许开发者使用传统的C或C++语言编写程序,进行更底层的数据操作,进一步提升程序性能。


1.优势


既然Android自有的开发方式已经很完善了,那我们为什么还要使用AIR呢?笔者认为,主要有以下两点因素:


1)AIR和Android自有的开发方式并不冲突,相反,AIR对Android平台是一个很好的技术补充。


Flash技术的优势在于界面呈现、交互处理。比如制作一段复杂的动画,使用Java技术也可以实现,但肯定会遇到一些困难,花费不少时间,如果使用Flash技术,则会轻松很多。另外,AIR还扩展了Android平台的技术生态圈。如今在移动平台领域竞争激烈,Android引入AIR技术,能够吸引庞大的Flash开发者队伍加入进来,对Android平台而言,有百利而无一害。


2)AIR的跨平台特性依然是吸引开发者的利器。


对移动开发者来说,跨平台历来是个难题。平台间的移植所耗费的时间和人力成本,对企业而言,是一笔不小的支出。因此,对一些企业来说,AIR是一个相当经济的解决方案。AIR支持多个桌面操作系统,包括Windows、Mac和Linux,现在这个名单上又多了Android、iOS和BlackBerry Tablet OS,而且Adobe还在努力支持更多平台,在未来的一段时间内,这个名单可能还会继续增长。


2.局限性


当然,AIR也有自己的局限性。


1)不支持所有版本的Android系统。


AIR只支持Android 2.2及以上版本,且需要安装运行时,对设备的硬件要求比较高。如果用户需要支持所有型号的设备,那么AIR就无法满足。不过这个缺点几乎可以忽略不计,因为目前Android 2.2和2.3已经成为市场主流,对早期的版本提供支持意义不大。


2)AIR不提供访问系统底层资源的API。


这也是AIR在各个平台上的“通病”。具体到Android设备上,AIR没有针对移动设备提供额外的功能,比如获取用户的通信录、短信、通信记录等数据。


AIR 3. 0引入了一个新功能——本地扩展(AIR Native Extension, ANE)。ANE允许开发者使用本地原生API为AIR编写扩展库,来实现AIR API无法做到的功能,包括访问系统底层资源。有了ANE这个利器,可以使很多不可能的任务成为可能。ANE可以被当做共享库分发,目前已经有很多开发者将自己编写的ANE分享出来,相信在未来一段时间,AIR在移动平台上的应用与原生开发环境制作出来的应用的差距会越来越小。

[1]ARM(Advanced RISC Machines)公司,位于英国伦敦,以设计ARM微处理器架构闻名于世。它本身不生产芯片,而采用转让许可证制度,由合作伙伴生产芯片,其合作伙伴包括Intel、IBM、SONY、飞利浦等公司。采用ARM架构的处理器占据了手机处理器近90%的份额。Apple的iPad一代和二代使用的都是基于ARM架构的处理器。

[2]OpenGL ES(OpenGL for Embedded Systems)是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。——维基百科

1.2 搭建开发环境


AIR Android开发支持多种开发环境,本节将介绍其中常见的三种方式。本书所有的实例都以第三种方式即开源方式为主。


下面以Windows系统为例,介绍如何搭建基于Android的AIR开发环境,安装过程全部在Windows XP和Windows 7 Ultimate下测试通过。


1.2.1 安装Android SDK


在AIR Android的开发过程中,并不需要使用Android SDK。但是,后面会用到SDK中的一些工具软件。例如ADB(Android Debug Bridge)工具,管理连接到PC上的Android设备,支持直接操作设备上的资源,包括程序、文件等;DDMS(Dalvik Debug Monitor Server)则是一个很实用的调试工具。另外,创建模拟器也离不开SDK的支持,因此,这里先介绍Android SDK的安装,为后面的内容奠定基础。安装Android SDK的步骤如下。


步骤1 安装JDK 1.5或更高版本,并将JDK所在的bin目录加入到系统环境变量中。


因为SDK工具必须在Java环境下才能运行,所以先要安装JDK(Java Development Kit, Java开发套件)。步骤如下:


1)打开SUN公司的官方网站http://java.sun.com/javase/downloads/index.jsp,下载最新版本的JDK,最新版本为Java SE 6 Update 24。单击页面上的Download JDK按钮,随后选择正确的操作系统,下载合适的安装包。


2)JDK的安装程序是一个EXE可执行程序

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示