标题：Android应用开发入门经典
基本信息
出版社: 人民邮电出版社; 第1版 
作者:Lauren Darcey ,Shane Conder
译者:袁国忠
  Android应用开发入门经典[1]丛书名: 入门经典系列 
平装: 320页 
正文语种: 简体中文 
开本: 16 
ISBN: 9787115273048 
条形码: 9787115273048 
ASIN: B0079UPLBM
内容简介
当前，Android平台在移动市场炙手可热，在全球各地攻城略地，在消费者中建立了良好声誉，成了全球排名第一的智能手机平台。本书通过引导读者创建一个功能齐备的游戏，全面阐述了各种基本的Android开发技能。
全书分6部分。第1部分介绍了Android基本知识，包括Android平台和开发工具简介，创建Android应用程序的步骤，管理应用程序资源，配置Android清单文件等；第2部分探讨如何创建应用程序界面，包括各种布局控件、界面控件和对话框的用法，使用首选项、XML文件和数据库存储数据等；第3部分介绍了Android SDK高级功能，包括图像和相机、基于位置的服务(LBS)、网络功能、社交功能、App Widget等；第4部分阐述了应用程序的国际化和测试，以及针对多种平台进行开发等；第5部分介绍了如何发布Android应用程序；第6部分为附录，介绍了如何搭建Android开发环境和Eclipse IDE使用技巧，并提供了一些补充材料。
本书语言简洁、步骤详尽，可帮助读者迅速掌握开发Android应用程序所需的基本知识，适合有一定Java编程经验并对Android开发感兴趣的读者阅读
编辑推荐
全球销量逾百万册的系列图书
连续十余年打造的经典品牌
直观、循序渐进的学习教程
掌握关键知识的最佳起点
秉承Read Less，Do More(精读多练)的教学理念
以示例引导读者完成最常见的任务
作者
Lauren Darcey是一家小型软件公司的技术指导，该公司致力于移动技术(包括Android、iPhone、Black Berry、Palm Pre、BREW和J2ME)和咨询服务。她有20多年从事软件开发的经验，是企业架构和商业移动应用程序开发方面的权威。Lauren在加州大学圣克鲁斯分校获得了计算机科学学士学位。
目　录
第1章　Android初步　1
1.1　Android简介　1
1.1.1　Google和开放手机联盟　1
1.1.2　Android面世　2
1.1.3　便宜而轻松的开发　3
1.2　熟悉Eclipse　3
1.3　创建Android项目　4
1.3.1　探索Android项目的文件　6
1.3.2　编辑项目的资源　6
1.3.3　编辑Android清单文件　7
1.3.4　编辑其他资源文件　8
1.4　运行和调试应用程序　9
1.4.1　管理Android虚拟设备　9
1.4.2　在Eclipse中创建调试和运行配置　11
1.4.3　使用模拟器启动Android应用程序　11
1.4.4　使用DDMS调试应用程序　12
1.4.5　在设备上启用Android应用程序　13
1.5　总结　15
1.6　问与答　15
1.7　作业　15
1.7.1　测验　15
1.7.2　答案　16
1.7.3　练习　16
第2章　掌握Android开发工具　17
2.1　使用Android文档　17
2.2　使用DDMS调试应用程序　19
2.2.1　管理任务　19
2.2.2　浏览Android文件系统　20
2.2.3　与模拟器交互　21
2.2.4　模拟给模拟器打电话　21
2.2.5　模拟给模拟器发短信　21
2.2.6　拍摄模拟器或手机的屏幕截图　22
2.2.7　查看日志信息　23
2.3　使用Android模拟器　23
2.3.1　给模拟器提供输入　23
2.3.2　探索Android系统　24
2.3.3　在模拟器中使用SD卡映像　26
2.4　使用其他Android工具　26
2.5　总结　26
2.6　问与答　26
2.7　作业　27
2.7.1　测验　27
2.7.2　答案　27
2.7.3　练习　27
第3章　创建Android应用程序　29
3.1　设计典型的Android应用程序　29
3.1.1　设计应用程序的功能　29
3.1.2　确定应用程序需要的活动　30
3.1.3　实现应用程序的功能　31
3.2　使用应用程序上下文　31
3.2.1　获取应用程序资源　32
3.2.2　访问应用程序首选项　32
3.2.3　使用上下文访问其他应用程序功能　32
3.3　使用活动　33
3.3.1　启动活动　33
3.3.2　管理活动的状态　34
3.3.3　关闭活动　35
3.4　使用意图　35
3.4.1　使用意图传递信息　36
3.4.2　使用意图来启动其他应用程序　36
3.5　使用对话框　37
3.6　使用片段　37
3.7　将应用程序信息写入日志　38
3.8　总结　39
3.9　问与答　39
3.10　作业　39
3.10.1　测验　39
3.10.2　答案　40
3.10.3　练习　40
第4章　管理应用程序资源　41
4.1　使用应用程序资源和系统资源　41
4.1.1　使用应用程序资源　42
4.1.2　使用系统资源　43
4.2　使用简单资源　44
4.2.1　使用字符串　44
4.2.2　使用颜色　45
4.2.3　使用度量单位资源　45
4.3　使用Drawable资源　46
4.3.1　使用图像　46
4.3.2　使用其他类型的Drawable资源　47
4.4　使用布局　47
4.4.1　使用布局资源编辑器设计布局　48
4.4.2　使用XML设计布局　48
4.4.3　以编程方式使用布局资源　49
4.5　使用文件　50
4.5.1　使用XML文件　50
4.5.2　使用原始文件　50
4.5.3　使用其他类型的资源　51
4.6　总结　51
4.7　问与答　52
4.8　作业　52
4.8.1　测验　52
4.8.2　答案　52
4.8.3　练习　53
第5章　配置Android清单文件　54
5.1　探索Android清单文件　54
5.1.1　使用选项卡Manifest　55
5.1.2　使用选项卡Application　55
5.1.3　使用选项卡Permissions　56
5.1.4　使用选项卡Instrumen-tation　56
5.1.5　使用选项卡AndroidManifest.xml　57
5.2　配置基本的应用程序设置　57
5.2.1　给Android包命名　58
5.2.2　应用程序的版本管理　58
5.2.3　设置最低的AndroidSDK版本　58
5.2.4　给应用程序命名　59
5.2.5　给应用程序提供图标　59
5.2.6　提供应用程序描述　60
5.2.7　给应用程序设置调试信息　60
5.2.8　设置应用程序的其他属性　60
5.3　定义活动　60
5.3.1　注册活动　60
5.3.2　指定默认启动的活动　61
5.4　管理应用程序权限　62
5.5　管理其他应用程序设置　63
5.6　总结　64
5.7　问与答　64
5.8　作业　64
5.8.1　测验　64
5.8.2　答案　65
5.8.3　练习　65
第6章　设计应用程序框架　66
6.1　设计一个Android益智游戏　66
6.1.1　确定游戏的高级功能　67
6.1.2　确定需要的活动　67
6.1.3　确定每个屏幕的游戏功能　68
6.2　实现应用程序原型　71
6.2.1　源代码　71
6.2.2　新建一个Android项目　72
6.2.3　添加项目资源　72
6.2.4　实现应用程序的活动　73
6.2.5　创建应用程序首选项　74
6.3　运行游戏原型　75
6.3.1　创建调试配置　75
6.3.2　在模拟器中启动原型　75
6.3.3　探索原型　76
6.4　总结　76
6.5　问与答　76
6.6　作业　77
6.6.1　测验　77
6.6.2　答案　77
6.6.3　练习　77
第7章　实现动画式启动屏幕　79
7.1　设计启动屏幕　79
7.2　实现启动屏幕布局　80
7.2.1　添加新资源　81
7.2.2　更新启动屏幕的布局　83
7.3　使用动画　85
7.3.1　添加动画资源　86
7.3.2　将动画用于特定视图　87
7.3.3　将动画用于布局中的所有视图　87
7.3.4　处理动画生命周期事件　88
7.4　总结　89
7.5　问与答　89
7.6　作业　89
7.6.1　测验　89
7.6.2　答案　90
7.6.3　练习　90
第8章　实现主菜单屏幕　91
8.1　设计主菜单屏幕　91
8.1.1　确定主菜单屏幕的布局需求　92
8.1.2　使用RelativeLayout设计屏幕标题　92
8.1.3　设计ListView控件　92
8.1.4　对主菜单布局设计的最后修饰　93
8.2　实现主菜单屏幕布局　93
8.2.1　添加资源　93
8.2.2　修改主菜单屏幕的布局文件　94
8.3　使用ListView控件　96
8.3.1　填充ListView控件　96
8.3.2　监视ListView的事件　97
8.3.3　定制ListView控件　98
8.4　使用其他类型的菜单　99
8.4.1　在游戏屏幕中添加一个选项菜单　99
8.5　总结　101
8.6　问与答　101
8.7　作业　101
8.7.1　测验　101
8.7.2　答案　102
8.7.3　练习　102
第9章　开发帮助和得分屏幕　103
9.1　设计帮助屏幕　103
9.2　实现帮助屏幕布局　104
9.2.1　添加新资源　105
9.2.2　修改帮助屏幕的布局　105
9.3　使用文件　106
9.3.1　添加原始文件资源　106
9.3.2　访问原始文件资源　106
9.4　设计得分屏幕　107
9.4.1　确定得分屏幕的布局需求　108
9.4.2　添加TabHost控件　108
9.5　实现得分屏幕的布局　109
9.5.1　添加新资源　109
9.5.2　修改得分屏幕的布局　110
9.6　创建包含选项卡的屏幕　112
9.6.1　配置TabHost控件　112
9.6.2　给TabHost控件添加选项卡　112
9.6.3　指定默认选项卡　113
9.7　使用XML　113
9.7.1　访问XML资源　113
9.7.2　使用XmlResourceParser分析XML文件　114
9.7.3　对得分屏幕做最后的修饰　114
9.8　总结　115
9.9　问与答　115
9.10　作业　116
9.10.1　测验　116
9.10.2　答案　116
9.10.3　练习　116
第10章　创建表单以收集用户输入　117
10.1　设计设置屏幕　117
10.2　实现设置屏幕的布局　120
10.2.1　添加新资源　120
10.2.2　修改设置屏幕的布局　121
10.3　使用常见的表单控件　122
10.3.1　使用EditText控件　122
10.3.2　使用Button控件　123
10.3.3　使用Spinner控件　125
10.4　使用SharedPreferences保存表单数据　126
10.4.1　定义SharedPreferences条目　126
10.4.2　将设置保存到SharedPreferences中　126
10.4.3　从SharedPreferences读取设置　127
10.5　总结　128
10.6　问与答　128
10.7　作业　128
10.7.1　测验　128
10.7.2　答案　129
10.7.3　练习　129
第11章　使用对话框收集用户输入　130
11.1　使用对话框　130
11.1.1　探索各种对话框　130
11.1.2　跟踪对话框的生命周期　131
11.2　使用DatePickerDialog类　132
11.2.1　在类中添加DatePickerDialog　133
11.2.2　初始化DatePickerDialog　133
11.2.3　显示DatePickerDialog　134
11.3　使用自定义对话框　135
11.3.1　给设置屏幕添加一个自定义对话框　135
11.4　总结　139
11.5　问与答　140
11.6　作业　140
11.6.1　测验　140
11.6.2　答案　140
11.6.3　练习　141
第12章　添加应用程序逻辑　142
12.1　设计游戏屏幕　142
12.2　实现游戏屏幕的布局　144
12.2.1　添加新资源　144
12.2.2　修改游戏屏幕的布局　145
12.3　使用ViewSwitcher控件　146
12.3.1　初始化切换器控件　147
12.3.2　实现自定义ViewFactory类　147
12.3.3　修改TextSwitcher控件　148
12.3.4　修改ImageSwitcher控件　149
12.4　编写游戏逻辑　149
12.4.1　将游戏状态设置加入SharedPreferences　150
12.4.2　获取、分析并存储问题数据　151
12.5　总结　154
12.6　问与答　155
12.7　作业　155
12.7.1　测验　155
12.7.2　答案　155
12.7.3　练习　156
第13章　使用图像和相机　157
13.1　设计化身功能　157
13.2　在设置屏幕中添加化身　158
13.2.1　修改设置屏幕的布局　159
13.3　使用ImageButton控件　160
13.3.1　指定ImageButton控件的图像　160
13.3.2　处理ImageButton的单击事件　161
13.4　选择并保存化身图形　162
13.4.1　启动活动并处理结果　162
13.4.2　使用相机　163
13.4.3　使用图库　163
13.4.4　使用选择器给用户提供选项　164
13.5　使用位图　165
13.5.1　保存位图图形　165
13.5.2　缩放位图图形　166
13.6　总结　167
13.7　问与答　167
13.8　作业　167
13.8.1　测验　167
13.8.2　答案　167
13.8.3　练习　168
第14章　支持基于位置的服务　169
14.1　设计指定最喜欢的地方功能　169
14.1.1　确定布局方面的修改　170
14.1.2　设计用于指定最喜欢的地方的对话框　171
14.2　实现指定最喜欢地方的功能　172
14.2.1　添加新资源　172
14.2.2　修改设置屏幕的布局　173
14.2.3　实现最喜欢的地方对话框的布局　173
14.3　实现最喜欢的地方对话框　174
14.4　使用基于位置的服务　176
14.4.1　在模拟器上启用位置测试　177
14.4.2　访问基于位置的服务　179
14.5　使用地理编码服务　180
14.5.1　使用Android地理编码服务　181
14.6　使用地图　182
14.6.1　使用意图启动地图应用程序　182
14.6.2　使用第三方服务和应用程序　184
14.7　总结　184
14.8　问与答　184
14.9　作业　185
14.9.1　测验　185
14.9.2　答案　185
14.9.3　练习　186
第15章　添加基本的网络支持　187
15.1　设计网络应用程序　187
15.1.1　使用应用程序服务器　187
15.1.2　管理长时间的网络操作　188
15.1.3　告诉用户正在执行网络操作　189
15.2　开发网络应用程序　189
15.2.1　在模拟器上启用网络功能测试　189
15.2.2　在硬件上测试网络应用程序　190
15.3　使用网络服务　190
15.3.1　规划应用程序“BeenThere, Done That!”的网络支持　190
15.3.2　设置网络权限　191
15.3.3　检查网络状态　191
15.3.4　使用HTTP　192
15.4　使用进度条指示网络操作　192
15.4.1　显示不确定进度　193
15.4.2　显示确定进度　193
15.4.3　显示进度对话框　193
15.5　异步地运行任务　194
15.5.1　使用AsyncTask　194
15.5.2　使用Handler和Thread　194
15.6　下载并显示得分数据　195
15.6.1　创建AsyncTask子类以下载得分　195
15.6.2　在onPreExecute()中显示进度指示器　196
15.6.3　在onPostExecute()中隐藏进度指示器　196
15.6.4　使用onCancelled()处理取消操作　196
15.6.5　使用doInBackground()进行后台处理　197
15.6.6　使用onProgressUpdate()处理更新　198
15.6.7　启动ScoreDownloaderTask　199
15.7　成批地下载并分析问题　199
15.7.1　创建用于下载问题的AsyncTask子类　200
15.7.2　在onPreExecute()中显示进度对话框　200
15.7.3　在onPostExecute()中关闭进度对话框　200
15.7.4　执行后台任务　201
15.7.5　启动QuizTask　201
15.8　总结　201
15.9　问与答　202
15.10　作业　202
15.10.1　测验　202
15.10.2　答案　203
15.10.3　练习　203
第16章　添加其他网络功能　204
16.1　确定要上传到服务器的数据　204
16.2　同步玩家的数据　205
16.3　将设置数据上传到远程服务器　205
16.3.1　使用Android服务　206
16.3.2　实现UploadTask　207
16.3.3　使用HTTP GET方式上传玩家数据　208
16.3.4　使用HTTP POST方法上传化身　210
16.4　将得分数据上传到远程服务器　212
16.5　下载朋友的得分数据　212
16.6　总结　212
16.7　问与答　213
16.8　作业　213
16.8.1　测验　213
16.8.2　答案　213
16.8.3　练习　214
第17章　添加社交功能　215
17.1　使用社交功能改善应用程序　215
17.1.1　给应用程序量身定制社交功能　215
17.1.2　支持基本的玩家关系　216
17.2　在应用程序中提供加为好友的功能　216
17.2.1　在设置屏幕中添加加为好友的功能　216
17.2.2　实现加为好友的功能　219
17.2.3　改进玩家关系　222
17.3　集成社交网络服务　222
17.3.1　支持Facebook　223
17.3.2　支持Twitter　223
17.3.3　使用OpenSocial Initiative　223
17.4　总结　224
17.5　问与答　224
17.6　作业　224
17.6.1　测验　224
17.6.2　答案　225
17.6.3　练习　225
第18章　创建主屏幕App Widget　226
18.1　设计App Widget　226
18.1.1　开发App Widget　227
18.1.2　配置App Widget的属性　227
18.1.3　使用RemoteViews　228
18.1.4　使用样式　228
18.1.5　设计App Widget的布局　229
18.1.6　实现App Widget提供器　230
18.1.7　处理App Widget后台任务　231
18.1.8　修改Android清单文件　233
18.2　总结　235
18.3　问与答　235
18.4　作业　236
18.4.1　测验　236
18.4.2　答案　236
18.4.3　练习　236
第19章　应用程序国际化　238
19.1　通用的国际化原则　238
19.2　Android的本地化工作原理　239
19.2.1　Android操作系统如何处理区域　241
19.2.2　应用程序如何处理区域　241
19.2.3　Android Market如何处理区域　243
19.3　Android国际化策略　243
19.3.1　放弃应用程序国际化　243
19.3.2　有限的应用程序国际化　244
19.3.3　实现全面的应用程序国际化　244
19.4　使用本地化工具　245
19.4.1　确定系统区域　245
19.4.2　设置日期和时间字符串的格式　245
19.4.3　处理货币　245
19.5　总结　245
19.6　问与答　246
19.7　作业　246
19.7.1　测验　246
19.7.2　答案　246
19.7.3　练习　247
第20章　针对不同设备进行开发　248
20.1　Android配置管理　248
20.1.1　处理不同的屏幕朝向　249
20.1.2　以编程方式应对朝向 变化　253
20.1.3　支持不同的屏幕特征　253
20.1.4　支持不同的设备特征　254
20.1.5　支持不同的Android SDK版本　255
20.2　总结　256
20.3　问与答　257
20.4　作业　257
20.4.1　测验　257
20.4.2　答案　257
20.4.3　练习　258
第21章　深入探讨Android　259
21.1　探索Android的核心功能　259
21.1.1　声明和实施应用程序权限　259
21.1.2　使用通知提醒用户　260
21.2　设计复杂的用户界面　261
21.2.1　使用样式和主题　261
21.2.2　设计自定义View和ViewGroup控件　261
21.2.3　使用输入方法　262
21.2.4　 处理用户手势　262
21.2.5　文字转语音　263
21.2.6　语音转文字　263
21.3　使用多媒体　263
21.3.1　播放和录制音频　264
21.3.2　播放和录制视频　264
21.4　使用2D和3D图形　264
21.4.1　使用Android图形库　265
21.4.2　使用OpenGL ES图形API　265
21.5　定制Android设备　266
21.5.1　设置铃声　266
21.5.2　设置壁纸　266
21.5.3　创建动态壁纸　266
21.6　管理和共享数据　267
21.6.1　使用文件和目录　267
21.6.2　使用SQLite数据库存储结构化数据　267
21.6.3　与其他应用程序共享数据　268
21.6.4　集成全局搜索功能　269
21.7　访问设备硬件　269
21.7.1　读取传感器原始数据　270
21.7.2　使用Wi-Fi　270
21.7.3　使用蓝牙　271
21.7.4　管理电源设置和电池续航时间　271
21.8　总结　271
21.9　问与答　271
21.10　作业　272
21.10.1　测验　272
21.10.2　答案　272
21.10.3　练习　272
第22章　测试Android应用程序　274
22.1　测试方面的最佳实践　274
22.1.1　制定编码标准　275
22.1.2　定期执行版本控制生成　275
22.1.3　使用缺陷跟踪系统　275
22.1.4　制定良好的测试计划　276
22.2　最大化测试覆盖率　277
22.2.1　管理测试环境　277
22.2.2　在模拟器上测试　278
22.2.3　在目标设备上测试　278
22.2.4　执行自动测试　279
22.3　总结　284
22.4　问与答　284
22.5　作业　284
22.5.1　测验　284
22.5.2　答案　285
22.5.3　练习　285
第23章　为发布做准备　286
23.1　理解发布过程　286
23.2　准备应用程序发布候选版本　287
23.2.1　为发布准备Android清单文件　288
23.2.2　保护应用程序以防盗版　288
23.2.3　为发布准备好相关的服务　289
23.3　测试应用程序发布候选版本　289
23.4　对应用程序进行打包和签名　290
23.4.1　对应用程序进行数字签名　290
23.4.2　导出包文件并对其进行签名　291
23.5　测试经过签名的应用程序包　292
23.5.1　安装经过签名的应用程序包　292
23.5.2　验证经过签名的应用程序　293
23.6　总结　293
23.7　问与答　293
23.8　作业　294
23.8.1　测验　294
23.8.2　答案　294
23.8.3　练习　294
第24章 发布到Android Market　295
24.1　在Android Market兜售应用程序　295
24.1.1　注册开发人员账户　295
24.1.2　将应用程序上传到Android Market　297
24.1.3　发布到Android Market　299
24.1.4　利用开发人员账户带来的其他好处　300
24.2　探索其他Android发布方式　301
24.2.1　通过网站销售应用程序　301
24.2.2　在其他市场上销售应用程序　301
24.3　总结　302
24.4　问与答　302
24.5　作业　303
24.5.1　测验　303
24.5.2　答案　304
24.5.3　练习　304
附录A　配置Android开发环境　305
A.1　开发计算机必须满足的条件　305
A.2　安装Java开发包　306
A.3　安装Eclipse IDE　306
A.4　安装Android SDK StarterPackage　307
A.5　安装并配置Eclipse插件Android开发工具　307
A.6　为调试应用程序配置开发硬件　309
附录B　Eclipse IDE使用技巧　311
B.1　创建类和方法　311
B.2　组织导入　311
B.3　代码注释　312
B.4　使用自动完成功能　312
B.5　高效地编辑代码　312
B.6　重命名各种元素　313
B.7　设置代码的格式　313
B.8　组织代码　313
B.9　重构　313
B.10　修复神秘的生成错误　314
B.11　创建自定义日志过滤器　315
B.12　在工作空间中移动窗格　315
B.13　定制工作空间中的窗格　315
B.14　集成源代码控制功能　316
附录C　补充材料　317
C.1　使用本书的源代码　317
C.2　访问Android开发人员网站　317
C.3　访问出版社网站　318
C.4　访问作者的网站　318
C.5　联系作者　319
C.6　利用Android在线资源　320