第一图书网

AIR Android应用开发实战

邱彦林 机械工业出版社
出版时间:

2012-8  

出版社:

机械工业出版社  

作者:

邱彦林  

页数:

347  

Tag标签:

无  

前言

2010年年底,我有幸受邀参加了Flash开发者大会主办的第六届技术交流会,作了题为《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的软件。这款软件出自一家法国的公司Open Plug(发布于2009年,比AIR 2.5还早),是基于Flash平台的移动解决方案,为Flash开发者提供了跨平台的开发环境,并能够将Flash技术运用到Android、iOS、Windows Mobile等平台上。2010年,这家公司被跨国公司阿尔卡特朗讯(Alcatel-Lucent)收购。不过,当AIR完成了移动平台的布局后,Open Plug的技术优势已不复存在,毕竟他们的产品都是基于Flash技术,无法和Adobe抗衡。不久之后,阿尔卡特朗讯宣布终止更新Open Plug产品,这也就在意料之中了。Open Plug固然是昙花一现,但从中可以得出一个结论:Flash技术走向移动平台确实适应了市场的需求。本书面向的读者如果你开发过AIR桌面程序,想知道如何将程序移植到Android平台上,那么本书非常适合你。如果你了解Action Script 3.0编程语言并用它编写过程序,现在又想为Android设备开发移动应用,那么这本书值得你一读。如果你开发了一款Flash Web程序,想知道如何将程序移植到Android平台上,那么这本书里有你需要的东西。如果你想为Android、iOS或Playbook开发跨平台的移动程序,那么一些不错的技巧和建议。需要说明的是,这是一本关于AIR Android开发的教程,不是Action Script 3.0的入门教程,也不是AIR开发的入门教程,更不是Android SDK开发的入门教程。当然,书中涉及一些Android SDK的内容,可帮助你加快Android SDK的学习进度。总而言之一句话,只要你有Action Script 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文件夹:包含所有的源代码,都使用纯Action Script 3.0编写。dist文件夹:包含最终的APK文件,可以安装到设备上运行。application.xml:应用程序描述文件。使用Flash Develop时,直接将src和application.xml复制到项目中即可运行。如果读者使用Flash Builder开发环境,也可以建立Action Script mobile项目来运行程序。代码包中还有一个library目录,包含了公共代码库和类库,请读者务必将此目录添加到Flash Develop的全局类路径中,否则一些实例程序将无法通过编译。添加方法是:在Flash Develop中,单击菜单中的Tools→Global Classpaths命令,在弹出的窗口中,单击“Add Classpath”按钮,找到library目录,添加即可。添加完毕后,在Flash Develop中编辑项目时,在Project面板的文件列表中会看到library目录。如果没有出现library目录,则单击菜单中的Tools→Program settings命令,在弹出窗口的左侧找到“Project Manager”,将右侧设置项“Project Tree”下的“Show Global Classpaths”修改为true,然后重新启动Flash Develop即可。勘误和支持由于作者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。无论你遇到什么问题,都可以访问新浪微博http://weibo.com/waktree给我留言,或者发送邮件至walktree@gmail.com,期待能够得到你的反馈。致谢首先,感谢Flash开发者大会能够为我提供这么好的机会,让我认识了很多技术同仁,也感谢他们为广大Flash技术人员提供的这个很好的交流平台,和对国内的Flash技术推广做出的贡献。其次,感谢我的上级领导和同事。因为在公司参与了相关的项目开发,我才有机会研究AIR移动技术。在AIR移动技术还处于测试阶段时,我又有幸承担了开发重任。在开发过程中,同事们共同解决了一系列的技术问题,这些心得和经验最终都成为了书中实例。感谢本书的策划编辑杨福川,在内容布局和安排上他都提出了很多好的意见和建议。感谢白宇,她一丝不苟的工作态度保证了这本书的质量。因为诸多原因,曾一度拖稿,在爱人的不断督促和帮助下,最终才得以完成本书。谢谢家人的支持,祝家人和朋友们一切都好!邱彦林2012年5月

内容概要

  本书由资深Adobe技术专家兼资深Android应用开发工程师亲自执笔,既系统全面地讲解了如何利用Adobe
AIR技术开发Android应用,又细致深入地讲解了如何将已有的基于PC的AIR应用移植到Android设备上。不仅包含大量实践指导意义极强的实战案例,而且还包括大量建议和最佳实践,是系统学习AIR
Android应用开发不可多得的参考书。
  全书共16章,分为五个部分:准备篇(1~2章)主要介绍了利用AIR开发Android应用之前需要了解的基本信息、开发环境的搭建,以及一个简单的AIR
Android应用开发的全过程,旨在让读者对AIR
Android应用开发有一个全面清晰的认识;基础篇(3~10章)对AIR移动开发技术进行了系统而全面地讲解,包括移动设备上的用户交互方式、加速计的使用、地理定位功能、整合系统程序、访问设备资源、网络通信、多媒体、文件和数据库等,以及程序的调试和发布;进阶篇(11~13章)以AIR桌面应用开发为参照对象,讲解了AIR移动开发的重点和难点,如何针对移动设备进行界面设计,如何提高用户体验,以及如何提升程序的性能等,作者分享了大量具有实际意义的技巧和最佳实践;实战篇(14~15章)详细讲解了一款游戏的开发过程,将AIR移动技术和Flash
Web技术灵活地结合了起来,展现了Flash技术在移动平台上的巨大潜力;高级篇(第16章)讲解了AIR
3.0的新特色——本地扩展,本地扩展为AIR技术提供了超强的扩展能力,使得开发者可以摆脱AIR的技术局限性。

作者简介

  邱彦林(网名:walktree)
资深Adobe技术专家和资深Android开发工程师,精通ActionScript
2、ActionScript3、Flex、FMS等;有多年Flash相关技术开发经验,开发了大量Flash/Flex项目,是开源项目as3-pdf
reader的创建者,并维护至今,在Adobe技术社区有较高的知名度和影响力。国内Android应用开发的先驱者之一,对Android应用开发也有非常深入的研究,尤其精通AIR
Android应用的开发。他对PHP和Python相关的技术也有一定的研究。
  此外,他还是一位颇具经验的技术撰稿人和技术作家,曾经在社区和《程序员》杂志上发表了大量技术文章,著有《Flex第一步》等著作。

书籍目录

前言
第一篇 准备篇
 第1章 AIR Android开发简介
  1.1 开发之前需要了解的信息
  1.1.1 AIR Android开发的可行性
  1.1.2 开发过程中常见的问题
  1.1.3 优势和局限性
  1.2 搭建开发环境
  1.2.1 安装Android SDK
  1.2.2 使用Flash Professional CS5
  1.2.3 使用Flash Builder 4.5
  1.2.4 构建开源的开发环境
  1.3 实战:一个简单的AIR项目
  1.4 本章小结
 第2章 第一个AIR Android程序:翻转黑白棋
  2.1 游戏的设计思路
  2.2 像往常一样编写ActionScript代码
  2.2.1 创建棋子类Grid
  2.2.2 编写主类Main
  2.3 设置程序属性
  2.3.1 了解应用程序描述文件
  2.3.3 设置访问权限
  2.4 打包APK文件
  2.5 安装和运行程序
  2.5.1 使用模拟器运行程序
  2.5.2 在真机上运行程序
  2.6 本章小结
第二篇 基础篇
 第3章 处理用户交互
  3.1 关于多点触摸
  3.2 处理触摸事件
  3.2.1 使用TouchEvent类
  3.2.2 触摸事件与鼠标事件的区别
  3.3 处理手势动作
  3.3.1 放大与缩小手势
  3.3.2 旋转手势
  3.3.3 Swipe手势
  3.4 本章小结
 第4章 加速计
  4.1 Accelerometer API用法
  4.2 重力小球实例
  4.2.1 如何模拟重力场
  4.2.2 绘制小球
  4.2.3 让小球总是掉到屏幕下方
  4.2.4 为小球设置围墙
  4.2.5 优化代码后运行程序
  4.2.6 管理程序的状态
  4.3 加速计实战:检测手机晃动
  4.4 本章小结
 第5章 地理定位
  5.1 开启手机的地理定位功能
  5.2 Geolocation API用法
  5.3 地理定位实战:自动查询地址和天气
  5.3.1 查询地址Geocoding
  5.3.2 查询本地天气Weather
  5.3.3 代码解析
  5.3.4 测试运行
  5.4 本章小结
 第6章 整合系统程序
  6.1 使用自定义URI调用系统程序
  6.1.1 电话拨号tel
  6.1.2 发送短信sms
  6.1.3 发送邮件mailto
  6.2 使用Android系统自带的地图服务
  6.3 使用StageWebView加载网页
  6.4 本章小结
 第7章 多媒体
  7.1 使用摄像头
  7.1.1 摄像头的传统用法
  7.1.2 使用CameraUI类调用摄像程序
  7.2 使用设备上的多媒体资源
  7.2.1 使用CameraRoll类向系统相册添加照片
  7.2.2 使用CameraRoll类选取照片
  7.3 使用麦克风录音
  7.4 播放视频
  7.4.1 AIR支持的视频格式
  7.4.2 播放视频实战:VideoPlayer
  7.5 本章小结
 第8章 文件和数据库
  8.1 文件系统API
  8.1.1 Android文件系统和程序目录结构
  8.1.2 常用的文件操作
  8.1.3 用异步方式操作文件
  8.2 SQL数据库
  8.2.1 SQLite简介
  8.2.2 连接数据库
  8.2.3 创建表
  8.2.4 添加、查询、更新和删除
  8.2.5 数据库实战:使用查询参数重用SQLStatement对象
  8.3 本章小结
 第9章 网络通信
  9.1 网络通信知识简介
  9.1.1 网络通信API
  9.1.2 AIR的安全机制
  9.2 检测网络状态
  9.3 Socket实战:开发即时聊天工具
  9.3.1 Socket通信流程
  9.3.2 在桌面建立服务器
  9.3.3 构建简单的聊天服务器
  9.3.4 制作聊天客户端
  9.4 强大的P2P功能
  9.4.1 P2P通信模型
  9.4.2 P2P开发实战:视频直播
  9.5 本章小结
 第10章 调试和发布
  10.1 调试程序
  10.1.1 使用ADL在桌面上调试程序
  10.1.2 远程连接Flash调试器
  10.1.3 使用Android SDK的DDMS工具
  10.2 发布程序前的准备工作
  10.2.1 设置程序的基本属性
  10.2.2 管理程序的版本号
  10.2.3 针对Android设备的设置
  10.3 发布APK文件
  10.4 将程序发布到应用商店
  10.4.1 发布到Google Play商店
  10.4.2 发布到安卓市场
  10.5 本章小结
第三篇 进阶篇
 第11章 针对移动设备的程序设计
  11.1 设计界面
  11.1.1 自动适应不同型号的屏幕
  11.1.2 友好的用户交互
  11.1.3 有效的界面布局
  11.2 管理程序的状态
  11.2.1 监测程序状态
  11.2.2 实战:自动保存播放位置
  11.3 跨平台开发
  11.3.1 跨平台开发时的注意事项
  11.3.2 技巧:使用编译参数兼容多平台
  11.4 本章小结
 第12章 键盘交互
  12.1 Android设备上的键盘交互
  12.1.1 Android设备上的实体按键
  12.1.2 监听键盘事件
  12.2 实战:使用Menu键模拟Android的菜单和行为
  12.2.1 创建菜单对象
  12.2.2 关联按键动作
  12.3 Back键的用法
  12.3.1 实战:使用Back键进行页面导航
  12.3.2 通过Back键自动关闭程序
  12.4 本章小结
 第13章 性能优化
  13.1 了解ActionScript 3.0的运行机制
  13.1.1 ActionScript 3.0的特点
  13.1.2 关于垃圾回收机制
  13.2 从编程细节处看优化
  13.2.1 使用最合适的数据类型和API
  13.2.2 资源的回收和释放
  13.2.3 实例:一段代码的优化历程
  13.3 常用工具和代码库
  13.3.1 使用FlexPMD优化代码
  13.3.2 Flash Builder的性能调试工具Profiler
  13.3.3 第三方调试工具Monster Debugger
  13.4 优化技巧实战案例
  13.4.1 运用render事件减少代码执行
  13.4.2 构建对象池重用对象:动态小球实例
  13.4.3 异步事件的使用:搜索SD卡
  13.5 本章小结
第四篇 实战篇
 第14章 迷宫游戏的准备阶段
  14.1 需求分析
  14.1.1 游戏规则
  14.1.2 游戏功能的实现
  14.2 技术要点分析
  14.2.1 如何实现物理效果
  14.2.2 如何生成地图
  14.3 Box2D物理引擎
  14.3.1 Box2D中的基本概念
  14.3.2 示例程序HelloBox2D
  14.3.3 实现碰撞效果
  14.4 迷宫地图算法
  14.4.1 问题分析
  14.4.2 回溯法详解
  14.4.3 代码实现
  14.5 本章小结
 第15章 迷宫游戏的实现
  15.1 制作迷宫地图
  15.1.1 绘制带有物理属性的地图
  15.1.2 添加随机障碍物
  15.2 加入可“行走”的角色
  15.2.1 创建小球
  15.2.2 使用加速计控制小球的移动
  15.2.3 碰撞检测
  15.3 游戏状态控制
  15.3.1 自动暂停和恢复
  15.3.2 关卡设置
  15.4 游戏代码分析
  15.4.1 程序中的类
  15.4.2 主程序Game类详解
  15.5 本章小结
第五篇 高级篇
 第16章 AIR本地扩展
  16.1 ANE的特点
  16.2 一个简单的本地扩展
  16.2.1 搭建开发环境
  16.2.2 编写本地代码
  16.2.3 编写ActionScript代码
  16.2.4 打包和发布
  16.2.5 在程序中使用本地扩展
  16.3 ANE进阶实战技术
  16.3.1 Intent机制:分享信息到社交网站
  16.3.2 在顶部状态栏显示系统通知
  16.4 本章小结

章节摘录

版权页: 插图: 另外,AIR提供了一个setRequestedupdateInterVal方法供我们控制update事件的更新间隔。如果程序并不需要频繁地更新加速计的值,就可以增大更新间隔,比如: myAcc.setRequestedUpdateInterval(1000); 这句代码将把更新事件的时间间隔设置为1000毫秒,也就是1秒。从性能上考虑,时间间隔应该尽可能的大,同一时间内代码的执行次数可以减少,耗费的系统资源也会减少,从而减少了电量的消耗。 Accelerometer对象还有一个比较重要的属性muted,和Accelerometer类的静态属性isSupported一样,也是只读的,不同的是它表示用户是否禁止程序使用加速计的功能。一般Android设备并没有提供控制加速计的接口,因此只要配置了加速计,muted的值总是false。如果设备允许用户控制加速计,则必须判断muted的值以及muted的变化情况,即监听Accelerometer对象的状态事件。代码如下: mvAcc.addEventListener(StatusEvent.STATUS,onStatusChanged); private functlon onStatusChangee(e:StatusEvent):void { //根据myAcc的muted属性值做下一步计划 } 总的来说,Acelerometer API用法比较简单,看上去似乎并没有什么特别之处,不过读者看了后面的两个小例子,就会对加速计有新的看法。 4.2重力小球实例 加速计也称为重力感应器,因为它的一个典型应用就是模拟重力场。物体受到重力作用的具体表现为自由落体运动,如果我们能够让屏幕上的物体作自由落体运动,看上去就好像是受到重力作用一样,也就达到了模拟重力的效果。 本例将尝试制作一个受到重力作用的小球,它总是向手机屏幕的低处运动,即使我们翻转手机改变屏幕朝向,小球仍然非常听话地滚向手机屏幕的最低处。

媒体关注与评论

Adobe的AIR移动开发技术是未来移动开发跨平台技术的主流之一。十多年来Flash游戏与应用开发的成熟奠定了它的基础,而Flash通过AIR来开发移动端应用的便利性和实用性,已经受到了业界的青睐。本书的出版可谓是顺应时代的要求,总结了作者多年来在RIA应用开发领域的经验,希望广大Flash开发者能从中受益!——天地会 全球最大的RIA开发者社区/Adobe官方认证社区冠军AIR移动开发技术在Adobe未来10年的发展战略中有非常重要的地位,关乎到Adobe在移动开发领域的地位和话语权,所以Adobe一直在大力投入。AIR移动开发技术是Flash开发者的福音,它不仅能让Flash开发者利用原有的知识迅速开发出基于各种移动平台的应用,而且还能将已经存在于PC桌面的AIR应用便利地移植到各种设备上。Android应用开发目前在移动开发领域炙手可热,本书专门讲解了如何开发利用AIR移动开发技术开发基于该平台的应用。全书内容非常全面,各种理论、开发方法和技巧均覆盖到了,适合系统学习;实战性非常突出,包含大量案例,可操作很强。此外,本书内容也不乏深度,对性能优化等高级内容也进行了探讨,而且还包括一些最佳实践。——艾睿论坛 专注Flex开发本书算得上是AIR移动开发方面的优秀之作,全面而深入地讲解了如何使用AIR技术开发Android应用。特别令人印象深刻的是,这本书在多点触控与重力感应等移动开发的关键技术上有深入的探索,是不同水平层次的AIR移动开发者都值得阅读并研究的实战教材。——Flash开发者大会随着ANE、Alchemy的出现,Native的特性和运行性能都得到很大的提升。借助AIR跨平台和高效开发的优势,AIR已完全具备开发商业产品的能力。本书针对AIR for Android开发,详细地介绍了手势、加速计、地理定位等移动特性开发细节,很适合AIR for Android初学者系统学习。在本书指导下,读者可以快速学习AIR for Android开发的核心知识,省去走弯路的时间。——李佳宸 Adobe专家组成员、瑞研社区创始人、Flash开发者大会组织者、AIR移动研究小组(www.todoair.com)委员2007年通过Flex与彦林相识,3年后,在Flash开发者大会上再次和他相遇,5年后的今天,彦林带给我惊喜,他将自己在AIR和Android应用开放方面的经验系统总结了出来并集结成书。迫不急待地看了样章,简明扼要是给我的第一印象。插图不多,但恰到好处。说到关键点时,给出了带有注释的示例代码,言简意骇,能让读者始终保持清晰的思路。对于想开发移动AIR的同学来说,是一本不错的学习教材。希望能借着此类书籍,让国内的移动AIR开发者队伍能更快地发展壮大,让Flash技术更快地渗透到移动互联网。——Y.Boy 资深Flash技术专家/就职于腾讯


编辑推荐

《AIR Android应用开发实战》由资深Adobe技术专家兼资深Android应用开发工程师亲自执笔,专业社区联袂推荐。系统讲解利用AIR技术开发Android应用的方法和流程,以及AIR应用在PC、Android设备和其他移动设备间的移植,包含大量案例、技巧和最佳实践。

图书封面

图书标签Tags

广告

下载页面


AIR Android应用开发实战 PDF格式下载



学到了很多,平时看不到的东西


作为入门书还是不错的,就是书不厚,有点小贵


而且是最新的讲AIR FOR 移动开发的,学习AIR开发必备!


相关图书