标题：Android核心技术与实例详解
图书信息
书名：Android核心技术与实例详解  作者：吴亚峰  索依娜  等编著
ISBN：978-7-121-11792-3 
出版日期：2010年10月 
定价：69.00元（含DVD光盘1张） 
开本：16开 
页码：548页
宣传语
全面介绍Android平台的控件开发，并配有典型实例
每段代码都有详细的解析，让你明白来龙去脉
内 容 简 介
本书以Android应用程序的开发为主题，并结合真实的案例向读者详细介绍了Android的基本组件的使用及应用程序开发的整个流程。
全书分为三篇共18章，第一篇以简单易懂的实例为依托，详细介绍了Android平台的基本控件、高级控件、常用界面布局及菜单对话框等相关知识；第二篇介绍了Android平台的高级知识，包括消息与广播服务、网络数据处理、手机通信功能、桌面组件、多媒体采集、Google服务及3D程序开发等；第三篇则对三个真实案例的开发步骤进行详细介绍，逐步向读者讲解Android手机应用程序的真实开发过程，同时在源代码中还包含了详细的注释，以尽量帮助读者掌握代码中的每一个细节，尽快掌握Android编程。
本书的讲述由浅入深，从介绍Android平台的基本组件到带领读者开发大型应用程序，结构清晰、语言简洁，非常适合初学者和进阶开发者阅读参考。
本书附赠DVD光盘1张，其中包含了大容量的手把手教学视频、电子教案（PPT）、实例源代码等。
前  言
Android是Google于2007年11月推出的一款开放的嵌入式操作系统平台，由于其完全开源的特性，Android正以空前的速度吸引着大批开发者的加入。为了帮助众多的软件开发人员尽快地掌握Android平台的相关知识，尽快地步入实际项目的开发中来，作者根据多年项目开发经验编写了此书。
本书既介绍了Android应用程序基本框架，也对Android平台的各种控件进行了讲解，还通过三个真实案例向读者介绍了Android应用程序完整的开发步骤。通过本书读者可以尽快地掌握在Android平台下进行开发的相关知识。
本书特点
1．内容饱满，由浅入深
本书内容既包括Android平台下开发的基础知识，也有项目编程的实用技巧，还提供了多个真实案例供读者学习。本书在知识的层次上由浅入深，使读者可以从Android的门外汉平稳、快速地步入Android开发的殿堂。
2．结构清晰、语言简洁
本书中所有案例都是按照笔者的实际开发过程进行介绍的，同时也是按照真实项目的开发流程进行的，结构清晰，语言简洁，便于实际练习。为了帮助读者更好地理解相关知识点，全书穿插了很多实用技巧及温馨提示。
3．实用超值的光盘
为了帮助读者更好地掌握与实践Android平台下应用程序的开发，本书附赠DVD光盘一张，其中包括案例的多媒体视频、电子教案（PPT）和实例源代码等。
4．实际商业案例
本书最后的三个案例都有实际商业价值，如果进行开发，价格要数万元，笔者将其完整地展现给了读者。
本书内容导读
本书共分三篇，第一篇介绍了在Android平台下进行应用程序开发的基本知识，主要对Android应用程序框架及用户界面的开发进行了介绍。章    名 主 要 内 容
第1章  Android开发起步 简要说明Android平台的来历及其特性，同时介绍了在Android平台下开发用户界面的基本知识
第2章  Android应用程序的构成 对Android平台下的应用程序构成进行了介绍，同时还介绍了应用程序基本组件（如Activity等）的相关知识
第3章  Android布局管理器 初步介绍Android平台下用户界面的开发，主要对布局管理器（如线性布局等的用法）进行了介绍
第4章  Android常用基本控件 介绍了Android平台用户界面中基本控件（如按钮和文本框等）的特性及其用法
第5章  Android常用高级控件 继续上一章的内容，对Android平台用户界面中的高级控件的相关知识和用法进行了介绍
第6章  菜单与对话框 介绍了Android平台选项菜单、上下文菜单和子菜单等的相关知识，同时还将各种对话框的用法进行了详细的介绍
第7章  Android事件处理模型 对Android平台下用户界面开发中常用到的事件处理模型进行了介绍
第二篇介绍如何在Android平台下进行高级应用程序的开发，包括游戏和基于OpenGL ES的3D应用程序的开发，以及与针对手机特性和网络服务程序的开发。
章    名 主 要 内 容
第8章  游戏与3D应用程序开发 向读者介绍了在Android平台下进行游戏开发的相关知识，同时还对Android平台下3D应用程序的开发进行了初步介绍
第9章  消息广播与服务 对Android平台下基于Intent的消息广播机制进行了介绍，同时通过一个比较大的案例说明Service组件的用法
第10章  网络与数据处理 简要介绍了在Android平台下进行网络编程的相关知识，同时还对Android平台下的SQLite等数据处理机制进行了介绍
第11章  手机通信功能开发 通过实例对Android平台下基于手机通信功能（如打电话、发短信和E-mail）的开发进行了介绍
第12章  手机特有Feature开发 介绍了如何基于Android平台对手机的特性进行开发，如改变壁纸、控制手机振动和音量等
第13章  桌面组件与多媒体数据采集 简单介绍了如何在Android平台下开发包括快捷方式和实时文件夹等在内的桌面组件的流程，以及如何在程序中对多媒体数据（如音频和图像）等进行采集的步骤
第14章  传感器应用的开发 对Android平台下传感器的相关知识进行了简单介绍，并通过案例来讲解开发基于传感器的应用程序的步骤
第15章  Google服务 介绍了在应用程序中与Google提供的如Google Map等网络服务进行混搭的开发步骤
第三篇以三个比较大的案例来说明Android平台下大型应用的开发流程，通过这三个案例的讲解，读者对Android开发将会有更深层次的理解。
章    名 主 要 内 容
第16章  Android游戏开发实践——快乐数独 介绍了手机游戏《快乐数独》的开发，通过该案例向读者介绍了在Android平台下进行游戏开发的相关知识和基本流程，并对游戏开发中的编程技巧进行了介绍
第17章  Android地图搜索应用——美食天下 介绍了地图搜索应用《美食天下》的开发，该应用包括Web端和Android手机端，通过该案例向读者介绍了在Android平台下开发大型应用的基本步骤
第18章  Android社交分享平台——口袋微博 介绍了社交分享平台《口袋微博》的开发，该平台包括Web端和Android手机端，通过该案例向读者介绍了基于客户端/服务器模式的网络应用程序开发的基本步骤
本书面向的读者
本书的内容十分详细，几乎涵盖了Android相关的所有技术，并向读者介绍了真实项目的开发流程，主要面向以下读者。
Android初学者：本书详细介绍了Android的基础知识及各种控件，并对Android平台下3D程序的开发进行了介绍，Android初学者通过本书可以快速、全面地掌握Android平台相关知识，快速地步入Android开发人员的行列。
有一定Java基础且希望学习Android开发的读者：Android平台下的开发基于Java语言，有一定Java基础的读者通过阅读本书的前半部分便可快速地掌握Android的各种组件及基础控件，然后通过三个真实案例的学习迅速地掌握Android平台下的应用程序开发。
在职的开发人员：本书中的案例都是作者精心挑选的，其中涉及的相关知识均是作者多年来积累的编程经验及心得体会。具有一定开发经验的在职开发人员可以通过本书进一步巩固Android的基础知识，并迅速成为高级的Android开发人员。
本书作者
吴亚峰，毕业于北京邮电大学，后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java的开发，有十多年的Java开发与培训经验。主要的研究方向为手机游戏、Java EE、搜索引擎，现为手机游戏、Java EE独立软件开发工程师，同时兼任Sun授权Java培训中心认证教师。为数十家著名企业培训了上千名软件开发人员，曾编写过《Java SE 6.0编程指南》、《30天学通Java Web项目案例开发》、《Java程序员职场全攻略：从小工到专家》、《Android 2.0游戏开发实战宝典》等畅销技术书籍。2008年开始关注Android平台下的应用开发，并开发出一系列优秀的Android应用程序。
索依娜，毕业于燕山大学，从业于计算机软件领域9年，在软件开发和计算机教学方面有着丰富的经验。工作期间曾参与省级科研项目2项、市级科研项目1项、发表论文多篇；同时为多个厂矿，企事业单位设计、开发了信息管理系统；从2008年开始关注Android平台下应用的开发，参与开发了多款手机娱乐应用。
另外，昊燃、方振宇、陈冠佐、傅奎、陈勤、梁洋洋、毕梦飞、陈庆、柴相花、陈非凡、陈华、陈嵩、承卓也参与了本书的编写。在此表示感谢！
本书在编写过程中得到了唐山百纳科技有限公司Java培训中心的大力支持，同时于庭龙、魏鹏飞、王海峰及作者的家人为本书的编写提供了很多帮助，在此表示衷心感谢！
由于编者的水平和学识有限，且书中涉及的知识较多，难免有疏漏之处，敬请广大读者朋友批评指正。
编者
目  录
基  础  篇
第1章  Android开发起步 19
本章将要介绍的是Android开发起步的相关知识，首先对Android平台进行简单的介绍，其中包括Android的背景及其应用程序的框架。然后会向读者讲解如何搭建Android的开发环境、如何在Eclipse中创建一个项目，以及如何使用Android平台提供的工具调试和监控应用程序。
1.1  Android平台简介 19
1.1.1  Android背景介绍 19
1.1.2  Android平台架构 20
1.2  Android开发环境的搭建 22
1.2.1  相关软件的下载与安装 22
1.2.2  虚拟设备的创建和使用 25
1.2.3  创建“Hello Android” 27
1.2.4  Android应用程序的调试 28
1.3  小结 31
第2章  Android应用程序的构成 32
本章主要对Android的基本组件及Android应用程序的构成进行介绍，同时还将对Android应用程序的生命周期进行分析，主要目的是让读者了解Android应用程序的构成，掌握Android基本组件的特性及使用方法。
2.1  Android应用程序的解析 32
2.1.1  目录结构 32
2.1.2  资源的管理与使用 33
2.1.3  AndroidManifest.xml简介 36
2.1.4  应用程序的权限 37
2.2  Android基本组件的介绍 38
2.2.1  应用程序的生命周期 38
2.2.2  Activity简介 39
2.2.3  Service简介 41
2.2.4  BroadcastReceiver简介 44
2.2.5  ContentProvider简介 45
2.2.6  Intent和IntentFilter简介 46
2.3  小结 50
第3章  Android布局管理器 51
本章要介绍的内容为Android平台下的布局管理器。Android中的布局包括线性布局、表格布局、相对布局、帧布局和绝对布局。下面将分别对每个布局管理器进行详细的介绍。
3.1  控件类概述 51
3.1.1  View类简介 51
3.1.2  ViewGroup类简介 52
3.2  线性布局 52
3.2.1  LinearLayout类简介 52
3.2.2  线性布局案例 53
3.3  表格布局 55
3.3.1  TableLayout类简介 55
3.3.2  表格布局案例 56
3.4  相对布局 60
3.4.1  RelativeLayout类简介 60
3.4.2  相对布局案例 61
3.5  帧布局 63
3.5.1  FrameLayout类简介 63
3.5.2  帧布局案例 63
3.6  绝对布局 65
3.6.1  AbsoluteLayout类简介 65
3.6.2  绝对布局案例 66
3.7  小结 69
第4章  Android常用基本控件 70
本章将对进行用户界面开发时常用到的Android基本控件进行介绍，主要包括文本框、按钮、单选按钮和复选按钮、状态开关按钮和日期时间控件等。了解这些基本控件的工作方式有助于学习后面要介绍的Android中的高级控件。
4.1  文本控件的介绍 70
4.1.1  TextView类简介 70
4.1.2  EditText类简介 71
4.1.3  文本框使用案例 71
4.2  按钮控件 75
4.2.1  Button类简介 75
4.2.2  ImageButton类简介 77
4.2.3  9Patch图片简介 79
4.2.4  9Patch图片使用案例 80
4.3  状态开关按钮 81
4.3.1  ToggleButton类简介 81
4.3.2  开关按钮的使用 82
4.4  单选按钮与复选按钮 84
4.4.1  CheckBox和RadioButton类简介 84
4.4.2  单选按钮和复选按钮使用案例 84
4.5  图片控件 87
4.5.1  ImageView类简介 87
4.5.2  图片查看器 88
4.6  时钟控件 91
4.6.1  AnalogClock和DigitalClock类简介 91
4.6.2  时钟控件使用案例 91
4.7  日期与时间选择控件 92
4.7.1  DatePicker类简介 92
4.7.2  TimePicker类简介 93
4.7.3  日期时间控件使用案例 93
4.8  动画播放技术 95
4.8.1  帧动画简介 95
4.8.2  帧动画使用案例 96
4.8.3  补间动画简介 98
4.8.4  补间动画使用案例 99
4.9  小结 101
第5章  Android常用高级控件 102
上一章已经介绍了Android中的一些基本控件，本章将继续上一章的思路，对Android中常用的高级控件逐一进行介绍。
5.1  自动完成文本框 102
5.1.1  AutoCompleteTextView类简介 102
5.1.2  自动完成文本使用案例 102
5.2  滚动视图 104
5.2.1  ScrollView类简介 104
5.2.2  滚动视图使用案例 104
5.3  列表视图 105
5.3.1  ListView类简介 105
5.3.2  列表视图使用案例 105
5.4  网格视图 108
5.4.1  GridView类简介 108
5.4.2  网格视图使用案例 109
5.5  滑块与进度条 113
5.5.1  ProgressBar类简介 113
5.5.2  SeekBar类简介 113
5.5.3  滑块和进度条案例 113
5.6  星级滑块 115
5.6.1  RatingBar类简介 115
5.6.2  星级滑块使用案例 115
5.7  选项卡 117
5.7.1  TabHost类简介 117
5.7.2  选项卡使用案例 117
5.8  画廊控件 120
5.8.1  Gallery类简介 120
5.8.2  画廊控件使用案例 121
5.9  下拉列表控件 122
5.9.1  Spinner类简介 123
5.9.2  下拉列表使用案例 123
5.10  小结 126
第6章  菜单与对话框 127
在前面的章节中介绍了Android平台下开发用户界面时常用的基本控件与高级控件，但在实际开发中只运用这些控件是不够的。本章将介绍用户界面中菜单与对话框的开发，同时还会对Android平台下的Toast和Notification进行介绍。
6.1  菜单功能的开发 127
6.1.1  选项菜单和子菜单简介 127
6.1.2  选项菜单和子菜单使用案例 129
6.1.3  上下文菜单 134
6.2  对话框功能的开发 137
6.2.1  对话框简介 137
6.2.2  普通对话框 138
6.2.3  列表对话框 141
6.2.4  单选按钮对话框 143
6.2.5  复选框对话框 145
6.2.6  日期及时间选择对话框 147
6.2.7  进度对话框 151
6.3  消息提示 153
6.3.1  Toast的使用 153
6.3.2  Notification的使用 155
6.4  小结 158
第7章  Android事件处理模型 159
本章将对Android平台用户界面的各种事件响应进行详细介绍，以加深读者对Android平台的事件处理模型的理解，熟练掌握控件的各种事件处理方法。
Android平台的事件处理机制有两种，一种是基于回调机制的，一种是基于监听接口的，接下来会分别对其进行介绍。
7.1  基于回调机制的事件处理 159
7.1.1  onKeyDown方法简介 159
7.1.2  onKeyUp方法简介 161
7.1.3  onTouchEvent方法简介 162
7.1.4  onTrackBallEvent方法简介 164
7.1.5  onFocusChanged方法简介 165
7.2  基于监听接口的事件处理 167
7.2.1  Android的事件处理模型 167
7.2.2  OnClickListener接口简介 168
7.2.3  OnLongClickListener接口简介 170
7.2.4  OnFocusChangeListener接口简介 172
7.2.5  OnKeyListener接口简介 176
7.2.6  OnTouchListener接口简介 178
7.2.7  OnCreateContextMenuListener接口简介 180
7.3  Handler消息传递机制 181
7.3.1  Handler类简介 181
7.3.2  Handler使用案例 181
7.4  小结 184
高 级 篇
第8章  游戏与3D应用程序开发 185
Android平台下的应用开发，一般来说主要分为商业应用和游戏两种，在开发商业应用时主要会用到本书前面章节曾介绍过的控件和菜单对话框等知识，而开发游戏时就只能自己定义各种控件和界面了。本章将要介绍如何在Android平台下使用View和SurfaceView开发游戏，在本章的最后还将对Android平台下进行3D场景的开发进行简单的介绍。
8.1  自定义View的使用 185
8.1.1  MyView类的开发 185
8.1.2  MyThread类的开发 188
8.1.3  Activity部分代码的开发 189
8.2  SurfaceView的使用 190
8.2.1  GameView类的开发 191
8.2.2  BallGoThread类的开发 195
8.2.3  TimeThread类的开发 198
8.2.4  GameViewDrawThread类的开发 198
8.2.5  Sample_8_2类的开发 199
8.3  GLSurfaceView与3D 200
8.3.1  OpenGL ES简介 200
8.3.2  3D开发的基本知识 201
8.3.3  第一个3D图形示例 202
8.3.4  3D谷仓的开发 206
8.4  小结 212
第9章  消息广播与服务 213
本章将对Android的消息广播机制及服务组件进行详细介绍。在很多应用程序中，都会通过广播形式来发送和接收消息。当应用程序接收到消息后，一般启动一个Activity或者一个Service进行处理。本章将对之前介绍过的服务组件Service进行详细介绍，章末通过对一个单机版的音乐播放盒的介绍帮助读者掌握服务组件的使用方法。
9.1  BroadcastReceiver组件 213
9.1.1  BroadcastReceiver类简介 213
9.1.2  基于广播的案例 214
9.2  Service组件 216
9.2.1  Service类简介 217
9.2.2  基于服务的案例 217
9.3  单机版音乐盒的实现 220
9.4  小结 228
第10章  网络与数据处理 229
本章要介绍的内容是Android平台下进行网络编程及数据处理的相关知识，内容包括网络通信的几种方式（如使用Socket、URL、Socket等）、如何使用WebView浏览网页，以及文件的上传和下载。最后介绍访问手机存储卡的方法及如何在程序中使用SQLite数据库。
10.1  使用Socket进行通信 229
10.1.1  Socket服务端的开发 229
10.1.2  Socket客户端的开发 230
10.2  通过URL和HTTP请求获取网络资源 231
10.2.1  通过URL获取网络资源 232
10.2.2  通过HTTP请求网络资源 235
10.3  使用WebView进行网络开发 239
10.3.1  使用WebView浏览网页 239
10.3.2  使用WebView执行HTML代码 244
10.4  SQLite数据库 246
10.4.1  数据库的基本操作 246
10.4.2  个人通讯录的实现之资源文件的组织和开发 247
10.4.3  个人通讯录的实现之功能代码的开发 250
10.5  访问存储卡 255
10.5.1  获取存储卡容量 255
10.5.2  读取存储卡信息 257
10.6  小结 259
第11章  手机通信功能开发 260
本章将对Android手机通信功能的开发进行介绍，其中包括短信的收发及状态查询、电话的拨打与接听、来电的过滤和E-mail邮件的收发等，通过本章的学习，读者应该能够对Android平台手机通信功能有一定的了解。
11.1  短信控制 260
11.1.1  短信的发送 260
11.1.2  短消息提示 263
11.1.3  短消息群发 267
11.1.4  查询发送状态 271
11.2  电话控制 274
11.2.1  拨打电话 274
11.2.2  过滤电话 279
11.2.3  查询当前状态 279
11.3  E-mail相关功能开发 281
11.3.1  SMTP协议简介 281
11.3.2  发送E-mail 281
11.4  小结 282
第12章  手机特有Feature开发 283
本章将要介绍的是Android手机特有Feature的开发，主要包括响应系统设置更改事件、设置手机外观和其他的特性。同时还将介绍如何在程序中获取SIM卡和电池电量等信息，最后将以手机闹钟为例讲述如何自己开发特定功能的手机应用。
12.1  系统设置更改的事件 283
12.1.1  Configuration类简介 283
12.1.2  响应Configuration的变化 284
12.2  手机外观更改和提醒设置 286
12.2.1  手机壁纸的改变 286
12.2.2  手机振动的设置 290
12.2.3  音量调节 293
12.3  TelephonyManager的使用 296
12.3.1  TelephonyManager类简介 297
12.3.2  TelephonyManager的使用案例 297
12.4  手机电池电量 300
12.4.1  原理概述 300
12.4.2  电量提示案例 301
12.5  手机闹钟 302
12.5.1  AlarmManager简介 303
12.5.2  开发闹钟应用 303
12.6  小结 306
第13章  桌面组件与多媒体数据采集 307
本章将介绍Android中桌面组件及多媒体相关程序的开发，其中包括桌面快捷方式、实时文件夹、桌面控件、声音及图像的采集等。
13.1  桌面组件的介绍 307
13.2  桌面快捷方式 307
13.2.1  通过应用程序创建快捷方式 307
13.2.2  向Launcher添加快捷方式 310
13.3  实时文件夹 311
13.3.1  创建Activity 311
13.3.2  创建ContentProvider 312
13.4  桌面控件 313
13.4.1  桌面控件概述 313
13.4.2  开发简单的桌面控件 314
13.5  多媒体数据采集 315
13.5.1  录音 316
13.5.2  图像采集 319
13.6  小结 323
第14章  传感器应用的开发 324
Android系统的一大亮点之一就是对传感器的应用，利用传感器可以开发出很多新奇有趣的程序，小到水平仪、计步器，大到传感器游戏，本章将详细介绍各种传感器的原理及使用方法，并通过一个水平仪的开发向读者介绍传感器应用的开发方法，以及如何在模拟器中模拟各种传感器。
14.1  Android平台下传感器简介 324
14.1.1  加速度传感器Accelerometer 324
14.1.2  姿态传感器Orientation 329
14.1.3  磁场传感器Magnetic Field 332
14.1.4  温度传感器Temperature 333
14.1.5  光传感器Light 336
14.2  传感器应用案例 337
14.2.1  开发前的准备工作 337
14.2.2  自定义View的开发 337
14.2.3  开发主逻辑代码 339
14.2.4  运行与调试 342
14.3  小结 342
第15章  Google服务 343
本章将介绍如何在Android平台下开发基于Google服务的应用程序。Google提供了诸如GPS定位、Google Map、天气预报、网络相册和在线翻译等多种服务，将这些服务融合到应用程序中将会带来非常好的用户体验。
15.1  使用GPS获取位置 343
15.1.1  LocationManager及相关类简介 343
15.1.2  获取位置信息案例 344
15.2  Google Map的使用 347
15.2.1  获取Map API Key 347
15.2.2  创建模拟器 348
15.2.3  Google Map地图查询应用 349
15.2.4  Google Map导航应用 354
15.3  天气预报 360
15.3.1  使用SAX解析XML 360
15.3.2  使用Google API获取天气信息 360
15.4  口袋词典 364
15.4.1  Google Translate API简介 364
15.4.2  口袋词典的实现 365
15.5  Google街景 369
15.5.1  Android整合Google街景服务的原理 369
15.5.2  在程序中调用Google街景 369
15.6  小结 372
案 例 篇
第16章  Android游戏开发实践——快乐数独 373
益智类游戏是一种比较流行的游戏，其画面大都比较简单，很少有很复杂的游戏特效，但是通常用到人工智能的算法来控制游戏的难度。而算法的优化是开发该类游戏的难点。这类游戏主要包括棋牌类游戏和智力测试类游戏，例如麻将、扫雷、五子棋、扑克牌等。
数独就是益智游戏的一种，玩法简单但数字的排列方式千变万化，很多人认为数独是训练头脑的绝佳方式。本章通过讲解数独游戏在Android平台上的设计与实现，使读者了解此类游戏的开发过程，掌握实用的开发技巧，学会此类游戏的开发。
16.1  游戏的背景及功能概述 373
16.1.1  背景概述 373
16.1.2  功能简介 374
16.2  游戏的策划及准备工作 375
16.2.1  游戏的策划 375
16.2.2  Android平台下游戏的准备工作 375
16.3  游戏的架构 376
16.3.1  各类的简要介绍 376
16.3.2  游戏的框架简介 377
16.4  欢迎界面的设计与实现 378
16.4.1  主类KLSDActivity实现 378
16.4.2  欢迎界面WelcomeView类的实现 380
16.4.3  刷帧线程WelcomeViewDrawThread类的实现 383
16.4.4  动画生成线程WelcomeViewGoThread类的实现 384
16.5 “帮助”与“关于”界面的设计与实现 385
16.5.1 “帮助”界面HelpView类的实现 385
16.5.2 “关于”界面AboutView的实现 386
16.6  游戏界面的框架搭建 388
16.7  计时线程与数字键盘线程的开发 390
16.7.1  计时线程的开发 390
16.7.2  数字键盘线程的开发 391
16.8  数独生成器的开发 392
16.9  游戏界面逻辑方法的实现 394
16.9.1  初始化方法的完善 394
16.9.2  简单逻辑方法的完善 396
16.9.3  屏幕事件处理方法的完善 397
16.10  游戏界面绘画方法的完善 401
16.10.1  数字键盘的绘制方法drawKey ()的完善 401
16.10.2  绘画方法onDraw()的完善 402
16.11  游戏界面刷帧线程的实现 405
16.12  游戏的优化与改进 406
第17章  Android地图搜索应用——美食天下 407
第15章已经介绍了Google Map的简单使用，本章将通过之前介绍过的知识实现一个美食共享软件，其中包括服务端和手机端，希望通过本章的学习，读者能够掌握Android系统与Tomcat服务器的通信、Google地图的使用及各种控件的综合应用。
17.1  系统背景及功能概述 407
17.1.1  背景简介 407
17.1.2  功能概述 407
17.1.3  开发环境及目标平台 408
17.2  开发前的准备工作 409
17.2.1  数据库的设计 409
17.2.2  表的创建与记录插入 414
17.2.3  数据源的配置 415
17.3  Web端总体架构及功能预览 415
17.3.1  目录结构及系统框架 415
17.3.2  功能预览 416
17.4  Web端登录注册模块的实现 418
17.4.1  首页的搭建 418
17.4.2  用户注册功能的开发 424
17.4.3  用户登录功能的开发 428
17.4.4  用户注销功能的开发 431
17.5  Web端美食上传模块的实现 431
17.5.1  页面的搭建 431
17.5.2  图片上传组件FileUploadServlet的开发 435
17.5.3  DBUtil中相关方法的开发 437
17.6  Android端总体架构及功能预览 438
17.6.1  功能预览 439
17.6.2  总体架构 440
17.7  服务器的设计与实现 441
17.8  Android端登录界面的实现 443
17.8.1  开发前的准备工作 443
17.8.2  框架的搭建 445
17.8.3  监听方法的完善 448
17.8.4  记住密码功能的实现 449
17.8.5  服务器端的完善 450
17.9  Android端注册界面的实现 451
17.9.1  框架的搭建 451
17.9.2  监听方法的完善 453
17.9.3  服务器端的完善 455
17.10  Android端主界面MainActivity的实现 456
17.10.1  布局文件的开发 456
17.10.2  界面框架的搭建 457
17.10.3  初始化方法的完善 459
17.10.4  监听方法的完善 460
17.10.5  网络处理线程的实现 463
17.10.6  服务器端的完善 464
17.11  Android端地图界面的实现 468
17.11.1  布局文件的开发 468
17.11.2  地图界面的开发 469
17.12  美食信息界面的实现 472
17.13  系统的优化与改进 474
第18章  Android社交分享平台——口袋微博 475
本章将介绍社交分享平台——口袋微博的实现，该社交分享平台包括Web端和Android手机端两个部分。在介绍了整个系统的背景及功能架构之后，本书将对该系统在Web端和Android手机端的实现进行介绍。
18.1  系统背景及功能概述 475
18.1.1  背景简介 475
18.1.2  功能概述 475
18.1.3  开发环境和目标平台 476
18.2  开发前的准备工作 477
18.2.1  数据库设计 477
18.2.2  表的创建和测试数据的插入 482
18.2.3  数据源的配置 483
18.3  Web端功能预览及总体架构 484
18.3.1  Web端系统功能预览 484
18.3.2  系统目录结构 485
18.3.3  系统总架构 486
18.4  Web端主页的搭建 486
18.5  Web端登录注册模块的实现 488
18.5.1  用户登录功能的开发 488
18.5.2  用户注册功能的开发 491
18.5.3  用户注销功能的开发 494
18.6  查看和管理日志模块的实现 494
18.6.1  发布日志功能的开发 494
18.6.2  显示日志及评论功能的开发 496
18.6.3  编辑和删除日志功能的开发 498
18.7  查看和管理相册模块的实现 499
18.7.1  查看相册功能的开发 500
18.7.2  查看相册相片功能的实现 501
18.7.3  显示照片功能的实现 502
18.8  Android端功能预览及总体架构 503
18.8.1  Android端功能预览 503
18.8.2  Android端总架构 505
18.9  服务器的设计与实现 506
18.9.1  服务器的设计 506
18.9.2  服务器的实现 506
18.10  Android端的准备工作 509
18.10.1  图片资源的准备 509
18.10.2  XML资源文件的准备 510
18.11  登录注册模块的实现 511
18.11.1  登录模块的开发 511
18.11.2  记录账号密码功能的开发 516
18.11.3  服务器验证登录功能的实现 517
18.11.4  注册模块的开发 517
18.12  个人中心模块的实现 521
18.12.1  个人中心界面的开发 521
18.12.2  个人中心界面菜单功能的开发 523
18.13  快速发布模块的实现 524
18.13.1  发布日志和更新心情功能的实现 524
18.13.2  拍照上传界面的开发 527
18.13.3  UploadActivity通信功能的开发 530
18.14  查看联系人模块的实现 534
18.14.1  ContactsActivity界面的开发 534
18.14.2  ContactsActivity通信功能的开发 536
18.15  日志管理模块的实现 536
18.15.1  查看日志功能的开发 537
18.15.2  编辑日志功能的开发 539
18.16  相册管理模块的实现 539
18.16.1  相册查看和修改功能的实现 539
18.16.2  相片查看功能的实现 542
18.17  系统的优化与改进 544