标题：最新Android应用开发揭秘
基本信息
作者：杨丰盛 
出版社：机械工业出版社
ISBN：9787111291954
出版日期：2010 年7月
开本：16开
页码：515
版次：1-3
编辑推荐
国内首本基于Android 2.0的经典著作，5大专业社区一致鼎力推荐！
内容简介
国内第一本基于android 2.0的经典著作，5大专业社区联袂推荐，权威性毋庸置疑！
本书内容全面，不仅详细讲解了android框架、android组件、用户界面开发、游戏开发、数据存储、多媒体开发和网络开发等基础知识，而且还深入阐述了传感器、语音识别、桌面组件开发、android游戏引擎设计、android应用优化、opengl等高级知识，最重要的是还全面介绍了如何利用原生的c/c++（ndk）和python、lua等脚本语言（android scripting environment）来开发android应用；本书实战性强，书中的每个知识点都有配精心设计的示例，尤为值得一提的是，它还以迭代的方式重现了各种常用的android应用和经典android游戏的开发全过程，既可以以它们为范例进行实战演练，又可以将它们直接应用到实际开发中去。
windows操作系统的诞生成就了微软的霸主地位，也造就了pc时代的繁荣。然而，以android和iphone手机为代表的智能移动设备的发明却敲响了pc时代的丧钟！移动互联网时代（3g时代）已经来临，谁会成为这些移动设备上的主宰？毫无疑问，它就是android——pc时代的windows！
移动互联网还是一个新生的婴儿，各种移动设备上的操作系统群雄争霸！与symbian、iphone os、windows mobile相比，android有着天生的优势——完全开放和免费，对广大开发者和手机厂商而言，这是何等的诱人！此外，在google和以其为首的android手机联盟的大力支持和推广下，android不仅得到了全球开发者社区的关注，而且一大批世界一流的手机厂商都已经或准备采用android。
拥抱android开发，拥抱移动开发的未来！
·android开发与传统的j2me开发有何相似与不同？
·如何通过shared preferences、files、network和sqlite等方式高效实现android数据的存储？又如何通过content providers轻松地实现android数据的共享？
·如何使用open core、mediaplayer、mediarecorder方便快速地开发出包含音频和视频等流媒体的丰富多媒体应用？
·如何利用android 2.0中新增的蓝牙特性开发包含蓝牙功能的应用？又如何使用蓝牙api来完善应用的网络功能？
·如何解决android网络通信中的乱码问题？
·在android中如何使用语音服务和 google map api？android如何访问摄像头、传感器等硬件的api？
·如何进行widget开发？如何用各种android组件来打造漂亮的ui界面？
·android如何解析xml数据？又如何提高解析速度和减少对内存、cpu资源的消耗？
·如何使用opengl es在android平台上开发出绚丽的3d应用？在android平台上如何更好地设计和实现游戏引擎？
·如何对android应用进行优化？如何进行程序性能测试？如何实现ui、zipalign和图片优化？
·如何通过ndk利用c、c++以及通过ase利用python等脚本语言开发android应用？
目录
前言
第一部分 准备篇
第1章 android开发简介
1.1 android基本概念
1.1.1 android简介
1.1.2 android的系统构架
1.1.3 android应用程序框架
1.2 oms介绍
1.2.1 ophone介绍
1.2.2 widget介绍
1.3 小结
第2章 android开发环境搭建
2.1 android开发准备工作
2.2 开发包及其工具的安装和
配置
2.2.1 安装jdk和配置java开发
环境
2.2.2 eclipse的安装与汉化
2.2.3 sdk和adt的安装和
.配置
2.3 创建第一个android项目——heuoandroid
2.3.1 创建helloandroid项目
2.3.2 运行helloandroid及模拟器的使用
2.3.3 调试helloandroid
2.4 小结
第二部分 基础篇
第3章 android程序设计基础
3.1 android程序框架
3.1.1 android项目目录结构
3.1.2 android应用解析
3.2 android的生命周期
3.3 android程序u设计
3.4 小结
第4章 用户界面开发
4.1 用户界面开发详解
4.1.1 用户界面简介
4.1.2 事件处理
4.2 常用控件应用
4.2.1 文本框(textiew)
4.2.2 列表(listview)
4.2.3 提示(t0ast)
4.2.4 编辑框(edittext)
4.2.5 单项选择(radiogroup、radiobutton
4.2.6 多项选择(checkbox)
4.2.7 下拉列表(spinner)
4.2.8 自动提示(autocomplete.textⅵew)
4.2.9 日期和时间(datepicker、timepicker)
4.2.10 按钮(button)
4.2.1l 菜单(menu)
4.2.12 对话框(dialog)
4.2.13 图片视图(imageview)
4.2.14 带图标的按钮(imagebutton)
4.2.15 拖动效果(gallery)
4.2.16 切换图片(hmgeswilcher)
4.2.17 网格视图(gridview)
4.2.18 卷轴视图(scrollview)
4.2.19 进度条(progressbar)
4.2.20 拖动条(seekbar)
4.2.21 状态栏提示(notification、notificationmanager)
4.2.22 对话框中的进度条(progressdialog)
4.3 界面布局
4.3.1 垂直线性布局
4.3.2 水平线性布局
4.3.3.相对布局(relativelayout)
4.3.4 表单布局(tablelayout)
4.3.5 切换卡(tabwidget)
4,4 小结
第5章 android游戏开发
5.1 android游戏开发框架
5.1.1 view类开发框架
5.1.2 surfaceview类开发框架
5.2 graphics类开发
5.5.1 paint和color类介绍
5.2.2 canvas类介绍
5.2.3 几何图形绘制
5.2.4 字符串绘制
5.2.5 图像绘制
5.2.6 图像旋转
5.2.7 图像缩放
5.2.8 图像像素操作
5.2.9 shader类介绍
5.2.10 双缓冲技术
5.2.11 全屏显示
5.2.12 获得屏幕属性
5.3 动画实现
5.3.1 tween动画
5.3.2 frame动画
5.3.3 gif动画播放
5.4 小结
第6章 android数据存储
6.1 android数据存储初探
6.2 数据存储之shared preferences
6.3 数据存储之files
6.4 数据存储之network
6.5 android数据库编程
6.5.1 sqlite简介
6.5.2 sqlite编程详解
6.5.3 sqliteopenhelper应用
6.6 数据共享(contentproviders)
6.7 小结
第7 章多媒体开发
7.1 多媒体开发详解
7.1.1 open core
7.1.2 mediaplayer
7.1.3 mediarecorder
7.2 播放音乐
7.3 播放视频
7.4 录制歌曲
7.5 相机设置
7.6 闹钟设置
7.7 铃声设置
7.8 小结
第8章 网络与通信
8.1 网络通信基础
8.1.1 无线网络技术
8.1.2 android网络基础
8.2 http通信
8.2.1 httpurlconnection接口
8.2.2 httpclient接口
8.2.3 实时更新
8.3 socket通信
8.3.1 socket基础
8.3.2 socket应用(简易聊天室)
8.4 网络通信的中文乱码问题
8.5 webkit应用
8.5.1 webkjt概述
8.5.2 webview浏览网页
8.5.3 webview与javascript
8.6 wtfi介绍
8.7 蓝牙
8.8 小结
第9章 android特色开发
9.1 传感器
9.2 语音识别
9.3 googlemap
9.3.1 googlemap概述
9.3.2 准备工作
9.3.3 googlemapapi的使用
9.3.4 定位系统
9.4 桌面组件
9.4.1 快捷方式
9.4.2 实时文件夹
9.4.3 widget开发
9.5 账户管理
9.6 小结
第三部分 实例篇
第10章 android应用开发
实例
10.1 情境模式
10.2 文件管理器
10.3 通讯录
10.4 音乐播放器
10.5 天气预报
10.6 个人地图
10.7 widget日历
10.8 小结
第11 章android游戏开发实例
11.1 手机游戏开发简介
11.2 游戏框架设计
11.3 地图设计
11.4 主角设计
11.5 图层管理器
11.6 游戏音效
11.7 游戏存档
11.8 小结
第四部分 高级篇
第12章 androidopengl开发
基础
12.1 opengl简介
12.2 多边形
12.3 颜色
12.4 旋转
12.5 3d 空间
12.6 纹理映射
12.7 光照和事件
12.8 混合
12.9 小结
第13章 androidopengl综合
应用
13.1 移动图像
13.2.3d 世界
13.3 飘动的旗帜
13.4 显示列表
13.5 雾
13.6 粒子系统
13.7 蒙版
13.8 变形
13.9 小结
第14章 游戏引擎实现
14.1 游戏引擎介绍
14.1.1 什么是引擎
14.1.2 引擎的进化
14.1.3 常见的游戏引擎
14.1.4 android游戏引擎
14.2 游戏引擎结构
14.2.1 游戏引擎原理
14.2.2 游戏引擎定位
14.2.3 游戏引擎框架
14.3 游戏引擎设计
14.3.1 游戏引擎结构和功能
设计
14.3.2 游戏引擎设计注意事项
14.4 游戏引擎实现
14.4.1 activity类实现
14.4.2 流程控制和线程
14.4.3 游戏对象与对象管理
14.4.4 图形引擎
14.4.5 物理引擎
14.4.6 事件模块
14.4.7 工具模块
14.4.8 脚本引擎、音效模块、网络
模块
14.5 小结
第15章 优化技术
15.1 优化的基本知识
15.1.1 如何书写出优秀代码
15.1.2 编程规范
15.2 程序性能测试
15.2.1 计算性能测试
15.2.2 内存消耗测试
15.3 初级优化
15.4 高级优化
15.5 android高效开发
15.6 androidui优化
15.7 其他优化
15.7.1 zipalign
15.7.2 图片优化
15.8 小结
第五部分 扩展篇
第16章 android ndk开发
16.1 androidndk简介
16.2 安装和配置ndk开发环境
16.2.1 系统和软件需求
16.2.2 ndk开发环境搭建
16.2.3 编译第一个ndk程序
16.3 androidndk开发
16.3.1 jni接口设计
16.3.2 使用c\c++实现本地
方法
16.3.3 android mk实现
16.3.4 application mk实现
16.3.5 编译c\c++代码
16.4 androidndk中使用0pengl
16.5小结
第17章 android脚本环境
17.1 android脚本环境简介
17.2 android脚本环境安装
17.3如何编写android脚本程序
17.4小结
前言
3G牌照在国内发放后，3G、Andriod、iPhone、Google、苹果、手机软件、移动开发等词越来越充斥于耳。随着3G网络的大规模建设和智能手机的迅速普及，移动互联网时代已经微笑着迎面而来。
以创新的搜索引擎技术而一跃成为互联网巨头的Google，无线搜索成为Google进军移动互联网的一块基石。早在2007年，Google中国就把无线搜索当作战略重心，不断推出新产品，尝试通过户外媒体推广移动搜索产品，并积极与运营商、终端厂商、浏览器厂商等达成战略合作。
Android操作系统是Google最具杀伤力的武器之一。苹果以其天才的创新，使得iPhone在全球迅速拥有了数百万忠实“粉丝”，而Android作为第一个完整、开放、免费的手机平台，使开发者在为其开发程序时拥有更大的自由。与Windows Mobile、Symbian等厂商不同的是，Android操作系统免费向开发人员提供，这样可节省近三成成本，得到了众多厂商与开发者的拥护。最早进入Andriod市场的宏达电已经陆续在一年内推出了G1、Magic、Hero、Tattoo等4款手机，三星也在近期推出了Galaxyi7500，连摩托罗拉也推出了新款Andorid手机Cliq，中国移动也以Android为基础开发了Ophone平台。这些发展证明Android已经成为智能手机市场的重要发展趋势。
从技术角度而言，Android与iPhone相似，采用WebKit浏览器引擎，具备触摸屏、高级图形显示和上网功能，用户能够在手机上查收电子邮件、搜索网址和观看视频节目等。Android手机比iPhone等其他手机更强调搜索功能，界面更强大，可以说是一种融入了全部Web应用的平台。Android的版本包括Android 1.1、Android 1.5、Android 1.6，Android 2.0刚发布不久。随着版本的更新，从最初的触屏到现在的多点触摸，从普通的联系人到现在的数据同步，从简单的Google Map到现在的导航系统，从基本的网页浏览到现在的HTML 5，这都说明Android已经逐渐稳定，而且功能越来越强大。此外，Android平台不仅支持Java、C、C++等主流的编程语言，还支持Ruby、Python等脚本语言，甚至Google专为Android的应用开发推出了Simple语言，这使得Android有着非常广泛的开发群体。
我们都知道，无论是产品还是技术，商业应用是它最大的发展动力。Android如此受厂商与开发者的青睐，它的前景一片光明。伴随着装有Android操作系统的移动设备的增加，基于Android的应用需求势必也会增加。Android作为新的平台、新的技术，国内目前介绍其技术的书籍甚少，不能满足各个层次的开发者，为了帮助众多开发人员和爱好者进入移动互联网领域，并提高程序开发水平，笔者写作了本书。
本书面向的读者
阅读本书的唯一条件是具有一定的Java基础，当然扩展篇可能会涉及C、C++和脚本语言的知识。
本书面向的读者群包括毫无Android开发经验的初学者，以及有一定的Android开发经验但缺乏系统学习的开发人员。
如何阅读本书
本书从基础入手，循序渐进地讲述了Android的主要功能和用法，使读者对其有完整的认识，掌握其结构框架。同时，从实战的角度出发，通过大量的示例程序，让读者边学习边实践，更深刻地理解Android系统的优点所在。
另外本书为每个功能和知识点都提供了一个示例程序，可操作性极强，建议在阅读书本书的同时，一定要结合本书所附带的示例程序（完整的示例程序源代码可登录华章网站下载）。本书所附的示例程序都是基于最新的Android 2.0 的SDK，源代码目录结构如图1所示，章节中每一个示例，都可以根据所在的章节及所指定的项目名称在所附源代码中找到对应的项目文件夹。每个项目文件夹都按如图2所示的目录结构来存放项目所需的所有源文件。
在安装了Android开发环境之后，可以直接将Android项目导入到Eclipse中，步骤如下：
首先，启动Eclipse，选择“File"→“Import..."菜单，展开“General”项，选择“Existing Projects into Workspace”导入项目到工作区，如图3所示。
图3 导入项目到工作区
然后，点击“Next”按钮，进入选择项目文件目录，如图4所示，选择好项目目录后，点击“Finish”按钮，等待导入完成即可。如果需要将项目文件一起拷贝到工作区，就需要在图4的界面上选择“Copy projects into workspace”复选框。
图4 选择项目文件
致谢
感谢所有在本书写作过程中给予我指导、帮助和鼓励的朋友，尤其是本书的策划编辑杨福川，他不仅对本书提出了宝贵的写作建议，而且还和他的同事曾珊对书稿进行了仔细的审阅。
感谢一直以来信任、鼓励、支持我的父母和亲人。
最后还要感谢我的女友，正是她的爱与支持，才使我有了今天的收获。
媒体评论
20世纪90年代初，裘伯君、鲍岳桥等IT行业的前辈“单打独斗”就能开发出脍炙人口的应用，如今做一个项目动辄就需要数百人的大规模团队和千万级的巨额开发费用，程序员真的没有了展露个人才华和创意的机会吗？我们正站在移动技术改变人类生活方式的十字路口，而移动互联网正是这一切的关键。Android以全新的开放平台和全球化的市场，为小团队提供了一个充分展现自己的舞台。本书为所有Android开发者提供了绝佳的参考，不可不读！
—Android中文站
与已经出版的所有同类书相比，本书内容更全面，几乎涵盖了Android开发的所有方面；实战性更强，不仅各个知识点都有翔实的范例，而且还包含多个实用的完整案例；主题更新颖，Android 2.0中的各种最新特性一览无余……本书值得各种水平层次的Android应用开发者阅读，强烈推荐！
—Android中文用户组
随着3G技术的成熟和智能手机的不断普及，移动应用的需求与日俱增，移动应用开发成为当下最热门的技术之一。在Google和Android手机联盟的共同推动下，Android在众多移动应用开发平台中脱颖而出。本书的出版对于广大Android应用开发者来说不啻是一种福音，它将为Android开发者社区注入强大的活力！
—毕惠子 Android实验室
随着移动智能设备的普及，我国移动应用的需求即将迎来“井喷”，本书能让你轻松转型为Android开发者，助你笑傲移动应用开发之巅。极力推荐！
—谷奥
这是一本参考手册，内容的完整性和系统性几乎无可挑剔，可作为广大Android开发者的案头必备书；这是一部权威指南，基础知识部分翔实而丰富，高级知识部分深入且饱含最佳实践，能从本质上提升开发者对Android的理解和开发水平。尤为值得一提的是，Android 2.0中新增了大量激动人心的新特性，不仅支持多点触摸设备、软键盘，而且还支持多账户在线管理、蓝牙……作为国内第一本基于Android 2.0的著作，本书可谓极具前瞻性，第一时间将这些新特性完美地呈现给了广大读者。
—安卓网