当前位置:首页 > 工业技术
Android应用程序开发权威指南  第4版
Android应用程序开发权威指南  第4版

Android应用程序开发权威指南 第4版PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:(美)安尼兹,(美)达西,(美)康德著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121251993
  • 页数:611 页
图书介绍:本书是Android应用程序开发领域的权威之作。它由Android系统的资深专家执笔,深入浅出地讲解了Android应用程序开发平台的搭建、Android应用程序开发过程中的点点滴滴,以及应用程序发布的技术要点。书中配有大量的注释和图片来引导读者学习。
《Android应用程序开发权威指南 第4版》目录

引言 1

Ⅰ Android平台概述 9

第1章 Android简介 11

1.1 移动软件开发简史 11

1.1.1 遥想当年 11

1.1.2 “砖” 13

1.1.3 无线应用协议(WAP) 15

1.1.4 专有移动平台 17

1.2 开放手机联盟 19

1.3 Google进入无线市场 19

1.3.1 开放手机联盟的形成 20

1.3.2 制造商:设计Android设备 20

1.3.3 移动运营商:提供Android体验 21

1.3.4 应用程序驱动设备的销售:开发Android应用程序 22

1.3.5 利用所有Android设备的优势 23

1.3.6 Android市场:现在我们在哪里 23

1.4 Android平台的差异 24

1.4.1 Android:下一代的平台 25

1.4.2 自由和开放的源码 26

1.4.3 熟悉和廉价的开发工具 26

1.4.4 合理的开发学习曲线 27

1.4.5 功能强大的应用开发的支持 27

1.4.6 丰富和安全的应用程序集成 28

1.4.7 没有昂贵的开发费用 28

1.4.8 应用程序的“自由市场” 28

1.4.9 一个不断发展的平台 30

1.5 Android平台 30

1.5.1 Android的底层架构 31

1.5.2 安全和权限 32

1.5.3 探寻Android应用程序 34

1.6 总结 37

1.7 小测验 38

1.8 练习题 38

1.9 参考内容和更多信息 38

第2章 搭建你的Android开发环境 39

2.1 配置你的开发环境 39

2.1.1 配置你的操作系统用于设备调试 42

2.1.2 配置你的Android进行调试 42

2.1.3 更新Android SDK 44

2.1.4 AndroidSDK的问题 45

2.2 探索Android SDK 45

2.2.1 了解Android SDK的许可协议 45

2.2.2 阅读Android SDK文档 47

2.2.3 探索Android应用框架核心部分 47

2.2.4 探索Android核心工具 50

2.2.5 探索Android示例应用程序 54

2.3 总结 55

2.4 小测验 56

2.5 练习题 56

2.6 参考资料和更多信息 56

第3章 编写你的第一个Android程序 57

3.1 测试你的开发环境 57

3.1.1 使用SDK管理器加入Android示例程序 58

3.1.2 添加Snake项目到你的Android IDE工作区 60

3.1.3 为你的Snake项目创建一个AVD 63

3.1.4 为你的Snake项目创建一个启动配置 66

3.1.5 在Android模拟器中运行Snake应用程序 68

3.2 构建你的第一个Android应用 70

3.2.1 创建并配置一个新的Android项目 71

3.2.2 Android应用的核心文件和目录 74

3.2.3 为你的项目创建一个AVD 77

3.2.4 为你的项目创建一个启动配置 77

3.2.5 在模拟器中运行你的Android应用 79

3.2.6 在模拟器中调试你的Android应用 82

3.2.7 为你的Android应用增加日志记录 85

3.2.8 为你的应用程序增加媒体支持 87

3.2.9 在你的程序中增加基于位置的服务 90

3.2.10 在实体硬件上调试你的应用 93

3.3 小结 95

3.4 小测验 97

3.5 练习题 97

3.6 参考资料和更多信息 98

Ⅱ Android应用程序基础 99

第4章 了解Android应用结构 101

4.1 掌握重要的Android术语 101

4.2 应用程序Context 102

4.2.1 获取应用程序Context 102

4.2.2 使用应用程序Context 103

4.3 使用Activity执行应用程序任务 104

4.3.1 Android Activity的生命周期 105

4.4 使用Fragment来组织Activity组件 110

4.5 使用Intent管理Activity之间的切换 112

4.5.1 通过Intent切换Activity 112

4.5.2 通过Activity和Intent来组织应用程序导航 115

4.6 使用服务 116

4.7 接收和广播Intent 117

4.8 总结 117

4.9 小测验 118

4.10 练习题 118

4.11 参考资料和更多信息 118

第5章 使用Android清单文件定义你的应用 119

5.1 使用Android清单文件配置Android应用 119

5.1.1 编辑Android清单文件 120

5.2 管理你的应用程序ID 126

5.2.1 控制你的应用程序版本号 126

5.2.2 设置应用程序的名称和图标 127

5.3 设置应用程序的系统需求 127

5.3.1 针对特定的SDK版本 128

5.3.2 设置应用的平台需求 131

5.3.3 使用外部库 134

5.3.4 其他应用程序配置和过滤器 135

5.4 在Android清单文件中注册Activity 135

5.4.1 使用Intent过滤器为你的应用指定一个主入口Activity 136

5.4.2 配置其他的Intent过滤器 136

5.4.3 注册其他应用程序组件 137

5.5 访问权限 138

5.5.1 注册你的应用程序所需的权限 138

5.5.2 注册你的应用其他的权限 139

5.6 探索其他清单文件的设置 140

5.7 总结 141

5.8 小测验 141

5.9 练习题 141

5.10 参考资料和更多信息 142

第6章 管理应用程序资源 143

6.1 什么是资源 143

6.1.1 存储应用程序资源 143

6.1.2 资源类型 144

6.1.3 以编程方式访问资源 148

6.2 使用Android IDE设置简单的资源值 149

6.3 使用不同类型的资源 153

6.3.1 使用字符串资源 153

6.3.2 使用格式化的字符串资源 154

6.3.3 使用带数量的字符串 156

6.3.4 使用字符串数组 157

6.3.5 使用布尔类型资源 158

6.3.6 使用整型资源 159

6.3.7 使用颜色资源 160

6.3.8 使用尺寸资源 160

6.3.9 可绘制资源 162

6.3.10 使用图像 164

6.3.11 使用颜色状态列表 166

6.3.12 使用动画 168

6.3.13 使用菜单 170

6.3.14 使用XML文件 172

6.3.15 使用原始文件 173

6.3.16 引用资源 174

6.3.17 使用布局 175

6.3.18 引用系统资源 182

6.4 总结 183

6.5 小测验 183

6.6 练习题 183

6.7 参考资料和更多信息 184

Ⅲ Android用户界面设计要点 185

第7章 探索用户界面构建模块 187

7.1 Android的视图和布局介绍 187

7.1.1 Android视图 187

7.1.2 Android控件 187

7.1.3 Android布局 188

7.2 使用TextView来显示文本给用户 189

7.2.1 配置布局和大小 190

7.2.2 在文本中创建上下文链接 191

7.3 使用文本字段从用户获取数据 193

7.3.1 使用EditText控件获取输入文本 194

7.3.2 使用输入过滤器限制用户的输入 195

7.3.3 使用自动完成功能帮助用户 197

7.4 使用Spinner控件让用户选择 199

7.5 使用Button和Switch允许用户进行简单的选择 201

7.5.1 使用基本Button 202

7.5.2 使用CheckBox和ToggleButton控件 205

7.5.3 使用RadioGroup和RadioButton 206

7.6 使用Pickers来获取用户的数据、时间和数字 209

7.7 使用指示控件来给用户显示进度和活动 212

7.7.1 使用ProgressBar指示进度 212

7.7.2 使用Activity Bars和Activity Circles来指示Activity 214

7.8 使用SeekBar调整进度 215

7.9 其他有价值的用户界面控件 216

7.9.1 使用RatingBar显示评价数据 216

7.9.2 使用Chronometer显示时间的流逝 217

7.9.3 显示时间 218

7.10 总结 220

7.11 小测验 220

7.12 练习 220

7.13 参考资料和更多信息 221

第8章 布局设计 223

8.1 在Android中创建用户界面 223

8.1.1 使用XML资源文件创建布局 223

8.1.2 使用编程方式创建布局 225

8.2 组织你的用户界面 228

8.2.1 使用ViewGroup子类来设计布局 229

8.2.2 使用ViewGroup子类作为View容器 229

8.3 使用内置的布局类 230

8.3.1 使用LinearLayout 232

8.3.2 使用RelativeLayout 234

8.3.3 使用FrameLayout 237

8.3.4 使用TableLayout 240

8.3.5 使用GridLayout 242

8.3.6 在屏幕上使用多个布局 246

8.4 使用容器控件类 247

8.4.1 使用数据驱动的容器 247

8.4.2 添加滚动支持 252

8.4.3 探索其他View容器 253

8.5 总结 254

8.6 小测验 254

8.7 练习 255

8.8 参考资料和更多信息 255

第9章 用Fragment分割用户界面 257

9.1 理解Fragment 257

9.1.1 了解Fragment的生命周期 259

9.1.2 使用特殊类型的Fragment 262

9.1.3 设计基于Fragment的应用 263

9.2 使用Android支持包 272

9.2.1 为以前的应用添加Fragment支持 272

9.2.2 在新应用中使用Fragment针对于旧平台 273

9.2.3 将Android支持包链接到你的项目 273

9.3 探索嵌套的Fragment 274

9.4 总结 275

9.5 小测验 275

9.6 练习 276

9.7 参考资料和更多信息 276

第10章 显示对话框 279

10.1 选择你的Dialog实现方式 279

10.2 探索不同类型的Dialog 280

10.3 使用Dialog和Dialog Fragment 282

10.3.1 跟踪Dialog和DialogFragment的生命周期 282

10.3.2 使用自定义Dialog 285

10.4 使用支持包中的Dialog Fragment 286

10.5 总结 289

10.6 小测验 290

10.7 练习 290

10.8 参考资料和更多信息 290

Ⅳ Android应用设计要点 293

第11章 使用Android首选项 295

11.1 使用应用首选项 295

11.1.1 确定首选项是否合适 295

11.1.2 存储不同类型的首选项值 296

11.1.3 创建一个Activity私有的首选项设置 296

11.1.4 创建多个Activity共享的首选项设置 297

11.1.5 搜索和读取首选项设置 297

11.1.6 添加、更新和删除首选项设置 298

11.1.7 首选项修改时的反应 300

11.2 在Android文件系统中查找首选项数据 300

11.3 创建可管理的用户首选项 301

11.3 创建一个首选项资源文件 301

11.3.2 使用PreferenceActivity类 304

11.3.3 组织首选项设置的标头 308

11.4 了解Android应用的云存储 312

11.5 总结 312

11.6 小测验 312

11.7 练习 313

11.8 参考资料和更多信息 313

第12章 使用文件和目录 315

12.1 使用设备的应用程序数据 315

12.2 实现良好的文件管理 316

12.3 了解Android系统的文件权限 317

12.4 使用文件和目录 318

12.4.1 探索Android应用程序目录 319

12.4.2 使用Android文件系统上的其他目录和文件 325

12.5 总结 327

12.6 小测验 327

12.7 练习 328

12.8 参考资料和更多信息 328

第13章 使用内容提供者 329

13.1 探索Android的内容提供者 329

13.1.1 使用MediaStore内容提供者 330

13.1.2 使用CallLog内容提供者 332

13.1.3 使用浏览器内容提供者 334

13.1.4 使用CalendarContract内容提供者 336

13.1.5 使用UserDictionary内容提供者 336

13.1.6 使用VoicemailContract内容提供者 336

13.1.7 使用Settings内容提供者 337

13.1.8 ContactsContract内容提供者的介绍 337

13.2 修改内容提供者数据 340

13.2.1 添加记录 340

13.2.2 更新记录 341

13.2.3 删除记录 342

13.3 使用第三方的内容提供者 343

13.4 总结 344

13.5 小测验 344

13.6 练习 344

13.7 参考资料和更多信息 345

第14章 设计兼容的应用 347

14.1 最大程度提供应用程序兼容性 347

14.2 设计兼容的用户界面 350

14.2.1 使用Fragment 351

14.2.2 使用Android支持库 351

14.2.3 支持特定的屏幕类型 352

14.2.4 使用Nine-Patch可缩放图形 353

14.2.5 使用“工作区块”原则 353

14.3 提供替代应用程序资源 354

14.3.1 了解资源是如何被解析的 355

14.3.2 使用限定符组织替代资源 356

14.3.3 为不同屏幕方向提供资源 361

14.3.4 在程序中使用替代资源 363

14.3.5 高效地组织应用程序资源 363

14.4 针对平板、电视和其他新设备 364

14.4.1 针对平板设备 364

14.4.2 针对Google电视设备 365

14.5 针对Google Chromecast设备 367

14.6 总结 367

14.7 小测验 367

14.8 练习 368

14.9 参考资料和更多信息 368

Ⅴ 发布和部署Android应用程序 371

第15章 学习Android软件开发流程 373

15.1 移动端开发流程概述 373

15.2 选择正确的软件方法论 374

15.2.1 理解瀑布流(Waterfall)模式的危险性 374

15.2.2 理解迭代的价值 375

15.3 收集应用程序的需求 375

15.3.1 明确项目需求 375

15.3.2 为移动端应用程序编写用例 378

15.3.3 结合第三方的需求和建议 379

15.3.4 管理设备数据库 380

15.4 评估项目风险 383

15.4.1 确认目标设备 383

15.4.2 获取目标设备 385

15.4.3 判断应用程序需求的可行性 386

15.4.4 理解质量保证(QA)的风险 387

15.5 编写至关重要的项目文档 388

15.5.1 为保证产品质量而制定测试计划 389

15.5.2 为第三方提供需要的文档 389

15.5.3 为维护和移植提供文档 390

15.6 运用配置管理系统 390

15.6.1 选择一个合适的源码控制系统 390

15.6.2 实现一个可用的应用程序版本系统 390

15.7 设计移动应用程序 391

15.7.1 理解移动设备的资源限制 391

15.7.2 研究通用的移动应用程序架构 391

15.7.3 为可扩展性和可维护性而设计 392

15.7.4 设计应用程序的互通性 394

15.8 开发移动端应用程序 394

15.9 测试移动端应用程序 395

15.9.1 控制测试版的发布 395

15.10 部署移动应用程序 396

15.10.1 选取目标市场 397

15.11 支持和维护移动应用程序 397

15.11.1 跟踪并解决用户提交的宕机报告 398

15.11.2 测试固件升级 398

15.11.3 维护应用程序文档 398

15.11.4 管理服务器的实时变化 398

15.11.5 鉴别低风险的移植机会 398

15.11.6 应用程序功能特性的选择 399

15.12 总结 399

15.13 小测验 399

15.14 练习 399

15.15 参考资料和更多信息 400

第16章 设计和开发可靠的Andriod应用程序 401

16.1 设计可靠的移动应用程序的最佳实践 401

16.1.1 满足移动端用户的需求 402

16.1.2 为移动设备设计用户交互界面 402

16.1.3 设计稳定并且响应迅速的移动应用程序 404

16.1.4 设计安全的移动应用程序 405

16.1.5 如何将应用程序利润最大化 406

16.1.6 遵循Android应用程序的质量指导方针 407

16.1.7 利用第三方的质量标准 408

16.1.8 开发易于维护和升级的移动应用程序 408

16.1.9 利用应用程序诊断手段 409

16.1.10 设计便于升级的应用程序 410

16.1.11 利用Android的工具辅助应用程序的设计 411

16.2 避免在Android应用程序设计中犯低级错误 411

16.3 开发可靠移动应用程序的最佳实践 412

16.3.1 设计适用于移动端的研发流程 412

16.3.2 尽早并经常测试应用程序的可行性 412

16.3.3 使用编码标准,审阅以及单元测试来改进代码质量 413

16.3.4 处理单个设备中出现的缺陷 416

16.3.5 利用Android提供的工具来做开发 417

16.3.6 避免在Android应用程序开发中犯低级错误 417

16.4 总结 418

16.5 小测验 418

16.6 练习 418

16.7 参考资料和更多信息 419

第17章 提升Android应用程序的用户体验 421

17.1 思考目标 421

17.1.1 用户目标 422

17.1.2 小组目标 422

17.1.3 其他股东的目标 423

17.2 集中研发精力的一些技巧 423

17.2.1 人物角色 423

17.2.2 发现和组织个体 424

17.2.3 用例和用例图 425

17.3 绘制应用程序的功能导航图 426

17.3.1 Android应用程序的导航场景 426

17.3.2 执行任务(Tasks)以及在Back Stack中导航 430

17.3.3 在Fragments间导航 430

17.3.4 规划应用程序导航 431

17.3.5 Android的导航设计模式 433

17.4 引导用户使用应用程序 438

17.4.1 菜单 438

17.4.2 操作栏 438

17.4.3 对话框 443

17.4.4 从应用程序内容中发起的操作 443

17.5 塑造应用程序的个性 444

17.6 针对不同屏幕的布局设计 445

17.7 正确处理视觉反馈 446

17.8 观察程序的可用性 446

17.8.1 应用程序的仿制 447

17.8.2 测试发布版本 448

17.9 总结 448

17.10 小测验 448

17.11 练习 449

17.12 参考和更多信息 449

第18章 测试Android应用程序 451

18.1 测试移动应用程序的最佳实践 451

18.1.1 设计移动应用程序的问题追踪系统 451

18.1.2 管理测试环境 453

18.1.3 让测试覆盖率最大化 456

18.1.4 利用Android的SDK工具来做应用程序测试 464

18.1.5 避免Android应用程序测试中的一些低级错误 465

18.2 Android应用程序测试精要 466

18.2.1 利用JUnit进行单元测试 467

18.2.2 PasswordMatcher应用程序入门 468

18.2.3 确认测试的预期结果 471

18.2.4 创建一个Android测试工程 472

18.2.5 编写测试代码 479

18.2.6 添加其他测试用例 485

18.3 更多Android自动化测试程序和API 488

18.4 总结 488

18.5 小测验 489

18.6 练习 489

18.7 参考资料和更多信息 489

第19章 发布你的Android应用程序 491

19.1 选择正确的分发模型 491

19.1.1 保护你的知识产权 492

19.1.2 遵循Google Play的政策 493

19.1.3 向用户收费 493

19.2 为即将发布的应用程序打包 494

19.2.1 为打包工作准备好代码 495

19.2.2 打包应用程序并签名 497

19.2.3 测试用于发布的应用程序包 500

19.3 在GooglePlay中发布程序 501

19.3.1 将你的应用程序上传到Google Play中 505

19.3.2 上传应用程序营销相关的资源 506

19.3.3 配置定价和发布详情 508

19.3.4 配置额外的应用程序选项 509

19.3.5 管理其他开发者控制台选项 509

19.3.6 将应用程序发布到Google Play中 510

19.3.7 在Google Play中管理应用程序 510

19.4 Google Play平台上的“阶段性展示产品” 511

19.5 通过Google Play的私有渠道发布程序 512

19.6 翻译你的应用程序 512

19.7 通过其他方式发布应用程序 512

19.8 自行发布应用程序 513

19.9 总结 515

19.10 小测验 515

19.11 练习 516

19.12 参考资料和更多信息 516

Ⅵ 附录 517

附录A 掌握Android开发工具 519

A.1 使用Android文档 520

A.2 利用Android模拟器 523

A.3 通过LogCat查看应用程序日志 524

A.4 利用DDMS来调试应用程序 525

A.5 使用Android调试桥(ADB) 526

A.6 使用资源编辑器和UI设计器 527

A.7 使用Android的“层级浏览器” 529

A.7.1 启动层级浏览器 531

A.7.2 在布局视图模式下工作 531

A.7.3 优化你的用户接口 533

A.7.4 在“像素级”模式下工作 533

A.8 利用Nine-Patch可拉伸图像 534

A.9 使用其他的Android工具 537

A.10 总结 540

A.11 小测验 540

A.12 练习 540

A.13 参考资料和更多信息 541

附录B 快速入手指南:Android模拟器 543

B.1 模拟现实世界:模拟器的用途 543

B.2 使用Android虚拟设备 545

B.2.1 使用Android虚拟设备管理器 547

B.2.2 创建一个AVD 547

B.2.3 定制AVD的硬件配置 549

B.3 以特定的AVD配置启动模拟器 550

B.3.1 维护模拟器性能 551

B.3.2 配置模拟器的启动参数 552

B.3.3 启动模拟器来运行应用程序 552

B.3.4 从Android虚拟设备管理器中启动一个模拟器 555

B.4 配置模拟器的GPS位置 555

B.5 在两个模拟器实例间互相通话 556

B.6 在两个模拟器实例间发送短信 559

B.7 通过控制台来与模拟器进行交互 560

B.7.1 使用控制台来模拟来电 560

B.7.2 使用控制台来模拟SMS信息 560

B.7.3 使用控制台来发送GPS坐标 562

B.7.4 使用控制台来监视网络状态 562

B.7.5 使用控制台来操纵电源设置 563

B.7.6 使用控制台的其他命令 564

B.8 享受模拟器的功能 564

B.9 理解模拟器的限制 565

B.10 总结 566

B.11 小测验 566

B.12 练习 567

B.13 参考资料和更多信息 567

附录C 快速入手指南:Android DDMS 569

C.1 将DDMS作为独立程序和Android IDE配合使用 569

C.2 使用DDMS的核心功能 571

C.3 与进程、线程和堆进行交互工作 571

C.3.1 为Android应用程序关联一个调试器 572

C.3.2 终止进程 572

C.3.3 监视Android应用程序的线程活动 572

C.3.4 监视堆的活动 573

C.3.5 执行垃圾回收 574

C.3.6 创建并使用一个HPROF文件 575

C.4 使用内存分配追踪器 576

C.5 观察网络数据 577

C.6 使用File Explorer 577

C.6.1 浏览模拟器或者设备的文件系统 578

C.6.2 从模拟器或者设备中复制文件 579

C.6.3 将文件传送到模拟器或者设备中 580

C.6.4 从模拟器或者设备中删除文件 580

C.7 使用Emulator Control 580

C.7.1 改变电话状态 581

C.7.2 模拟语音来电 581

C.7.3 模拟SMS来信 582

C.7.4 发送坐标修正信息 583

C.8 使用System Information 583

C.9 为模拟器和设备执行截屏操作 584

C.10 使用应用程序的日志追踪功能 585

C.11 总结 586

C.12 小测验 586

C.13 练习 586

C.14 参考资料和更多信息 586

附录D Android IDE和Eclipse使用技巧 589

D.1 正确组织你的Android IDE工作区 589

D.1.1 集成源码控制服务 589

D.1.2 重新调整各视图栏的位置 590

D.1.3 最大化窗口 590

D.1.4 最小化窗口 591

D.1.5 并排浏览窗口 591

D.1.6 查看同一个文件的两个不同区域 591

D.1.7 关闭不需要的页面 593

D.1.8 让窗口可控 593

D.1.9 创建定制的日志过滤条件 593

D.1.10 搜索你的工程 594

D.1.11 组织Android IDE任务 594

D.2 使用Java语言来编程 595

D.2.1 使用自动完成功能 595

D.2.2 创建新的类和方法 595

D.2.3 导入(Imports)功能 596

D.2.4 格式化代码 596

D.2.5 为几乎所有事物重命名 597

D.2.6 重构代码 597

D.2.7 重新组织代码 599

D.2.8 使用快速修正功能 599

D.2.9 提供Javadoc风格的文档 600

D.3 解决某些诡异的编译错误 600

D.4 总结 601

D.5 小测验 601

D.6 练习 601

D.7 参考资料和更多信息 601

附录E 小测验答案 603

返回顶部