首页>参考读物>计算机科学与技术>软件与程序设计

Android应用开发实战 第2版
作者 : 李宁 著
出版日期 : 2012-11-19
ISBN : 978-7-111-40126-1
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 396
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书第1版凭借其符合认知学的内容结构和写作方式而深受读者欢迎,被普遍认为是Android初学者快速和高效掌握Android应用开发能力并提升理论水平的优秀著作。与第1版相比,第2版在技术更新颖,根据最新的Android版本做了更新;内容上更全面,理论部分补充了大量新的内容;细节更完善,不仅修补了第1版存在的瑕疵,而且对案例的呈现形式和实现过程做了优化,更利于读者学习。
全书共分为三个部分。基础篇全面介绍了Android的系统架构、开发环境的搭建、Android应用程序的常用组件,以及开发Android应用前的准备工作。实例篇逐步讲解了一个功能强大的新浪微博客户端的完整实现过程,不仅展示了每个模块的实现效果,而且对实现代码进行了剖析,更重要的是对所案例中所涉及的理论知识的重点做了展开阐述,既便于读者动手实践,又能帮助读者巩固已经掌握的理论知识。高级篇讲解了Android开发中的高级技术,包括各种常用的Android资源、通信功能的开发、数据库、蓝牙与WIFI、第三方程序库、2D绘图技术、OpenGL ES绘图技术、Android的编译,以及Android的性能优化方法和实践。

图书特色

如今Android类的图书可谓多如牛毛,这本书的第1版在众多图书中脱颖而出,实属不易。它之所以能广获好评,主要原因是它的内容结构和写作体例颠覆了传统的“先学完一大堆的理论,然后再来动手实践”的方式,非常符合初学者学习一门新技术的认知过程。很多读者可能还没有掌握相关的理论就把书扔到了一边,因为太过于枯燥,而且读者本身也没有太多的时间和耐心。事实证明,实践是掌握一门技术的最有效的方法,跟着实际案例去学习,事半功倍。这本书很好地把握了读者的这一学习心理,是Android初学者的福音!
—— Android开发者社区

如果你已经对开发Android应用必备的基本理论知识有所了解,除了想迅速获得开发实际应用的能力和经验外,还想进一步提高理论水平,那么本书就是为你准备的。本书首先以新浪微博客户端的完整开发过程为载体,手把手地教读者如何开发出一个新浪微博客户端;然后回归理论,对Android开发中需要重点掌握的理论知识进行了深入的讲解,旨在进一步提高读者的开发水平和技术能力。如果能研习这本书并动手实践,那么从一个只了解一些基本理论、完全没有Android应用开发经验的入门级读者,成长为一个能独立开发常见Android应用的中级读者,应该完全没有问题。
—— 51CTO

如何让读者具备低成本(时间方面的考量)地切实掌握Android应用开发的能力,是本书自始至终的追求。第1版从认知学的角度对图书的体例和结构做了大量的调研,事实证明,当初的研究结果是有价值的,因为第1版得到了读者的广泛认可。第2版秉承了这一优势,主要分为两大部分:实践部分,以一个综合案例(新浪微博客户端)的实现过程为主要脉络,既完整演示了大型Android应用开发的流程和细节,又对其中所涉及的理论知识进行了充分的阐述,这使得读者能在实践的同时掌握基础理论,而不是先去学习理论知识再来实践,大大缩短了学习的时间周期;理论部分,对Android开发中的进阶知识和常用技巧进行了详细的讲解,这为开发者进一步提升理论知识水平和开发技巧创造了条件。
第2版在第1版的基础上做了大量改进,不仅修补了因为新浪微博官方API的变更而导致案例的部分代码无法直接运行的缺陷,而且在案例的呈现形式和实现过程上做了优化,使得它更易于学习。此外,本书的理论提高部分也根据Android的最新版本做了全面的修订,读者可以通过本书掌握最新的Android开发技术。

正如我们之前所预料的,本书的第1版取得了预期的成功,深受入门级开发者欢迎。本书是一本实战性的进阶参考书,摒弃了传统同类书的内容组织方式,没有以基础理论开篇,而是直接以一个实际案例引导读者开始动手实践。作者在案例的选取上可谓别具匠心,本书的案例是实现一个功能强大的新浪微博客户端,不仅实用,而且富有趣味,能激发读者动手实践的兴趣。尤为值得一提的是,案例的讲解可谓详细至极,即便你完全不懂Android开发,也可以参照书中的操作实现最终的结果。不仅如此,在实现这个案例的过程中,读者也会获得了开发大型Android应用的经验。对于稍有Android基础,但是没有实际开发经验的读者来说,本书就是及时雨,十分难得,强烈推荐!
—— Android中文论坛 

作者简介
李宁 资深软件开发工程师、IT讲师和技术顾问,从事软件研发工作10余年,实践经验十分丰富。资深Android开发专家,国内Android应用开发的先驱和传教士,开发了基于Android平台的新浪微博客户端、完美通信、语音计算器、多功能日历等许多广受欢迎的应用。活跃于CSDN(CSDN专家)、博客园、eoeAndroid等社区,担任eoeAndroid开发版块版主,发表了大量关于Android应用开发的技术文章,深受社区网友欢迎。此外,他还精通Java、.NET、C++等技术,曾经多次在微软组织的技术大赛中获奖。同时,他还是一位经验丰富的技术作家,多次为《程序员》杂志和IT168等技术社区撰稿,出版了多本Android专著,广获读者好评。

图书前言

为什么要写这本书
  几年前开始接触Android时就被Android自由开发的精神所感染。虽然Android在诞生之初曾在iPhone的阴影下生活了很长时间,也受到了很多的质疑。但随着加入Android阵营的手机厂商、软件开发商、电信运营端和个人开发者的增多,Android的势头也逐渐赶上并超过了iPhone,成为占有率第一(2012年第2季度Android市场占有率已接近50%,而iPhone仅为19%)的移动操作系统。
  由于这两年Android发展得过快,导致了就业市场对Android开发人员的需求量猛增。然而,很多企业需要的是拥有实践经验的开发人员。对于很多刚毕业的大学生来说,由于从来没有参加过实际的工作,故不可能有企业要求的实践经验,而培训机构高昂的培训费又会令他们望而却步。因此,对于刚毕业的学生来说,拥有一定的实践经验并不是一件容易的事。
  尽管人们可以通过很多Android书籍中的小例子积累了一些经验,但这些例子毕竟很小,有的还不完整,根本达不到企业要求的水平。为此,笔者特意选择了一个完整的项目作为本书的核心来进行讲解。这个项目是一个完整的新浪微博客户端,涉及了大多数的Android技术。读者通过仔细研究这个项目的实现方法以及本书提供的源代码,完全可以大大增加自己的实践经验。为了使读者可以获得更多的Android知识,本书还重点介绍了几项Android SDK中常用的技术,这可为读者提供实践经验外的理论储备。
第1版与第2版的区别 
  本书的第1版自2011年年底出版以来,得到了读者的广泛好评。很多读者对书中介绍的新浪微博客户端反应强烈。认为这部分内容可以充分结合后面的理论知识来学习Android技术。
  经过近1年的发展,Android目前的版本已经升级到4.1。所以很多读者急切要求升级本书示例到Android 4.x。为了满足读者的要求,本书已经将全部的章节和示例升级到Android 4.x。
  由于新浪微博服务端的API目前已经放弃了OAuth 1.0,而全面采用了OAuth 2.0,所以第1版的新浪微博客户端已经无法运行。因此在第2版中新浪微博客户端全面采用了OAuth 2.0 API。在使用上与第1版本的新浪客户端有很大的区别。
  第2版的第1部分和第2部分完全按照新版本来编写。第1部分的简单微博客户端已经重新编写,采用了OAuth 2.0 API。在登录微博时会出现微博SDK提供的一个登录界面,读者只要输入用户名和密码即可。
  由于OAuth 2.0已经将很多API禁止了(例如,发私信),所以在第2版的新浪微博客户端中的很多功能无法提供了。但微博界面因已经经过修改,故变得更加美观了。本书中所有的代码都经过重新编写,变得更容易阅读和理解了。新版微博客户端的主要功能如下:
  显示微博列表;
  显示任务队列;
  发布微博;
  浏览微博详细信息;
  图像特效;
  显示评论、@我等信息;
  评论和转发微博;
  显示我的资料;
  微博广场。
  新版本的新浪微博客户端需要读者自己申请新浪微博账号进行测试,这就避免了由于过多读者使用同一测试账号进行测试时导致的无法登录的现象。
读者对象
  想增加Android实践经验的Android初学者;
  想从事Android工作的在校或即将毕业的大学生;
  有Java基础,想进入移动领域的开发人员;
  想进一步提高技术和实践能力的开发人员;
  开设Android课程的大专院校和培训机构;
  所有对Android感兴趣的读者。
如何阅读本书
  本书分为三大部分,其中第二部分详细介绍了新浪微博客户端的实现过程。这部分相对独立。如果你是一名有经验的Android开发人员,能够理解和使用Android的开发技术,那么你可以直接阅读这部分内容。但如果你是一名Android初学者,请一定从第1章开始学习。
  第一部分为基础篇,介绍了Android开发的基础知识,除此之外,还介绍了如何使用新浪微博SDK开发客户端程序,并给出一个简单的例子供读者练习。
  第二部分为实例篇,通过一个新浪微博客户端程序介绍如何使用Android技术和新浪微博SDK开发一个完整的应用程序。
  第三部分为高级篇,重点介绍了Android SDK中的一些常用的高级技术,例如Android资源、电话和短信的处理、数据库、蓝牙、2D和3D绘图、编译器在Android中的应用等。通过这部分读者可以更进一步提高Android开发的理论和实践能力。
  本书的大部分章节都提供了源代码(由于篇幅所限,在书中只给出了核心代码),完整的源代码可以在网上下载。建议读者先阅读本书的内容,如果仍然不理解书中的理论和代码,可以将完整的源代码导入到Eclipse中,并运行、调试这些代码。
  读者下载了完整的源代码后,可以按下面的方法将Android工程导入Eclipse。
  单击Eclipse的【File】>【Import】菜单项,打开【Import】对话框,选择【Existing Projects into Workspace】节点,如图1所示。单击【Next】按钮进入下一个页面后,单击【Browse...】按钮并选择要导入的Android工程,如图2所示。最后单击【Finish】按钮即可导入Android工程。

图1 选择【Existing Projects into Workspace】节点        图2 选择要导入的工程
勘误和支持
  参加本书编写工作的还有赵华振、李斌锋、邓斌、戚祥、于伟、皮文星、陈育春、陆正武、虞晓东、张恒汝、高喆、刘威、刘冉、付志涛、宗杰、王大平、李振捷、李波、张鹏、管西京、闫芳、王玉芹、王秀明、杨振珂。由于作者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为能更好地与读者交流,笔者特意创建了一个在线答疑和发布勘误的论坛http://books.51happyblog.com。读者可以将书中的错误、建议、技术问题发布在相关的版面,同时也请关注本论坛发布的本书相关信息。书中的全部源代码除了可以从华章网站下载外,还可以从这个论坛下载。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱techcast@126.com。期待能够得到您的真挚反馈。
致谢
  感谢所有在本书写作过程中给予我指导、帮助和鼓励的朋友,尤其是机械工业出版社华章分社的编辑杨福川和白宇,他们不仅对本书提出了很多宝贵的写作建议,还对本书进行了仔细的审阅。
  感谢一直以来信任、鼓励、支持我的家人和朋友。
  感谢eoeandroid、移动开发者社区的朋友对我技术上的帮助。
  谨以此书献给我最亲爱的家人,以及众多热爱Android的朋友们!

李宁(银河使者)  
于中国沈阳

上架指导

计算机\程序设计

封底文字

如今Android类的图书可谓多如牛毛,这本书的第一版在众多图书中脱颖而出,实属不易。它之所以能广获好评,主要原因是它的内容结构和写作体例非常符合初学者学习一门新技术的认知过程,颠覆了传统的“先学完一大堆的理论,然后再来动手实践”的方式,很多读者可能还没有掌握相关的理论就把书扔到了一边,因为太过于枯燥,而且读者本身也没有太多的时间和耐心。事实证明,实践是掌握一门技术的最有效方法,跟着实际案例去学习,事半功倍。这本书很好地把握了读者的这一学习心理,是Android初学者的福音!
——Android开发者社区

  如果你已经对开发Android应用必备的基本理论知识有所了解,除了想迅速获得开发实际应用的能力和经验,而且还想进一步提供理论水平,那么本书就是为你准备的。本书首先以新浪微博客户端的完整开发过程为载体,手把手地去教读者如何开发出一个新浪微博客户端;然后回归理论,对Android开发中需要重点掌握的理论知识进行了深入的讲解,旨在进一步提高读者的开发水平和技术能力。如果能研习这本书并动手实践,从一个只了解一些基本理论、完全没有Android应用开发经验的入门级读者,成长为一位能独立开发常见Android应用的中级读者,应该完全没有问题。
——51CTO
如何能让读者低成本(时间方面的考量)地切实掌握Android应用开发的能力,是本书至始至终的追求。第1版从认知学的角度对图书的体例和结构做了大量的调研,事实证明,当初的研究结果是有价值的,得到了读者的广泛认可。本书主要分为两大部分:实践部分,以一个综合性的案例(新浪微博客户端)的实现过程为主要脉络,既完整演示了大型Android应用开发的流程和细节,又对其中所涉及的理论知识进行了充分地阐述,这使得读者能在实践的同时掌握基础理论,而不是先去学习理论知识后再来实践,大大缩短了学习的时间周期;理论部分,对Android开发中的进阶知识和常用技巧进行了详细的讲解,这为开发者进一步提升理论知识水平和开发技巧创造了条件。
第2版在第1版的基础上做了大量改进,不仅修补了因为新浪微博官方API的变更而导致案例的部分代码无法直接运行的缺陷,而且还在案例的呈现形式和实现过程上做了优化,使得它更易于读者学习。此外,本书的理论提高部分也根据Android的最新版本做了全面的修订,读者可以通过本书掌握最新的Android开发技术。

说明:加上阅读路线图,同《深入理解Android:卷I》

作者简介

李宁 著:李宁 资深软件开发工程师,从事软件开发10余年,经验十分丰富。Android/Ophone开发先驱,代表作品有新浪微博客户端(Android版)、来电无忧(Android版)、多功能日历(Android版)等。活跃于CSDN、博客园、eoeandroid等社区,并担任eoeandroid开发版块版主。此外,还精通.NET、Java、C++、Delphi等技术,曾经多次在微软组织的技术大赛中获奖,近期关注HTML 5。他还是一位有经验的技术作家,著有《Android/Ophone开发完全讲义和《人人都玩开心网:Ext JS+Android+SSH整合开发Web与移动SNS。

图书目录

前 言
第一部分 基础篇—Android开发基础
第1章 Android应用开发基础 / 2
1.1 Android的系统构架 / 2
1.2 Android开发环境搭建 / 3
1.2.1 安装JDK和配置Java开发环境 / 3
1.2.2 安装Android SDK / 5
1.2.3 安装Eclipse插件ADT / 6
1.3 Android应用程序中的资源 / 7
1.4 Android的应用程序组件 / 7
1.4.1 Activity / 8
1.4.2 Service / 8
1.4.3 Broadcast Receiver / 8
1.4.4 Content Provider / 9
1.5 小结 / 9
第2章 基于服务的微博照片分享 / 10
2.1 微博简介 / 10
2.2 微博开放API / 11
2.3 Android的服务 / 11
2.4 编写程序前的准备工作 / 12
2.4.1 获取Key和Secret / 12
2.4.2 下载和使用SDK / 13
2.5 让任何拍照软件都成为微博客户端 / 17
2.5.1 可以监视目录文件的服务 / 17
2.5.2 压缩图像 / 20
2.5.3 发布带图像的微博 / 21
2.5.4 实现主窗口类 / 24
2.6 小结 / 26
第二部分 实例篇—微博客户端开发
第3章 微博客户端概况 / 28
3.1 参考客户端 / 28
3.1.1 新浪微博官方Android客户端 / 28
3.1.2 网易微博官方Android客户端 / 29
3.1.3 腾讯微博官方Android客户端 / 30
3.2 功能模块展示 / 31
3.2.1 登录 / 31
3.2.2 首页微博列表 / 31
3.2.3 发布微博 / 31
3.2.4 拍照和图像特效处理 / 32
3.2.5 显示微博详细内容 / 32
3.2.6 显示评论信息 / 33
3.2.7 显示其他信息 / 33
3.3 小结 / 33
第4章 新浪微博API / 35
4.1 新浪微博API有哪些功能 / 35
4.2 微博接口 / 35
4.2.1 获取公共微博列表(public_timeline) / 35
4.2.2 获取主页微博列表(home_timeline) / 38
4.2.3 获取指定用户的微博列表(user_timeline) / 39
4.2.4 获取@我的微博列表(mentions) / 39
4.2.5 获取指定的微博信息(show) / 40
4.2.6 发布不带图像的微博(update) / 40
4.2.7 发布带图像的微博(upload) / 40
4.2.8 转发微博(repost) / 41
4.2.9 删除微博(destroy) / 41
4.3 评论接口 / 41
4.3.1 显示某条微博的评论 / 41
4.3.2 获取当前登录用户收发评论的列表 / 44
4.3.3 发布一条评论 / 44
4.3.4 删除一条评论 / 45
4.4 获取指定用户信息 / 45
4.5 关系接口 / 47
4.5.1 获取用户的关注列表 / 47
4.5.2 获取用户粉丝列表 / 48
4.5.3 关注和取消某用户 / 48
4.6 退出登录 / 49
4.7 收藏接口 / 49
4.7.1 获取当前用户的收藏列表 / 49
4.7.2 收藏和取消收藏微博 / 50
4.8 小结 / 50
第5章 主界面的设计与实现 / 51
5.1 启动界面 / 51
5.2 主界面的实现 / 52
5.2.1 总布局 / 53
5.2.2 首页布局 / 53
5.2.3 信息界面布局 / 55
5.2.4 动态设置底端按钮 / 57
5.3 小结 / 59
第6章 显示首页微博列表 / 60
6.1 获取和分析微博数据 / 60
6.1.1 获取首页微博信息 / 60
6.1.2 分析微博数据 / 63
6.2 显示首页微博列表 / 72
6.2.1 在ListView中显示首页微博列表 / 72
6.2.2 显示认证图像 / 83
6.2.3 带格式和图像的文本 / 84
6.3 小结 / 88
第7章 任务队列 / 89
7.1 任务队列的核心组件 / 89
7.1.1 任务处理接口 / 89
7.1.2 任务存储 / 89
7.1.3 任务监视 / 91
7.2 文件下载任务队列 / 95
7.2.1 文件下载队列的使用方法 / 95
7.2.2 下载文件—PullFile类 / 97
7.3 通用任务队列 / 99
7.3.1 文件下载任务 / 99
7.3.2 发布微博任务 / 99
7.3.3 转发微博任务 / 100
7.3.4 收藏微博任务 / 101
7.3.5 评论微博任务 / 101
7.3.6 处理任务的中枢—TaskMan类 / 102
7.4 小结 / 105
第8章 发布微博 / 106
8.1 向服务端提交微博 / 106
8.2 发布微博的界面布局 / 106
8.3 添加发布微博任务 / 110
8.4 辅助功能 / 111
8.4.1 拍照 / 111
8.4.2 图像浏览 / 112
8.4.3 插入话题 / 115
8.4.4 插入@ / 115
8.4.5 插入表情字符串 / 115
8.5 小结 / 117
第9章 图像特效 / 118
9.1 图像特效主界面 / 118
9.2 特效处理框架 / 118
9.2.1 处理图像的接口 / 119
9.2.2 如何处理图像 / 119
9.3 选择图像区域 / 121
9.4 图像特效详解 / 127
9.4.1 灰度 / 127
9.4.2 马赛克 / 131
9.4.3 截图 / 134
9.4.4 自由旋转 / 135
9.4.5 恢复原始图像 / 136
9.5 发布经过特效处理的图像微博 / 136
9.6 小结 / 137
第10章 浏览微博 / 138
10.1 界面布局 / 138
10.1.1 显示微博信息 / 141
10.1.2 浏览大图 / 144
10.1.3 刷新微博信息 / 144
10.2 转发微博 / 145
10.3 评论微博 / 146
10.3.1 显示评论微博界面 / 146
10.3.2 显示评论列表 / 147
10.4 收藏微博 / 150
10.5 小结 / 150
第11章 操作数据的Adapter类 / 151
11.1 添加“刷新”按钮 / 151
11.2 隐藏“更多”按钮 / 153
11.3 显示评论列表 / 153
11.4 小结 / 155
第12章 显示其他信息 / 156
12.1 @我 / 156
12.1.1 获取“@我”信息 / 156
12.1.2 显示“@我”微博列表 / 157
12.2 评论 / 160
12.2.1 获取评论信息 / 161
12.2.2 显示评论列表 / 162
12.3 收藏 / 163
12.3.1 获取收藏微博列表 / 163
12.3.2 显示收藏微博列表 / 165
12.4 小结 / 166
第13章 我的资料 / 167
13.1 布局设计 / 167
13.2 获取用户信息 / 169
13.3 显示当前登录用户信息 / 170
13.4 小结 / 171
第14章 微博广场 / 172
14.1 显示广场功能列表 / 172
14.2 显示热门微博 / 172
14.3 显示热门收藏 / 174
14.4 显示热门评论 / 174
14.5 小结 / 175
第15章 新浪微博Android客户端总结 / 176
15.1 微博SDK / 176
15.2 Android客户端涉及的类 / 176
15.2.1 与窗口相关的类 / 176
15.2.2 工具类 / 176
15.2.3 任务队列相关的类 / 180
15.3 小结 / 181
第16章 签名和发布微博客户端 / 182
16.1 签名应用程序 / 182
16.1.1 使用命令行方式进行签名 / 182
16.1.2 使用ADT插件进行签名 / 183
16.2 发布微博客户端 / 185
16.3 小结 / 185
第三部分 高级篇—Android SDK高级技术
第17章 Android资源详解 / 188
17.1 创建资源 / 188
17.2 访问资源 / 189
17.2.1 生成资源类文件 / 190
17.2.2 从代码中访问资源 / 192
17.2.3 从XML文件中访问资源 / 192
17.3 在代码中存取资源 / 194
17.3.1 存取简单资源 / 194
17.3.2 存取对象资源 / 197
17.3.3 处理配置变化 / 199
17.4 本地化 / 200
17.4.1 建立本地化的资源目录 / 200
17.4.2 资源目录的命名规则 / 203
17.4.3 建立别名资源 / 203
17.4.4 资源目录的优先级 / 205
17.5 资源类型 / 205
17.5.1 字符串(String)资源 / 205
17.5.2 布局(Layout)资源 / 208
17.5.3 图像(Drawable)资源 / 210
17.5.4 菜单(Menu)资源 / 220
17.5.5 动画(Animation)资源 / 221
17.5.6 风格(Style)资源 / 225
17.5.7 其他资源 / 226
17.6 小结 / 228
第18章 电话、短信与联系人 / 229
18.1 电话 / 229
18.1.1 显示拨号界面 / 229
18.1.2 直接拨打电话 / 229
18.1.3 控制呼叫转移 / 230
18.1.4 监听来/去电 / 232
18.1.5 用程序控制接听和挂断动作 / 235
18.1.6 获取通话记录 / 237
18.2 短信和彩信 / 239
18.2.1 通过系统程序发送短信 / 239
18.2.2 直接发送短信 / 239
18.2.3 保存短信发送记录 / 240
18.2.4 监听短信 / 242
18.2.5 发送彩信 / 243
18.2.6 监听彩信 / 244
18.2.7 显示视频缩略图 / 245
18.2.8 彩信内容与SMIL协议 / 248
18.3 联系人 / 258
18.3.1 查看联系人的内容 / 259
18.3.2 添加电话到联系人列表 / 260
18.3.3 修改联系人信息 / 261
18.3.4 删除联系人信息 / 262
18.4 小结 / 262
第19章 数据库 / 263
19.1 SQLite数据库 / 263
19.1.1 管理SQLite数据库 / 263
19.1.2 SQLite数据库基本操作 / 264
19.1.3 事务 / 266
19.1.4 核心函数 / 267
19.1.5 日期和时间函数 / 272
19.1.6 聚合函数 / 275
19.2 Android版的SQLite数据库 / 277
19.2.1 操作数据库 / 277
19.2.2 升级数据库 / 278
19.2.3 数据绑定 / 280
19.3 持久化数据库引擎db4o / 282
19.3.1 什么是db4o / 282
19.3.2 下载和安装db4o / 283
19.3.3 创建和打开数据库 / 283
19.3.4 操作Java对象 / 283
19.4 小结 / 286
第20章 蓝牙与Wi-Fi / 287
20.1 蓝牙编程 / 287
20.1.1 蓝牙简介 / 287
20.1.2 控制蓝牙设备 / 288
20.1.3 使蓝牙设备可被搜索到 / 289
20.1.4 搜索蓝牙设备 / 291
20.1.5 蓝牙设备之间的数据传输 / 294
20.2 Wi-Fi编程 / 298
20.2.1 控制Wi-Fi设备 / 298
20.2.2 获取Wi-Fi信息 / 299
20.2.3 客户端Socket / 301
20.2.4 服务端Socket / 301
20.2.5 移动版的Web服务器实例 / 302
20.2.6 在手机客户端访问Web服务器 / 307
20.3 小结  / 308
第21章 第三方程序库 / 309
21.1 GTalk客户端 / 309
21.1.1 XMPP协议简介 / 309
21.1.2 下载并安装asmack / 309
21.1.3 登录GTalk服务器 / 310
21.1.4 获取联系人信息 / 311
21.1.5 监听联系人是否在线 / 313
21.1.6 发送聊天消息 / 314
21.1.7 接收聊天消息 / 315
21.2 FTP客户端 / 315
21.2.1 连接与断开FTP服务器 / 316
21.2.2 获取与改变当前工作目录 / 317
21.2.3 列出所有的文件和目录 / 317
21.2.4 建立、重命名、删除指定目录 / 319
21.2.5 上传、重命名、下载、删除指定文件 / 319
21.3 绘制图表的程序库AChartEngine / 320
21.3.1 曲线图 / 320
21.3.2 条形图 / 324
21.3.3 离散点图 / 324
21.3.4 区域图 / 325
21.3.5 饼图 / 327
21.4 小结 / 327
第22章 编译在Android中的应用 / 328
22.1 JavaCC使用入门 / 328
22.1.1 JavaCC下载和安装 / 329
22.1.2 用JavaCC生成第一个分析器 / 329
22.2 JavaCC语法 / 332
22.3 JavaCC实战—计算器 / 333
22.3.1 生成计算表达式的分析器源代码 / 333
22.3.2 编写计算器的主程序 / 339
22.4 小结 / 343
第23章 Android SDK的2D绘图技术 / 344
23.1 绘图基础 / 344
23.1.1 绘制点 / 344
23.1.2 绘制直线 / 346
23.1.3 绘制三角形 / 346
23.1.4 绘制矩形和菱形 / 347
23.1.5 绘制圆、弧和椭圆 / 349
23.1.6 绘制文字 / 350
23.2 高级绘图技术 / 350
23.2.1 在画布上旋转图像 / 351
23.2.2 在EditText控件上绘制图像和文本 / 351
23.2.3 动画效果 / 353
23.3 绘图实战—电子罗盘 / 354
23.4 SurfaceView类 / 356
23.5 小结 / 358
第24章 OpenGL ES绘图技术 / 359
24.1 OpenGL ES简介 / 359
24.2 构建OpenGL ES框架 / 359
24.3 用OpenGL ES绘制2D图形 / 360
24.3.1 三角形 / 360
24.3.2 矩形 / 362
24.3.3 为图形上色 / 363
24.4 OpenGL ES实战—旋转立方体 / 365
24.4.1 绘制立方体 / 365
24.4.2 使立方体旋转起来 / 366
24.5 小结 / 367
第25章 性能优化 / 368
25.1 性能优化的基础知识 / 368
25.2 编写Java程序的最优化原则 / 369
25.2.1 用静态工厂方法代替构造方法 / 369
25.2.2 避免创建重复的对象 / 369
25.2.3 防止内存泄漏 / 371
25.2.4 接口只用于定义类型 / 372
25.2.5 返回零长度的集合而不是null / 372
25.2.6 通过接口引用对象 / 373
25.3 避免ANR / 373
25.4 性能检测 / 374
25.4.1 执行时间测试 / 374
25.4.2 内存消耗测试 / 376
25.4.3 测试性能的工具traceview / 377
25.5 小结 / 378

教学资源推荐
作者: [美]基普·欧文(Kip Irvine) 著
作者: Behrouz A. Forouzan;Richard F. Gilberg
作者: 苏莉蔚 主编 刘威 副主编 姜楠 白洪涛 孙元 参编
作者: Brian W.Kernighan,Rob Pike
参考读物推荐
作者: (美)Jose Annunziato 等
作者: (美)Chuck Cavaness Brian Keeton
作者: 邹均 张海宁 唐屹 李磊  等著