AIR Android应用开发实战

AIR Android应用开发实战
作 者: 邱彦林
出版社: 机械工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 移动开发
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

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

内容简介

《AIR Android应用开发实战》由资深Adobe技术专家兼资深Android应用开发工程师亲自执笔,既系统全面地讲解了如何利用Adobe AIR技术开发Android应用,又细致深入地讲解了如何将已有的基于PC的AIR应用移植到Android设备上。不仅包含大量实践指导意义极强的实战案例,还包括大量建议和最佳实践,是系统学习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的技术局限性。

图书目录

前言

第一篇 准备篇

第1章 AIR Android开发简介 / 2

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

1.1.1 AIR Android开发的可行性 / 2

1.1.2 开发过程中常见的问题 / 4

1.1.3 优势和局限性 / 6

1.2 搭建开发环境 / 7

1.2.1 安装Android SDK / 7

1.2.2 使用Flash Professional CS5 / 9

1.2.3 使用Flash Builder 4.5 / 13

1.2.4 构建开源的开发环境 / 16

1.3 实战:一个简单的AIR项目 / 17

1.4 本章小结 / 20

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

2.1 游戏的设计思路 / 21

2.2 像往常一样编写ActionScript代码 / 23

2.2.1 创建棋子类Grid / 23

2.2.2 编写主类Main / 24

2.3 设置程序属性 / 31

2.3.1 了解应用程序描述文件 / 31

2.3.3 设置访问权限 / 32

2.4 打包APK文件 / 33

2.5 安装和运行程序 / 34

2.5.1 使用模拟器运行程序 / 34

2.5.2 在真机上运行程序 / 39

2.6 本章小结 / 40

第二篇 基础篇

第3章 处理用户交互 / 42

3.1 关于多点触摸 / 42

3.2 处理触摸事件 / 43

3.2.1 使用TouchEvent类 / 43

3.2.2 触摸事件与鼠标事件的区别 / 47

3.3 处理手势动作 / 48

3.3.1 放大与缩小手势 / 49

3.3.2 旋转手势 / 52

3.3.3 Swipe手势 / 53

3.4 本章小结 / 56

第4章 加速计 / 57

4.1 Accelerometer API用法 / 57

4.2 重力小球实例 / 59

4.2.1 如何模拟重力场 / 59

4.2.2 绘制小球 / 60

4.2.3 让小球总是掉到屏幕下方 / 61

4.2.4 为小球设置围墙 / 62

4.2.5 优化代码后运行程序 / 64

4.2.6 管理程序的状态 / 64

4.3 加速计实战:检测手机晃动 / 66

4.4 本章小结 / 68

第5章 地理定位 / 69

5.1 开启手机的地理定位功能 / 69

5.2 Geolocation API用法 / 70

5.3 地理定位实战:自动查询地址和天气 / 73

5.3.1 查询地址Geocoding / 74

5.3.2 查询本地天气Weather / 75

5.3.3 代码解析 / 76

5.3.4 测试运行 / 79

5.4 本章小结 / 83

第6章 整合系统程序 / 84

6.1 使用自定义URI调用系统程序 / 84

6.1.1 电话拨号tel / 84

6.1.2 发送短信sms / 88

6.1.3 发送邮件mailto / 90

6.2 使用Android系统自带的地图服务 / 92

6.3 使用StageWebView加载网页 / 95

6.4 本章小结 / 100

第7章 多媒体 / 101

7.1 使用摄像头 / 101

7.1.1 摄像头的传统用法 / 101

7.1.2 使用CameraUI类调用摄像程序 / 103

7.2 使用设备上的多媒体资源 / 108

7.2.1 使用CameraRoll类向系统相册添加照片 / 108

7.2.2 使用CameraRoll类选取照片 / 111

7.3 使用麦克风录音 / 115

7.4 播放视频 / 122

7.4.1 AIR支持的视频格式 / 122

7.4.2 播放视频实战:VideoPlayer / 123

7.5 本章小结 / 126

第8章 文件和数据库 / 127

8.1 文件系统API / 127

8.1.1 Android文件系统和程序目录结构 / 127

8.1.2 常用的文件操作 / 132

8.1.3 用异步方式操作文件 / 134

8.2 SQL数据库 / 136

8.2.1 SQLite简介 / 136

8.2.2 连接数据库 / 137

8.2.3 创建表 / 138

8.2.4 添加、查询、更新和删除 / 141

8.2.5 数据库实战:使用查询参数重用SQLStatement对象 / 146

8.3 本章小结 / 149

第9章 网络通信 / 150

9.1 网络通信知识简介 / 150

9.1.1 网络通信API / 150

9.1.2 AIR的安全机制 / 153

9.2 检测网络状态 / 154

9.3 Socket实战:开发即时聊天工具 / 157

9.3.1 Socket通信流程 / 157

9.3.2 在桌面建立服务器 / 158

9.3.3 构建简单的聊天服务器 / 160

9.3.4 制作聊天客户端 / 167

9.4 强大的P2P功能 / 173

9.4.1 P2P通信模型 / 173

9.4.2 P2P开发实战:视频直播 / 174

9.5 本章小结 / 179

第10章 调试和发布 / 180

10.1 调试程序 / 180

10.1.1 使用ADL在桌面上调试程序 / 180

10.1.2 远程连接Flash调试器 / 183

10.1.3 使用Android SDK的DDMS工具 / 186

10.2 发布程序前的准备工作 / 188

10.2.1 设置程序的基本属性 / 188

10.2.2 管理程序的版本号 / 189

10.2.3 针对Android设备的设置 / 190

10.3 发布APK文件 / 191

10.4 将程序发布到应用商店 / 192

10.4.1 发布到Google Play商店 / 192

10.4.2 发布到安卓市场 / 195

10.5 本章小结 / 196

第三篇 进阶篇

第11章 针对移动设备的程序设计 / 198

11.1 设计界面 / 198

11.1.1 自动适应不同型号的屏幕 / 198

11.1.2 友好的用户交互 / 202

11.1.3 有效的界面布局 / 204

11.2 管理程序的状态 / 207

11.2.1 监测程序状态 / 208

11.2.2 实战:自动保存播放位置 / 211

11.3 跨平台开发 / 215

11.3.1 跨平台开发时的注意事项 / 215

11.3.2 技巧:使用编译参数兼容多平台 / 217

11.4 本章小结 / 219

第12章 键盘交互 / 220

12.1 Android设备上的键盘交互 / 220

12.1.1 Android设备上的实体按键 / 220

12.1.2 监听键盘事件 / 222

12.2 实战:使用Menu键模拟Android的菜单和行为 / 224

12.2.1 创建菜单对象 / 224

12.2.2 关联按键动作 / 228

12.3 Back键的用法 / 232

12.3.1 实战:使用Back键进行页面导航 / 233

12.3.2 通过Back键自动关闭程序 / 238

12.4 本章小结 / 239

第13章 性能优化 / 240

13.1 了解ActionScript 3.0的运行机制 / 240

13.1.1 ActionScript 3.0的特点 / 240

13.1.2 关于垃圾回收机制 / 243

13.2 从编程细节处看优化 / 246

13.2.1 使用最合适的数据类型和API / 246

13.2.2 资源的回收和释放 / 249

13.2.3 实例:一段代码的优化历程 / 251

13.3 常用工具和代码库 / 253

13.3.1 使用FlexPMD优化代码 / 254

13.3.2 Flash Builder的性能调试工具Profiler / 255

13.3.3 第三方调试工具Monster Debugger / 258

13.4 优化技巧实战案例 / 260

13.4.1 运用render事件减少代码执行 / 260

13.4.2 构建对象池重用对象:动态小球实例 / 265

13.4.3 异步事件的使用:搜索SD卡 / 270

13.5 本章小结 / 274

第四篇 实战篇

第14章 迷宫游戏的准备阶段 / 276

14.1 需求分析 / 276

14.1.1 游戏规则 / 276

14.1.2 游戏功能的实现 / 277

14.2 技术要点分析 / 277

14.2.1 如何实现物理效果 / 278

14.2.2 如何生成地图 / 279

14.3 Box2D物理引擎 / 279

14.3.1 Box2D中的基本概念 / 280

14.3.2 示例程序HelloBox2D / 280

14.3.3 实现碰撞效果 / 285

14.4 迷宫地图算法 / 287

14.4.1 问题分析 / 287

14.4.2 回溯法详解 / 288

14.4.3 代码实现 / 290

14.5 本章小结 / 296

第15章 迷宫游戏的实现 / 297

15.1 制作迷宫地图 / 297

15.1.1 绘制带有物理属性的地图 / 297

15.1.2 添加随机障碍物 / 300

15.2 加入可“行走”的角色 / 302

15.2.1 创建小球 / 302

15.2.2 使用加速计控制小球的移动 / 303

15.2.3 碰撞检测 / 304

15.3 游戏状态控制 / 306

15.3.1 自动暂停和恢复 / 306

15.3.2 关卡设置 / 308

15.4 游戏代码分析 / 309

15.4.1 程序中的类 / 309

15.4.2 主程序Game类详解 / 310

15.5 本章小结 / 320

第五篇 高级篇

第16章 AIR本地扩展 / 322

16.1 ANE的特点 / 322

16.2 一个简单的本地扩展 / 323

16.2.1 搭建开发环境 / 323

16.2.2 编写本地代码 / 324

16.2.3 编写ActionScript代码 / 329

16.2.4 打包和发布 / 332

16.2.5 在程序中使用本地扩展 / 334

16.3 ANE进阶实战技术 / 337

16.3.1 Intent机制:分享信息到社交网站 / 337

16.3.2 在顶部状态栏显示系统通知 / 342

16.4 本章小结 / 347