AIR Android应用开发实战邱彦林作者简介、书籍目录、内容摘要、编辑推荐

内容概要

  本书由资深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设备和其他移动设备间的移植,包含大量案例、技巧和最佳实践。