Android移动应用开发从入门到精通 电子书下载 PDF下载

Android移动应用开发从入门到精通
内容简介
《Android移动应用开发从入门到精通》涵盖了Android开发从概念、技术到市场推广应用的全部话题,内容包括:Android概览、Android应用程序设计精髓、Android用户界面设计精髓、常用AndroidAPI、更多Android应用程序设计原则、对外发布你的Android应用程序和附录等7个部分。附录还包含了Android开发常用工具(如模拟器、DDMS、调试桥和SQLite等)的使用指南。
  《Android移动应用开发从入门到精通》不仅适合Android应用程序开发人员阅读,还能为QA测试人员提供指导。另外《Android移动应用开发从入门到精通》还可以帮助项目经理更好地管理项目进程和项目团队,帮助市场推广人员更好地把握市场、创造令人瞩目的销售业绩。 ·查看全部>>
目录
第一部分 Android概览
第1章 Android简介 2
1.1 移动软件开发简史 2
1.1.1 遥想当年 2
1.1.2 “砖头” 3
1.1.3 无线应用协议(WAP) 4
1.1.4 商用移动平台 6
1.2 开放手机联盟(OHA) 8
1.2.1 无线Google 8
1.2.2 开放手机联盟成立 8
1.2.3 制造商:设计Android手机 9
1.2.4 内容提供商:开发Android应用程序 9
1.2.5 移动操作系统:传播Android体验 9
1.2.6 充分发挥Android的优势 10
1.3 Android平台的不同之处 10
1.3.1 Android:下一代平台 10
1.3.2 免费开放源代码 11
1.3.3 熟悉和廉价的开发工具 11
1.3.4 合理的开发人员学习曲线 12
1.3.5 强大的应用程序开发支持 12
1.3.6 丰富、安全的应用集成 12
1.3.7 无障碍发布 13
1.3.8 为应用程序提供的“自由市场” 13
1.3.9 新生并逐渐成长的平台 14
1.4 Android平台 14
1.4.1 Android的基本体系结构 14
1.4.2 安全与许可权限 16
1.4.3 开发Android应用程序 17
小结 18
参考资料和更多信息 19

第2章 你的Android开发环境 20
2.1 配置你的开发环境 20
2.1.1 支持的操作系统 20
2.1.2 安装Java开发包(JDK) 20
2.1.3 安装Eclipse开发环境 21
2.1.4 其他开发环境 22
2.1.5 安装Android软件开发包(SDK) 22
2.1.6 安装与配置Android Eclipse插件(ADT) 23
2.1.7 ADT安装释疑 25
2.1.8 升级Android SDK 25
2.1.9 Android SDK的问题 25
2.1.10 配置Android编译硬件 26
2.1.11 配置操作系统以适应设备编译 26
2.1.12 本书使用的开发环境 27
2.2 探索Android SDK 27
2.2.1 Android SDK许可协议 27
2.2.2 Android SDK文档 28
2.2.3 Android应用程序框架 29
2.2.4 Android工具 30
2.2.5 Android示例应用程序 33
小结 34
参考资料和更多信息 34

第3章 编写第一个Android应用程序 35
3.1 测试你的开发环境 35
3.1.1 在Eclipse工程中导入Snake应用程序 35
3.1.2 为Snake工程创建Android虚拟设备(AVD) 37
3.1.3 为Snake工程创建运行配置参数 37
3.1.4 在Android模拟器中运行Snake应用程序 39
3.2 构建你的第一个Android应用程序 39
3.2.1 创建和配置新的Android工程 40
3.2.2 Android应用程序的核心文件和目录 40
3.2.3 为新工程创建Android虚拟设备 41
3.2.4 为工程配置运行参数 41
3.2.5 在模拟器中运行Android应用程序 42
3.2.6 在模拟器中调试Android应用程序 43
3.2.7 为Android应用程序添加日志记录 45
3.2.8 为应用程序添加媒体支持 46
3.2.9 为应用程序添加基于位置的服务(LBS) 48
3.2.10 在硬件上调试应用程序 50
小结 51
参考资料和更多信息 51

第二部分 Android应用程序设计精髓
第4章 剖析Android应用程序 54
4.1 Android应用程序的生存周期 54
4.1.1 使用Activity执行应用程序任务 54
4.1.2 使用Intent在不同Activity之间实现跳转 55
4.1.3 Android Activity的生存周期 58
4.2 使用Android Manifest文件定义应用程序 62
4.2.1 管理你的应用程序身份 65
4.2.2 注册Activity和其他应用程序组件 65
4.2.3 使用许可权限 67
4.2.4 指定应用程序所需输入设备和软件 69
4.2.5 使用库和Android SDK版本 70
4.2.6 在Manifest文件中定义应用程序的其他配置参数 71
小结 71

第5章 管理应用程序资源 72
5.1 什么是资源 72
5.1.1 应用程序资源的存储方式和位置 72
5.1.2 资源目录的层级结构 72
5.1.3 资源的类型 73
5.1.4 存储不同的资源类型 74
5.1.5 使用程序访问资源 75
5.2 实例:使用Eclipse设置简单资源 75
5.3 使用资源 78
5.3.1 使用String(字符串)资源 79
5.3.2 使用格式化的String资源 80
5.3.3 使用String数组 81
5.3.4 使用颜色 82
5.3.5 使用尺寸 82
5.3.6 使用简单Drawable资源 83
5.3.7 使用图像 84
5.3.8 使用动画 88
5.3.9 使用菜单 89
5.3.10 使用XML文件 90
5.3.11 使用原始文件 91
5.3.12 资源引用 92
5.3.13 使用布局(layout) 93
5.3.14 使用样式(style) 97
5.3.15 使用主题(theme) 100
5.4 引用系统资源 100
5.5 管理各种应用程序配置 101
5.5.1 为本地化和设备配置指定资源 102
5.5.2 在程序中使用适当的配置资源 104
5.5.3 高效地组织应用程序资源 106
小结 107
参考资料和更多信息 108

第三部分 Android用户界面设计精髓
第6章 探索用户界面屏幕元素 110
6.1 Android视图、Widget和布局简介 110
6.1.1 Android视图简介 110
6.1.2 Android Widget简介 110
6.1.3 Android布局简介 111
6.2 使用TextView显示文本 111
6.2.1 配置布局和尺寸 112
6.2.2 在文本中创建上下文链接 113
6.3 使用EditText和Spinner获取用户文本 114
6.3.1 使用自动补全辅助用户 116
6.3.2 使用输入过滤器约束用户输入 118
6.3.3 使用Spinner Widget的下拉列表约束用户输入 119
6.4 使用按钮、多选框和单选组 121
6.4.1 使用基本按钮 122
6.4.2 使用多选框和Toggle按钮 123
6.4.3 使用RadioGroup和RadioButton 124
6.5 获取用户输入的日期和时间 126
6.6 向用户显示信息 127
6.6.1 使用ProgressBar指示进度 128
6.6.2 使用SeekBar指示和调整进度 130
6.6.3 使用RatingBar指示和调整评分 130
6.6.4 使用Chronometer指示时间推移 131
6.6.5 使用AnalogClock和DigitalClock指示当前时间 133
6.7 为用户提供选项和上下文菜单 133
6.7.1 使用选项菜单 133
6.7.2 使用ContextMenu(上下文菜单) 136
6.8 掌控用户事件 137
6.8.1 监听触摸模式状态改变 138
6.8.2 监听全屏幕上的事件 138
6.8.3 监听长时单击 139
6.8.4 监听手势 140
6.8.5 监听焦点改变 142
6.8.6 监听屏幕旋转 143
6.9 使用样式 143
6.10 使用主题 146
小结 147

第7章 使用布局设计Android用户界面 149
7.1 创建Android用户界面 149
7.1.1 使用XML资源创建布局 149
7.1.2 使用代码创建布局 150
7.2 使用ViewGroup组织用户界面 152
7.3 使用内建的布局类 156
7.3.1 使用AbsoluteLayout 158
7.3.2 使用FrameLayout 159
7.3.3 使用LinearLayout 161
7.3.4 使用RelativeLayout 162
7.3.5 使用TableLayout 165
7.3.6 在屏幕上使用多布局 167
7.4 使用内建的View容器类 167
7.4.1 结合AdapterView使用数据驱动View容器 168
7.4.2 使用TabActivity和TabHost组织视图 171
7.4.3 探索其他视图容器 173
7.5 使用AppWidget显示应用程序视图 175
7.6 成为AppWidget提供者 176
小结 177

第8章 Android绘图与动画 178
8.1 屏幕绘图 178
8.2 使用文字 182
8.2.1 使用默认字体 182
8.2.2 使用自定义字体 183
8.2.3 测量文字所需的屏幕尺寸 184
8.3 使用位图 184
8.3.1 在画布上绘制位图 185
8.3.2 缩放位图 185
8.3.3 使用Matrix变换位图 186
8.4 使用图形 186
8.4.1 用XML资源定义图形 187
8.4.2 使用程序定义图形 187
8.4.3 绘制各种图形 188
8.5 使用动画 193
8.5.1 使用逐帧动画 194
8.5.2 使用补间动画 195
小结 200

第四部分 常用Android API
第9章 使用Android数据和存储API 202
9.1 使用应用程序首选项 202
9.1.1 创建私有和共享首选项 203
9.1.2 搜索和读取首选项 203
9.1.3 新增、修改和删除首选项 204
9.1.4 使用Android文件系统查找首选项数据 204
9.2 使用文件和目录 205
9.2.1 探索Android应用程序目录 206
9.2.2 在默认应用程序目录中创建和写入文件 206
9.2.3 在默认应用程序目录中读取文件内容 207
9.2.4 使用Android文件系统操作其他目录和文件 208
9.3 使用SQLite数据库存储结构化数据 209
9.3.1 创建SQLite数据库 210
9.3.2 创建、修改和删除数据库记录 212
9.3.3 在SQLite数据库中执行查询 215
9.3.4 关闭和删除SQLite数据库 220
9.3.5 设计持久数据库 220
9.3.6 向应用程序界面绑定数据 223
9.4 使用Content Provider在应用程序间共享数据 227
9.4.1 为访问图像调整Content Provider 227
9.4.2 探索Android的部分内建Content Provider 232
9.4.3 在Content Provider中修改数据 239
9.5 使用自定义Content Provider扩展你的Android应用程序 241
9.5.1 继承Content Provider 241
9.5.2 定义数据URI 242
9.5.3 定义数据列 242
9.5.4 实现query()、insert()、update()、delete()和getType() 243
9.5.5 更新Manifest文件 248
9.6 使用Live Folder 249
小结 251
参考资料和更多信息 252

第10章 使用Android网络API 253
10.1 访问因特网(HTTP) 253
10.1.1 从Web读取数据 253
10.1.2 使用HttpURLConnection 254
10.1.3 解析从网络获取的XML 255
10.1.4 使用线程访问网络 257
10.1.5 显示从网络资源获取的图像 260
10.1.6 获取Android网络状态 262
10.2 使用WebView浏览Web 263
小结 265
参考资料和更多信息 266

第11章 使用位置服务(LBS)API 267
11.1 使用全球定位服务(GPS) 267
11.1.1 查找你的位置 267
11.1.2 定位你的模拟器 269
11.2 位置地理编码 269
11.3 在地图上标注位置 272
11.3.1 地图标注内容 272
11.3.2 地图标注视图 272
11.3.3 获得调试API Key 274
11.3.4 拖曳地图视图 275
11.3.5 缩放地图视图 276
11.3.6 标记点 277
11.4 位置服务扩展应用 281
小结 282
参考资料和更多信息 282

第12章 使用Android多媒体API 283
12.1 操作静态图像 283
12.1.1 使用摄像头捕捉静态图像 283
12.1.2 分享图像 287
12.1.3 将图像指定为墙纸 288
12.2 使用视频 289
12.2.1 录制视频 289
12.2.2 播放视频 290
12.3 使用音频 291
12.3.1 录制音频 291
12.3.2 播放音频 293
12.3.3 共享音频 294
12.3.4 使用铃音 294
小结 295

第13章 使用Android电话API 296
13.1 使用电话功能包 296
13.1.1 为获取手机状态信息取得许可权限 296
13.1.2 请求获取通话状态 297
13.1.3 请求获取服务信息 299
13.1.4 使用电话号码 299
13.2 使用短消息 300
13.2.1 获得发送和接收短消息的许可权限 301
13.2.2 发送短消息 301
13.2.3 接收短消息 303
13.3 拨打电话 305
小结 307
参考资料和更多信息 307

第14章 通过OpenGL ES使用Android 3D图形 308
14.1 定义OpenGL ES 308
14.2 使用基于OpenGL ES的Android 3D应用程序 309
14.2.1 创建SurfaceView 309
14.2.2 启动OpenGL ES线程 311
14.2.3 初始化EGL 312
14.2.4 初始化GL 314
14.2.5 绘制 315
14.3 绘制3D物体 316
14.3.1 绘制顶点(vertices) 316
14.3.2 为顶点着色 317
14.3.3 绘制更多复杂物体 318
14.3.4 照亮你的场景 320
14.3.5 为对象赋予材质 321
14.4 同Android视图和事件进行交互 323
14.4.1 允许OpenGL线程向应用程序线程发送信息 324
14.4.2 允许应用程序线程向OpenGL线程发送信息 325
14.5 清理OpenGL ES 326
14.6 使用GLSurfaceView类 327
小结 330
参考资料和更多信息 330

第15章 使用Android可选硬件API 331
15.1 使用设备传感器 331
15.2 使用Wi-Fi 334
15.3 监视电池 337
小结 339

第五部分 更多Android应用程序设计原则
第16章 使用通知 342
16.1 使用状态栏发布通知 342
16.2 让手机震动 345
16.3 灯光闪烁 346
16.4 发出声响 347
16.5 自定义通知 348
小结 350

第17章 使用服务 351
17.1 创建服务 351
17.2 控制服务 355
17.3 实现远程接口 356
17.4 实现可包装(parcelable)类 358
小结 360

第六部分 对外发布你的Android应用程序
第18章 移动软件开发过程 364
18.1 移动开发过程概览 364
18.2 选择一种软件开发方法 364
18.2.1 理解“瀑布模型”的危险 365
18.2.2 认识迭代式开发的价值 365
18.3 整合应用程序需求 366
18.3.1 确定工程需求 366
18.3.2 为移动应用程序开发用例 367
18.3.3 吸纳第三方需求 367
18.3.4 管理手机设备数据库 368
18.4 项目风险评估 370
18.4.1 确定目标手机 370
18.4.2 获取目标手机 371
18.4.3 确定应用程序需求的可行性 372
18.4.4 理解质量保障的风险 372
18.5 编写基本项目文档 373
18.5.1 为质量保障制定测试计划 374
18.5.2 提供第三方所需的文档 374
18.5.3 提供维护和移植所需的文档 374
18.6 实现移动应用程序配置管理系统 374
18.6.1 选择一个源代码控制系统 374
18.6.2 实现一个可用的版本管理系统 375
18.7 设计移动应用程序 375
18.7.1 认识移动设备的局限 375
18.7.2 移动应用程序体系结构探索 376
18.7.3 可扩展和维护设计 376
18.7.4 应用程序交互设计 377
18.8 开发移动应用程序 377
18.9 测试移动应用程序 378
18.10 发布移动应用程序 378
18.10.1 确定目标市场 379
18.10.2 将市场需求引入应用程序需求 379
18.11 支持和维护移动应用程序 379
18.11.1 维护适当的应用程序文档 379
18.11.2 管理服务器的动态更改 379
18.11.3 确定低风险移植机会 380
小结 380
参考资料和更多信息 380

第19章 开发和测试“防弹”Android应用程序 381
19.1 “防弹”移动应用程序设计最佳实践 381
19.1.1 满足移动用户的需求 382
19.1.2 为移动设备设计用户界面 382
19.1.3 设计稳定、灵敏的移动应用程序 384
19.1.4 设计安全的移动应用程序 385
19.1.5 在设计移动应用程序时考虑利益的最大化 385
19.1.6 在Android应用程序设计时使用第三方标准 386
19.1.7 设计便于维护和升级的移动应用程序 386
19.1.8 在应用程序设计中使用Andriod工具 388
19.1.9 避免设计时的愚蠢错误 388
19.2 “防弹”移动应用程序开发最佳实践 388
19.2.1 设计有效的移动开发过程 389
19.2.2 提早和经常地测试应用程序可行性 389
19.2.3 使用代码标准、代码检查和单元测试以提高代码质量 389
19.2.4 处理某单一手机的缺陷 391
19.2.5 在应用程序开发中使用Android工具 392
19.2.6 避免开发时的愚蠢错误 392
19.3 移动应用程序测试最佳实践 392
19.3.1 设计一个应用程序漏洞跟踪系统 392
19.3.2 管理测试环境 393
19.4 确定设备的“洁净”初始状态 394
19.4.1 模仿现实世界的活动 395
19.4.2 尽量全面地进行测试 395
19.4.3 在应用程序测试中使用Android工具 400
19.4.4 避免测试时的愚蠢错误 401
19.4.5 外包测试的责任 401
小结 401
参考资料和更多信息 401

第20章 销售你的Android应用程序 402
20.1 为发布而打包你的应用程序 402
20.1.1 准备封装你的代码 402
20.1.2 准备你的软件包 403
20.1.3 测试软件包的发布版本 406
20.1.4 认证你的Android应用程序 406
20.2 赚钱 406
20.2.1 在Android Market上销售你的应用程序 406
20.2.2 在自己的服务器上销售你的应用程序 411
20.2.3 销售应用程序的其他途径 412
20.2.4 保护你的知识产权 413
20.2.5 让用户付费 413
小结 414
参考资料和更多信息 414

第七部分 附录
附录A Android模拟器快速入门 416
A.1 玩转默认模拟器 416
A.2 使用Android虚拟设备管理模拟器配置 418
A.3 列表显示Android目标操作系统 418
A.3.1 创建AVD 419
A.3.2 列表显示所有已知的AVD 424
A.3.3 删除AVD 424
A.3.4 使用其他的AVD命令 425
A.4 使用启动选项控制模拟器行为 425
A.4.1 以命令行的方式配置模拟器启动选项 426
A.4.2 使用Eclipse配置模拟器启动选项 426
A.5 配置模拟器的位置信息 427
A.6 在两个模拟器实例之间拨打电话 427
A.7 在两个模拟器实例之间发送消息 429
A.8 通过控制台与模拟器交互 429
A.8.1 使用控制台模拟来电 429
A.8.2 使用控制台模拟短消息 429
A.8.3 使用控制台发送GPS坐标 430
A.8.4 使用控制台监视网络状态 431
A.8.5 使用控制台操作电源设置 431
A.8.6 使用其他控制台命令 432
A.9 享受模拟器 432
A.10 认识模拟器的局限 433

附录B Android DDMS快速入门 434
B.1 独立或结合Eclipse使用DDMS 434
B.2 熟悉DDMS的关键特性 436
B.3 使用进程 436
B.3.1 向Android应用程序关联调试器 437
B.3.2 监视Android应用程序的线程活动 437
B.3.3 在Android应用程序中触发垃圾回收(GC) 438
B.3.4 监视Android应用程序的堆活动 438
B.3.5 终止Android进程 438
B.4 使用文件浏览器 439
B.4.1 从模拟器或设备上拷贝文件 440
B.4.2 向模拟器或设备拷贝文件 440
B.4.3 删除模拟器或设备上的文件 440
B.5 使用模拟器控制 441
B.5.1 模拟语音来电 441
B.5.2 模拟短消息接收 441
B.5.3 发送位置坐标 442
B.6 使用应用程序日志 442
B.7 在模拟器或目标设备上截屏 443

附录C Android调试桥快速入门 445
C.1 列表显示连接到计算机的设备和模拟器 445
C.2 针对特定设备使用ADB命令 446
C.3 启动和停止ADB服务进程 446
C.3.1 停止ADB服务进程 446
C.3.2 启动和检测ADB服务进程 446
C.4 使用ADB从/向Android应用程序拷贝文件 446
C.4.1 向设备发送文件 447
C.4.2 从设备提取文件 447
C.5 使用ADB安装和卸载Android应用程序 447
C.5.1 使用ADB安装应用程序 447
C.5.2 使用ADB重装应用程序 448
C.5.3 使用ADB卸载应用程序 448
C.6 使用LogCat记录日志 448
C.6.1 显示所有的日志信息 448
C.6.2 更改日志记录模式以包含日期和时间信息 449
C.6.3 过滤日志信息 449
C.6.4 清除日志 450
C.6.5 将日志输出重定向至一个文件 450
C.6.6 访问次级日志 450
C.7 生成Bug报告 451
C.8 发布Shell命令 451
C.8.1 发布单条Shell命令 451
C.8.2 启动和使用一个Shell会话 451
C.8.3 使用ADB Shell启动和终止模拟器 452
C.8.4 使用ADB Shell查看SQLite数据库 452
C.8.5 在ADB Shell中使用Monkey进行应用程序压力测试 452
C.8.6 通过Shell安装和使用自定义二进制文件 455
C.9 其他ADB命令探索 456

附录D SQLite快速入门 457
D.1 探索SQLite的常见任务 457
D.2 使用sqlite3命令行接口 457
D.2.1 启动sqlite3命令行接口并连接数据库 458
D.2.2 探索你的数据库 458
D.2.3 导入和导出数据库 460
D.2.4 在命令行中执行SQL命令 461
D.2.5 窥视SQLite内部 462
D.2.6 使用其他的sqlite3命令 462
D.2.7 认识SQLite的局限 462
D.3 通过实例理解SQLite:学生成绩数据库 463
D.3.1 设计学生成绩数据库的模式 463
D.3.2 结合AUTOINCREMENT创建简单表 464
D.3.3 向表中插入数据 464
D.3.4 使用SELECT查询表数据 465
D.3.5 创建具有外键和复合主键的表 466
D.3.6 修改和更新表数据 467
D.3.7 使用JOIN进行多表查询 467
D.3.8 使用计算列 468
D.3.9 对计算列使用子查询 469
D.3.10 删除表 470
Copyright © 2024 by topbester.com.
All Rights Reserved.
沪ICP备14027842号-1