第一篇 准备篇 2
第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
第二篇 基础篇 42
第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.1Accelerometer 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
第三篇 进阶篇 198
第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.1Android设备上的实体按键 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
第四篇 实战篇 276
第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
第五篇 高级篇 322
第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