新書推薦:
《
我在台北故宫博物院读名画
》
售價:NT$
500.0
《
尼罗河往事:古埃及文明4000年
》
售價:NT$
347.0
《
一个人·谁也不是·十万人(诺贝尔文学奖得主反思自我的巅峰之作)
》
售價:NT$
250.0
《
重写晚明史(全5册 精装)
》
售價:NT$
3560.0
《
汉末晋初之际政治研究
》
售價:NT$
602.0
《
强者破局:资治通鉴成事之道
》
售價:NT$
367.0
《
鸣沙丛书·鼎革:南北议和与清帝退位
》
售價:NT$
551.0
《
从康德到黑格尔的发展:兼论宗教哲学(英国观念论名著译丛)
》
售價:NT$
275.0
|
編輯推薦: |
资深Adobe技术专家兼资深Android应用开发工程师亲自执笔,专业社区联袂推荐
系统讲解利用AIR技术开发Android应用的方法和流程,以及AIR应用在PC、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相关技术开发经验,开发了大量FlashFlex项目,是开源项目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 本章小结
|
內容試閱:
|
第一篇
准备篇
第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 v7-A或更高级的处理器。
支持OpenGL ES2.0。
支持H.264 AAC HW 解码。
至少有256 MB内存。
一般情况下,安装或升级到Android
2.2的设备都可以运行AIR,而市面上的Android设备很多都已经安装或升级到2.2或以上版本了。在Android开发者站点上,会定期发布统计数据,让开发者了解当前Android不同版本的市场状况。图1-1所示为2011年10月20日至11月3日的统计数据。数据显示了在这两周的时间内访问Google电子市场的设备所对应的Android系统版本分布。
|
|