标题：Android江湖
Android江湖
Android江湖  徐娜子 编著
ISBN 978-7-121-14641-1
2011年11月出版
定价：98.00元（含光盘1张）
16开
660页
移动互联网时代，坐看Android如何成为移动设备江湖的主宰
内 容 简 介
本书循序渐进地讲解了Android技术的基本知识，并通过实例的方式讲解了Android在各个领域的具体应用。本书内容新颖、知识全面、讲解详细，全书共分为18个章节，第1～4章是第一篇——天下风云出我辈（基础篇），讲解了Android的发展前景和开发环境的搭建过程；第5～11章是第二篇——一入江湖岁月催（核心技术篇），详细讲解了Android的核心知识；第12～16章是第三篇——皇图霸业笑谈中（提高篇），讲解了Android在现实中常见领域的使用方法；第17～18章是第四篇——不胜人生一场醉（综合实战篇），通过两个具体实例的实现过程，讲解了大型Android项目的开发流程。全书内容采用了“理论+实践”的教学方法，对于每个实例都是首先提出制作思路及所包含的知识点，然后在实例最后补充总结知识点并结合例题让读者举一反三，融会贯通。
本书适合Android的中高级用户使用，既可以作为初学者的教材，也可以作为向此领域发展的程序员的参考书。
前 言
进入21世纪以来，社会日渐陌生，生活和工作的快节奏令我们目不暇接，各种各样的信息充斥着我们的视野、撞击着我们的思维。追忆过去，Windows操作系统的诞生成就了微软的霸主地位，也造就了PC时代的繁荣。然而，以Android和iPhone手机为代表的智能移动设备的发明却敲响了PC时代的丧钟!移动互联网时代（3G时代）已经来临，谁会成为这些移动设备上的主宰?毫无疑问，它就是Android——PC时代的Windows!
看3G的璀璨绚丽
随着3G时代的到来，无线带宽越来越高，使得更多内容丰富的应用程序植入手机成为可能，如视频通话、视频点播、移动互联网冲浪、在线看书/听歌、内容分享等。为了承载这些数据应用及快速部署，手机功能将会越来越智能，越来越开放。因此，为了实现这些需求，必须有一个好的开发平台来支持，于是乎，由Google公司发起的OHA联盟走在了业界的前列——2007年11月推出了开放的Android平台，任何公司及个人都可以免费获取到源代码及开发SDK。由于其开放性和优异性，Android平台得到了业界广泛的支持，其中包括各大手机厂商和著名的移动运营商等。继2008年9月第一款基于Android平台的手机G1 发布之后，三星、摩托罗拉、索爱、LG、华为等公司都陆续推出各自Gflg~Android平台的手机，另外，中国移动也将联合各手机厂商共同推出基于Android平台的OPhone。按目前的发展态势来看，我们有理由相信，Android平台能够在短时间内跻身智能手机开发平台的前列。
由于Android平台被推出的时间仅短短几年，了解Android平台软件开发技术的程序员还不多，如何迅速地推广和普及Android平台软件开发技术，以及让越来越多的人参与到Android应用的开发中，是整个产业链都在关注的一个话题。笔者本人较早从事和Android相关的研究与开发工作，为了帮助开发者更快地进入Android开发队伍，精心编写了这本Android指南。本书系统地讲解了Android软件开发的基础知识，图文并茂地帮助读者学习和掌握SDK、开发流程以及常用的API等。书中以讲述实战实例为导向，用一个个典型应用生动地带领读者进行项目的开发与实践。这是一本既及时、又翔实，且理论与实践相结合的精品教程。
Android来袭
2009年，3G牌照在国内发放后，3G、Android、iPhone、Google、苹果、手机软件、移动开发等词越来越充斥于耳。随着3G网络的大规模建设和智能手机的迅速普及，移动互联网时代已经微笑着迎面而来。
以创新的搜索引擎技术而一跃成为互联网巨头的Google，它的无线搜索已经成为其进军移动互联网的一块基石。早在2007年，Google中国就把无线搜索当作战略重心，在一段时间内不断推出新产品，尝试通过户外媒体推广移动搜索产品，并积极与运营商、终端厂商、浏览器厂商等达成战略合作。
Android操作系统是Google最具杀伤力的武器之一。苹果以其天才的创新，使得iPhone在全球迅速拥有了数百万的忠实“粉丝”，而Android作为第一个完整、开放、免费的手机平台，使开发者在为其开发程序时拥有更大的自由。与Windows Mobile、Symbian等厂商不同的是，Android操作系统免费向开发人员提供，这样可节省近三成成本，得到了众多厂商与开发者的拥护。最早进入Android市场的宏达电子已经陆续在一年内推出了G1、Magic、Hero、Tattoo等4款手机，三星也在近期推出dalaxyi7500，连摩托罗拉也推出了新款Andorid手机Cliq，同时中国移动也以Android为基础开发了OPhone平台。这些发展可以证明，Android已经成为智能手机市场的重要发展趋势。
巨大的优势
从技术角度而言，Android与iPhone较相似，均采用WebKit浏览器引擎，具备触摸屏、高级图形显示和上网功能，用户能够在手机上查收电子邮件、搜索网址和观看视频节目等。Android手机比iPhone等其他手机更强调搜索功能，界面也更强大，可以说是一种融入了全部Web应用的最佳平台。Android的版本包括Android1.1、Android1.5、Android1.6、Android2.0和刚发布不久的Android2.1。随着版本的更新，从最初的触屏到现在的多点触摸，从普通的联系人到现在的数据同步，从简单的GoogleMap到现在的导航系统，从基本的网页浏览到现在的HTMI5，这都说明Android技术已经逐渐稳定，而且功能越来越强大。此外，Android平台不仅支持Java、C、C++等主流的编程语言，还支持Ruby、Python等脚本语言，甚至Google还专为Android的应用开发推出了Simple语言，这使得Android有着非常广泛的开发群体。
无论是产品还是技术，商业应用将是其最大的发展力。Android如此受厂商与开发者的青睐，那么它的前景也将一片光明。伴随着装有Android操作系统的移动设备的增加，基于Android的应用需求势必也会增加。对于Android这样新的操作平台、新的技术来说，国内目前介绍其核心技术的书籍甚少，且不能满足各个层次的开发者，为了帮助众多开发人员和爱好者进入移动互联网领域，并提高程序开发水平，笔者编写了《Android江湖》一书，供更多的人参考。
本书的内容
本书循序渐进地讲解了Android技术的基本知识，并通过实例的方式讲解了Android在各个领域的具体应用。本书内容新颖、知识全面、讲解详细，共分为18个章节，第1～4章是第一篇——天下风云出我辈（基础篇），讲解了Android的发展前景和开发环境的搭建过程；第5～11章是第二篇——一入江湖岁月催（核心技术篇），讲解了Android的核心知识；第12～16章是第三篇——皇图霸业笑谈中（提高篇），详细讲解了Android在现实中常见领域的使用过程；第17～18章是第四篇——不胜人生一场醉（综合实战篇），通过两个具体实例的实现过程，讲解了大型Android项目的开发流程。全书内容都采用了“理论”+“实践”的教学方法，对于每个实例都是首先提出制作思路及所包含的知识点，在实例最后补充总结并结合例题让读者举一反三，融会贯通。
本书特色
本书内容丰富，内容全面，满足了网络技术人员成长道路上的方方面面的需求。我们的目标是：通过一本图书提供多本图书的价值，读者可以根据自己的需要有选择地阅读，以完善其本身的知识和技能结构。在内容的编写上，本书具有以下特色。
（1）武侠风格，引人入胜
天下风云出我辈——基础篇
一入江湖岁月催——核心技术篇
皇图霸业笑谈中——提高篇
不胜人生一场醉——综合实战篇
本书引用诗仙李白的诗句将全书内容分为4篇，每一篇，每一章，都从武侠开始引申出内容，吸引读者的眼球。
（2）结构合理
从用户的实际需要出发，科学安排知识结构，内容由浅入深，叙述清楚，并附有相应的总结和练习，具有很强的知识性和实用性，反映了当前计算机网络技术的发展和应用水平。同时书中精心筛选的最具代表性、读者最关心典型知识点几乎包括了计算机网络技术的各个方面。
（3）易学易懂
本书条理清晰、语言简洁，可帮助读者快速掌握每个知识点；每个部分既相互连贯又自成体系，使读者既可以按照本书编排的章节顺序进行学习，也可以根据自己的需求对某一章节进行针对性学习。
（4）实用性强
本书彻底摒弃枯燥的理论和简单的操作，注重实用性和可操作性，本书将网络的理论融合到实际的操作环境中，使用户在掌握相关的操作技能的同时，还能学习到相应的网络知识。
（5）实例典型
书中的开发实例都十分典型并具有创意，将传统互联网的内容/服务与移动平台紧密结合起来，体现了移动互联网应用所需的创新精神及良好的用户体验理念，这个设计思路很值得大家去思考和学习。
本书主要由徐娜子编写，其他参与本书编写的人员有薛小龙、管西京、张玲玲、高秀云、张明、李佐彬、王梦、王书鹏、张子言、张建敏、陈强、扶松柏、杨靖华、王东华。在编写过程中，得到了电子工业出版社工作人员的大力支持。鉴于笔者水平有限，纰漏和不尽如人意之处在所难免，诚请读者提出意见或建议，以便修订并使之更臻完善。
编 者
2011年8月
目 录
第一篇 天下风云出我辈（基础篇）....................................... 1
第1章Android来袭................................................... 2
1.1 江湖恩怨...........................................................3
1.1.1 何谓智能手机...................................................... 3
1.1.2 智能手机的特点...................................................... 4
1.1.3 当前主流的智能手机系统.............................................. 4
1.2 Android来袭.......................................................6
1.2.1 系出名门......................................................... 6
1.2.2 Android开发团队..................................................... 6
1.3 一统天下是夙愿...................................................7
1.3.1 奖励机制......................................................... 8
1.3.2 光明的前景......................................................... 9
1.3.3 看市场纷争......................................................... 9
1.4 不得不提前说Android模拟器............................................10
1.4.1 Android模拟器简介................................................... 10
1.4.2 模拟器和真机究竟有何区别.............................................11
1.4.3 模拟器简单总结.....................................................11
1.5 小结.............................................................14
第2章 绝世好剑——Android SDK ....................................... 15
2.1 工欲善其事，必先利其器.............................................16
2.1.1 安装Android SDK的系统要求.......................................... 17
2.1.2 Android软件开发包................................................... 17
2.2 常规方法装备自己.................................................18
2.2.1 安装JDK、Eclipse、Android SDK ....................................... 18
2.2.2 设定Android SDK Home ............................................... 30
2.2.3 验证开发环境........................................................ 30
2.2.4 创建Android虚拟设备（AVD）........................................... 32
2.3 常见的几个问题.....................................................34
2.4 小结.............................................................39
第3章 人生的第一次................................................ 40
3.1 Android体系结构介绍................................................41
3.1.1 目录结构........................................................... 41
3.1.2 SDK文档中的帮助信息................................................ 42
3.1.3 SDK中的工具........................................................ 43
3.2 看前辈们的杰作.....................................................45
3.3 第一次练习.........................................................49
3.3.1 新建Android工程................................................... 50
3.3.2 编写代码和代码分析................................................ 51
3.3.3 调试............................................................... 52
3.3.4 运行项目........................................................... 54
3.4 小结.............................................................56
第4章 内功修行是基础................................................ 57
4.1 纵览体系结构.....................................................58
4.1.1 根基............................................................... 59
4.1.2 成功的中间层........................................................ 59
4.1.3 何谓根本........................................................... 60
4.1.4 招式............................................................... 60
4.2 五大组件.........................................................61
4.2.1 用Activity表现界面................................................... 61
4.2.2 用Intent 和Intent Filters实现切换........................................ 61
4.2.3 Service为你服务.................................................... 62
4.2.4 用BroadcastIntentReceiver发送广播......................................... 63
4.2.5 用ContentProvider存储数据.............................................. 64
4.3 分析工程文件.....................................................64
4.3.1 文件AndroidManfest.xml .............................................. 65
4.3.2 不完全一样的src目录................................................... 66
4.3.3 常量值文件和布局文件................................................ 67
4.4 生命周期的意义.....................................................68
4.4.1 Android周期....................................................... 69
4.4.2 Android进程....................................................... 69
4.4.3 Activity的生命周期................................................... 70
4.5 进程和线程的心有灵犀.............................................72
4.5.1 先看进程........................................................... 72
4.5.2 再看线程........................................................... 73
4.6 小结.............................................................74
第二篇 一入江湖岁月催（核心技术篇）..................................... 75
第5章 系出名门................................................... 76
5.1 用UI来装备自己.....................................................77
5.1.1 View视图组件........................................................ 77
5.1.2 ViewGroup容器...................................................... 78
5.1.3 Layout规划布局..................................................... 78
5.1.4 LayoutParams参数的意义............................................. 80
5.1.5 练习............................................................... 81
5.2 继续布局.........................................................90
5.2.1 线性布局LinearLayout .................................................. 91
5.2.2 框架布局FrameLayout ................................................... 95
5.2.3 绝对布局AbsoluteLayout .............................................. 96
5.2.4 相对布局RelativeLayout ............................................... 97
5.2.5 表格布局TableLayout ................................................ 99
5.2.6 练习表单布局...................................................... 100
5.2.7 练习切换卡...................................................... 102
5.3 友好界面menu...................................................106
5.4 Intent和Activity情深意浓..............................................110
5.4.1 Intent调用另一个Activity .............................................110
5.4.2 联合使用Intent和Activity .............................................113
5.4.3 将数据返回到前一个Activity ..........................................117
5.5 列表控件ListView.................................................123
5.5.1 通过ArrayAdapter接收一个数组或通过List作为参数来构建...................... 124
5.5.2 使用SimpleAdapter .................................................. 125
5.6 对话框控件Dialog.................................................127
5.7 Toast和Notification控件实现提醒........................................134
5.7.1 Toast提醒你...................................................... 135
5.7.2 Notification提醒你................................................... 135
5.7.3 练习Toast和Notification .............................................. 137
5.8 小结...........................................................146
第6章 人外有人，山外有山........................................... 147
6.1 在对话框中使用进度条...............................................148
6.2 使用Spinner和setDropDownViewResource...................................152
6.3 Gallery和BaseAdapter容器............................................155
6.4 用AnalogClock和DigitalClock实现模拟小时钟...............................159
6.5 FileSearch文件搜索引擎..............................................163
6.6 小结...........................................................166
第7章 琅嬛福地..................................................... 167
7.1 5种存储.........................................................168
7.2 最简单的存储SharedPreferences..........................................168
7.2.1 SharedPreferences简介................................................ 169
7.2.2 练习SharedPreferences ................................................ 169
7.3 文件存储.......................................................171
7.4 最常用的SQLite.....................................................172
7.5 ContentProvider存储..................................................181
7.5.1 ContentProvider介绍................................................ 181
7.5.2 使用ContentProvider ................................................ 182
7.6 网络存储.......................................................186
7.7 数据存储的综合演练...............................................189
7.7.1 用SQLite实现日记本功能............................................... 189
7.7.2 ContentProvider实现对日记本数据的操作.................................... 198
7.8 小结...........................................................214
第8章 电话短信双剑合璧............................................... 215
8.1 再探Intent.........................................................216
8.2 实现拨打电话...................................................220
8.2.1 基本的拨号程序...................................................... 220
8.2.2 可输入电话号码的拨号程序.......................................... 222
8.2.3 IntentFilter实现拨号处理............................................... 224
8.3 实现短信发送...................................................226
8.4 相关包...........................................................229
8.5 小结...........................................................230
第9章GPS伴你走天涯.............................................. 231
9.1 位置服务.......................................................232
9.1.1 android.location功能类................................................ 232
9.1.2 实现Android定位..................................................... 233
9.1.3 练习GPS定位....................................................... 237
9.2 及时获取位置信息...................................................240
9.2.1 Maps库类........................................................ 240
9.2.2 LocationManager能及时监听你.......................................... 241
9.3 在Android中使用地图..............................................243
9.3.1 准备工作......................................................... 243
9.3.2 使用Map API密钥的基本流程............................................ 246
9.3.3 应用Map API密钥实例................................................ 249
9.4 小结...........................................................255
第10章 虚拟与现实................................................... 256
10.1 OpenGL介绍....................................................257
10.2 实战应用Android OpenGL..........................................259
10.2.1 实现星星划过的效果................................................ 259
10.2.2 实现一个3D场景................................................... 264
10.2.3 飘动的旗帜........................................................ 267
10.2.4 列表显示多个3D物体............................................... 270
10.2.5 粒子发射系统.................................................... 273
10.3 小结.........................................................278
第11章 程序也需要优化............................................... 279
11.1 实现高效Java编程9条基础规则........................................280
11.2 编写优秀代码的技巧.............................................283
11.3 Java命名规范...................................................286
11.4 Java程序优化...................................................287
11.4.1 基本优化....................................................... 288
11.4.2 程序性能优化.................................................... 298
11.4.3 高效的Android程序................................................... 304
11.4.4 Android的单元测试................................................... 308
11.5 小结.........................................................312
第三篇 皇图霸业笑谈中（提高篇）....................................... 313
第12章 在通信领域一展身手............................................. 314
12.1 TextView和EditText交互.............................................315
12.2 拨打电话......................................................317
12.3 E-mail邮件处理..................................................320
12.4 震动你的心扉.....................................................324
12.5 实现图文提醒功能.................................................328
12.6 状态栏提醒.....................................................331
12.7 实现文件管理器功能.............................................335
12.8 使用WiFi服务.....................................................342
12.9 使用SIM卡.......................................................351
12.10 触摸拨号按钮...................................................356
12.11 查看并显示手机中当前正在运行的程序...............................358
12.12 改变屏幕方向...................................................362
12.13 小结...........................................................366
第13章 在自动服务领域游刃有余.......................................... 367
13.1 实现短信自动提醒.................................................368
13.2 获取手机电池容量.................................................372
13.3 实现短信群发功能.................................................375
13.4 获取存储卡容量.................................................379
13.5 对内存和存储卡中的文件进行操作.....................................383
13.6 闹钟提醒......................................................391
13.7 设置黑名单.....................................................399
13.8 动态更换手机屏幕背景.............................................403
13.9 设置开机显示.....................................................414
13.10 小结...........................................................416
第14章 在多媒体领域大放光芒......................................... 417
14.1 绘制各种几何图形.................................................418
14.2 设置一个屏保程序.................................................422
14.3 图片的触摸移动.................................................435
14.4 获取并显示存储卡中的图片.........................................440
14.5 调节手机音量.....................................................446
14.6 播放MP3文件......................................................450
14.7 实现录音功能.....................................................456
14.8 设计一个影片播放器.............................................463
14.9 设置手机铃声.....................................................467
14.10 小结...........................................................472
第15章Internet更加给力............................................... 473
15.1 在手机中使用HTML程序...........................................474
15.2 浏览网页......................................................475
15.3 使用内置浏览器打开网页.............................................477
15.4 通过网络下载MP3并播放..........................................481
15.5 调用QQ空间照片并显示............................................490
15.6 将文件上传至服务器.............................................495
15.7 网络下载手机铃声.................................................499
15.8 下载并安装APK..................................................506
15.9 小结.........................................................513
第16章Google API是独有的优势.......................................... 514
16.1 Google Search API实现检索处理.......................................515
16.2 验证官方账号.....................................................522
16.3 实现地址查询.....................................................531
16.4 实现路途导航.....................................................536
16.5 实现GPS实时更新的处理..........................................545
16.6 手机随身翻译.....................................................551
16.7 实现二维条码扫描功能.............................................554
16.8 更改手机屏幕的颜色.............................................565
16.9 小结.........................................................572
第四篇 不胜人生一场醉（综合实战篇）................................... 573
第17章 风云再起之RSS ................................................ 574
17.1 RSS开发必备...................................................575
17.1.1 RSS技术介绍..................................................... 575
17.1.2 SAX技术介绍.................................................... 577
17.2 实现一个RSS订阅系统...............................................582
17.2.1 主程序example.java ................................................... 582
17.2.2 文件example_1.java ................................................... 584
17.2.3 文件example_2.java ................................................... 587
17.2.4 文件News.java ................................................... 588
17.2.5 文件MyAdapter.java .................................................. 589
17.2.6 文件MyHandler.java .................................................. 591
17.3 小结.........................................................596
第18章 尘埃落定之足球游戏............................................. 597
18.1 蓬勃发展的手机游戏.............................................598
18.1.1 1.2亿手机游戏用户................................................... 598
18.1.2 淘金的时代........................................................ 599
18.1.3 现实还需努力.................................................... 599
18.2 Java游戏开发面面观..............................................600
18.3 足球游戏介绍.....................................................603
18.3.1 手机足球游戏.................................................... 603
18.3.2 策划游戏....................................................... 604
18.3.3 准备工作....................................................... 604
18.4 项目架构......................................................605
18.4.1 总体架构....................................................... 606
18.4.2 规划类........................................................... 606
18.5 具体编码......................................................608
18.5.1 Activity类开发................................................... 608
18.5.2 欢迎界面....................................................... 614
18.5.3 加载节目....................................................... 622
18.5.4 运动控制....................................................... 624
18.5.5 奖品模块....................................................... 636
18.6 小结.........................................................640