《Android 6开发秘籍 第5版》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:小约瑟夫·安妮兹
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:7302455811
  • 页数:565 页
图书介绍:

第1部分 Android平台概述 3

第1章 Android概述 3

1.1 Android开源项目(AOSP) 3

1.2 开放手机联盟 4

1.2.1 Google进入移动市场 4

1.2.2 开放手机联盟介绍 4

1.2.3 加入开放手机联盟 5

1.2.4 制造商:设计Android设备 5

1.2.5 移动运营商:提供Android体验 5

1.2.6 应用驱动设备的销售:开发Android应用 6

1.2.7 利用所有Android设备的优势 6

1.2.8 Android:我们现在取得的进展 7

1.3 Android平台的独特性 7

1.3.1 Android的由来 8

1.3.2 自由和开放源代码 8

1.3.3 熟悉且廉价的开发工具 9

1.3.4 合理的开发学习曲线 9

1.3.5 功能强大的应用开发支持 9

1.3.6 丰富和安全的应用集成 10

1.3.7 没有昂贵的开发费用 10

1.3.8 应用的“自由市场” 10

1.3.9 一个不断发展的平台 11

1.4 Android平台 11

1.4.1 Android的底层架构 11

1.4.2 安全和权限 13

1.4.3 探索Android应用 14

1.5 OHA和GMS之外的Android版本 17

1.5.1 Amazon Fire OS 17

1.5.2 Cyanogen OS和CyanogenMod 17

1.5.3 Maker Movement和开源硬件 18

1.5.4 保持警觉 18

1.6 本章小结 18

1.7 小测验 18

1.8 练习题 19

1.9 参考资料和更多信息 19

第2章 设置开发环境 21

2.1 配置你的开发环境 21

2.1.1 配置操作系统以便进行设备调试 24

2.1.2 配置Android硬件以便进行调试 24

2.1.3 更新Android Studio 26

2.1.4 更新Android SDK 26

2.1.5 Android Studio存在的问题 27

2.1.6 Android SDK存在的问题 27

2.1.7 Android Studio的替代者:IntelliJ IDEA 27

2.2 探索Android SDK 28

2.2.1 了解Android SDK许可协议 28

2.2.2 阅读Android SDK文档 29

2.2.3 探索Android应用框架核心 30

2.2.4 探索Android核心工具 31

2.2.5 探索Android示例应用 35

2.3 本章小结 36

2.4 小测验 37

2.5 练习题 37

2.6 参考资料和更多信息 37

第3章 创建第一个Android应用 39

3.1 测试开发环境 39

3.1.1 在Android Studio中导入BorderlessButtons示例 40

3.1.2 使用预装的AVD运行BorderlessButtons项目 42

3.1.3 在Android模拟器中运行BorderlessButtons应用 42

3.2 构建第一个Android应用 44

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

3.2.2 了解Android符号视图和传统Project视图 48

3.2.3 Android应用的核心文件和目录 49

3.2.4 在模拟器中运行Android应用 50

3.2.5 在模拟器中调试Android应用 52

3.2.6 为Android应用增加日志记录 55

3.2.7 在硬件设备上调试应用 57

3.3 本章小结 58

3.4 小测验 59

3.5 练习题 59

3.6 参考资料和更多信息 59

第Ⅱ部分 应用基础 63

第4章 理解应用组件 63

4.1 掌握重要的Android术语 63

4.2 应用Context 64

4.2.1 获取应用Context 64

4.2.2 使用应用Context 64

4.3 使用Activity执行应用任务 65

4.4 使用Fragment组织Activity组件 71

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

4.5.1 通过Intent切换Activity 73

4.5.2 通过Activity、Fragment和Intent来组织应用导航 75

4.6 使用服务 75

4.7 接收和广播Intent 76

4.8 本章小结 77

4.9 小测验 77

4.10 练习题 77

4.11 参考资料和更多信息 78

第5章 定义清单文件 79

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

5.2 管理应用ID 82

5.3 设置应用的系统需求 83

5.3.1 设置应用的平台需求 84

5.3.2 其他应用配置设置和过滤器 86

5.4 在Android清单文件注册Activity 86

5.4.1 使用Intent过滤器为应用指定主入口Activity 87

5.4.2 配置其他Intent过滤器 87

5.4.3 注册其他应用组件 88

5.5 访问权限 88

5.5.1 注册应用所需的权限 89

5.5.2 注册应用强制的权限 91

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

5.7 本章小结 93

5.8 小测验 93

5.9 练习题 93

5.10 参考资料和更多信息 94

第6章 管理应用的资源 95

6.1 资源的含义 95

6.1.1 存储应用资源 95

6.1.2 资源类型 96

6.1.3 以编程方式访问资源 99

6.2 在Android Studio中添加简单的资源值 100

6.3 使用不同类型的资源 103

6.3.1 使用字符串资源 103

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

6.3.3 使用带数量的字符串 105

6.3.4 使用字符串数组 106

6.3.5 使用布尔类型资源 107

6.3.6 使用整型资源 108

6.3.7 使用颜色资源 108

6.3.8 使用尺寸资源 109

6.3.9 以编程方式使用尺寸资源 110

6.3.10 可绘制资源 110

6.3.11 使用图像 112

6.3.12 使用颜色状态列表 114

6.3.13 使用动画 115

6.3.14 使用菜单 117

6.3.15 使用XML文件 119

6.3.16 使用原始文件 119

6.3.17 引用资源 120

6.4 使用布局 122

6.4.1 在Android Studio中设计布局 123

6.4.2 以编程方式使用布局资源 125

6.5 引用系统资源 126

6.6 本章小结 127

6.7 小测验 127

6.8 练习题 127

6.9 参考资料和更多信息 128

第7章 探讨构建块 129

7.1 Android视图和布局介绍 129

7.1.1 Android视图 129

7.1.2 Android控件 129

7.1.3 Android布局 130

7.2 使用TextView向用户显示文本 130

7.2.1 配置布局和大小 131

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

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

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

7.3.2 使用输入过滤器限制用户输入 135

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

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

7.5 使用Button和Switch允许用户简单选择 139

7.5.1 使用基本Button 140

7.5.2 使用CheckBox和ToggleButton控件 142

7.5.3 使用RadioGroup和RadioButton 143

7.6 使用Picker获取日期、时间和数字 145

7.7 使用Indicator为用户显示进度和活动 148

7.7.1 使用ProgressBar指示进度 148

7.7.2 向AetionBar添加进度指示器 149

7.7.3 使用Activity Bar和Activity Circle指示Activity 150

7.8 使用SeekBar调整进度 151

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

7.9.1 使用RatingBar显示评分数据 152

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

7.9.3 显示时间 154

7.9.4 使用VideoView播放视频 155

7.10 本章小结 156

7.11 小测验 156

7.12 练习题 156

7.13 参考资料和更多信息 157

第8章 布局设计 159

8.1 在Android中创建用户界面 159

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

8.1.2 以编程方式创建布局 161

8.2 组织用户界面 164

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

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

8.3 使用内置的布局类 165

8.3.1 使用LinearLayout 167

8.3.2 使用RelativeLayout 168

8.3.3 使用FrameLayout 171

8.3.4 使用TableLayout 173

8.3.5 使用GridLayout 176

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

8.4 使用容器控件类 180

8.4.1 使用数据驱动的容器 180

8.4.2 添加滚动支持 184

8.4.3 探索其他View容器 185

8.5 本章小结 186

8.6 小测验 186

8.7 练习题 187

8.8 参考资料和更多信息 187

第9章 用Fragment拆分用户界面 189

9.1 理解Fragment 189

9.1.1 了解Fragment的生命周期 191

9.1.2 管理Fragment修改 191

9.1.3 使用特殊类型的Fragment 192

9.1.4 设计基于Fragment的应用 193

9.2 使用Android支持库包 202

9.2.1 为旧应用添加Fragment支持 202

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

9.2.3 将Android支持包链接到项目 203

9.3 使用Fragment的其他方式 204

9.3.1 没有用户界面的行为Fragment 205

9.3.2 探索嵌套的Fragment 205

9.4 本章小结 205

9.5 小测验 205

9.6 练习题 206

9.7 参考资料和更多信息 206

第Ⅲ部分 应用设计基础 211

第10章 架构设计模式 211

10.1 应用的导航架构 211

10.1.1 Android应用导航场景 212

10.1.2 启动任务和导航回退栈 214

10.1.3 Fragment导航 215

10.1.4 屏幕之间的关系 215

10.1.5 Android导航设计模式 216

10.2 引导操作 223

10.2.1 菜单 223

10.2.2 操作栏 223

10.2.3 浮动操作按钮 227

10.2.4 来自应用上下文的操作 229

10.2.5 对话框 229

10.3 本章小结 237

10.4 小测验 237

10.5 练习题 237

10.6 参考资料和更多信息 237

第11章 使用样式 239

11.1 样式支持 239

11.2 主题和样式 240

11.2.1 定义默认应用主题 240

11.2.2 主题和样式继承 241

11.3 颜色 242

11.4 布局 243

11.4.1 合并与包含 244

11.4.2 TextInputLayout 245

11.4.3 FloatingActionButton 245

11.4.4 工具栏作为底部栏 246

11.5 应用个性化 247

11.6 运用后的效果 249

11.7 排版 250

11.8 本章小结 251

11.9 小测验 252

11.10 练习题 252

11.11 参考资料和更多信息 252

第12章 材质设计 255

12.1 理解材质 255

12.2 默认材质主题 256

12.3 SampleMaterial应用 256

12.4 实现SampleMaterial应用 257

12.4.1 依赖 257

12.4.2 材质支持样式 257

12.4.3 显示List中的数据集 257

12.5 本章小结 282

12.6 小测验 282

12.7 练习题 283

12.8 参考资料和更多信息 283

第13章 设计兼容的应用 285

13.1 最大化应用的兼容性 285

13.2 设计兼容的用户界面 287

13.2.1 使用Fragments 288

13.2.2 使用各种Android支持库API 288

13.2.3 支持特定的屏幕类型 289

13.2.4 使用九宫格可拉伸图形 289

13.3 提供替代应用资源 290

13.3.1 了解资源是如何被解析的 290

13.3.2 使用限定符组织替代资源 291

13.3.3 为不同屏幕方向提供资源 296

13.3.4 以编程方式使用替代资源 298

13.3.5 高效组织应用的资源 299

13.4 平板、电视设备 299

13.4.1 针对平板设备 300

13.4.2 针对电视设备 300

13.5 让应用兼容手表和汽车 302

13.6 使用SafetyNet保证兼容性 302

13.7 本章小结 303

13.8 小测验 304

13.9 练习题 304

13.10 参考资料和更多信息 304

第Ⅳ部分 应用开发基础 309

第14章 使用Android首选项 309

14.1 使用应用首选项 309

14.1.1 确定首选项是否合适 309

14.1.2 保存不同类型的首选项值 310

14.1.3 创建Activity私有的首选项 310

14.1.4 创建多个Activity使用的共享首选项 310

14.1.5 查找和读取首选项 311

14.1.6 添加、更新和删除首选项 311

14.1.7 监听首选项的变化 312

14.2 在文件系统中定位首选项数据 312

14.3 创建可管理的用户首选项 313

14.3.1 创建首选项资源文件 314

14.3.2 使用PreferenceActivity类 316

14.3.3 通过标头管理首选项 318

14.4 自动备份Android应用 321

14.5 本章小结 322

14.6 小测验 322

14.7 练习题 323

14.8 参考资料和更多信息 323

第15章 访问文件和目录 325

15.1 使用设备上的应用数据 325

15.2 实现良好的文件管理 326

15.3 了解Android系统中的文件权限 326

15.4 使用文件和目录 327

15.4.1 探索Android应用的目录 328

15.4.2 使用Android文件系统中的其他目录和文件 332

15.5 本章小结 335

15.6 小测验 335

15.7 练习题 335

15.8 参考资料和更多信息 336

第16章 使用SQLite保存数据 337

16.1 使用SQLite升级SampleMaterial应用 337

16.2 使用数据库 337

16.2.1 提供数据访问 339

16.2.2 更新SampleMaterialActivity类 340

16.2.3 更新SampleMaterialAdapter构造函数 341

16.2.4 在主UI线程以外执行数据库操作 342

16.2.5 在数据库中创建卡片 343

16.2.6 获取所有卡片 344

16.2.7 添加新卡片 345

16.2.8 更新卡片 346

16.2.9 删除卡片 347

16.3 本章小结 348

16.4 小测验 349

16.5 练习题 349

16.6 参考资料和更多信息 349

第17章 使用内容提供者 351

17.1 探索Android的内容提供者 351

17.1.1 使用Mediastore内容提供者 352

17.1.2 使用CallLog内容提供者 355

17.1.3 使用CalendarContract内容提供者 356

17.1.4 使用UserDictionary内容提供者 357

17.1.5 使用VoicemaillContract内容提供者 357

17.1.6 使用Settings内容提供者 357

17.1.7 介绍ContactsContract内容提供者 357

17.2 修改内容提供者数据 360

17.2.1 添加记录 360

17.2.2 更新记录 361

17.2.3 删除记录 362

17.3 使用第三方内容提供者 363

17.4 本章小结 363

17.5 小测验 364

17.6 练习 364

17.7 参考资料和更多信息 364

第V部分 应用交付基础 369

第18章 学习开发工作流 369

18.1 Android开发流程概览 369

18.2 选择正确的软件方法论 370

18.2.1 理解瀑布开发模式的危险性 370

18.2.2 理解迭代的价值 370

18.3 收集应用的需求 371

18.3.1 明确项目需求 371

18.3.2 为Android应用编写用例 373

18.3.3 结合第三方的需求和建议 374

18.3.4 维护一个设备数据库 374

18.4 评估项目风险 377

18.4.1 确定目标设备 377

18.4.2 获取目标设备 379

18.4.3 确定应用需求的可行性 379

18.4.4 理解QA的风险 380

18.5 编写重要的项目文档 381

18.5.1 为保证产品质量制定测试计划 381

18.5.2 为第三方提供需要的文档 382

18.5.3 为维护和移植提供文档 382

18.6 使用配置管理系统 382

18.6.1 选择源码管理系统 382

18.6.2 实现一个可用的应用版本系统 382

18.7 设计Android应用 383

18.7.1 理解设备的资源限制 383

18.7.2 探讨通用的Android应用架构 383

18.7.3 设计应用的可扩展性和易维护性 384

18.7.4 设计应用间的通信方式 385

18.8 开发Android应用 385

18.9 测试Android应用 386

18.10 部署Android应用 387

18.11 支持和维护Android应用 387

18.11.1 跟踪并解决用户提交的崩溃报告 388

18.11.2 测试固件升级 388

18.11.3 维护详细的应用文档 388

18.11.4 管理服务端的在线变化 388

18.11.5 识别低风险的移植机会 388

18.11.6 应用功能的选择 389

18.12 本章小结 389

18.13 小测验 389

18.14 练习题 389

18.15 参考资料和更多信息 389

第19章 规划用户体验 391

19.1 思考目标 391

19.1.1 用户目标 391

19.1.2 团队目标 392

19.1.3 其他利益相关者的目标 392

19.2 集中研发精力的一些技巧 392

19.2.1 人物角色 393

19.2.2 用户故事图谱 393

19.2.3 发现和组织实体 394

19.2.4 规划用户交互 394

19.3 传递应用标识 395

19.4 设计屏幕的布局 396

19.4.1 草稿图 396

19.4.2 线框图 397

19.4.3 综合设计图 397

19.5 正确处理视觉反馈 397

19.6 观察目标用户 398

19.6.1 应用仿真模型 398

19.6.2 测试发布版本 399

19.7 本章小结 399

19.8 小测验 399

19.9 练习题 400

19.10 参考资料和更多信息 400

第20章 交付质量可靠的应用 401

20.1 设计可靠应用的最佳实践 401

20.1.1 满足Android用户的需求 402

20.1.2 为Android设备设计用户界面 402

20.1.3 设计稳定并即时响应的Android应用 403

20.1.4 设计安全的Android应用 404

20.1.5 将应用利润最大化 405

20.1.6 遵循Android应用的质量指导方针 405

20.1.7 采用第三方质量标准 407

20.1.8 开发易于维护和升级的Android应用 407

20.1.9 利用Android的工具辅助应用的设计 409

20.2 避免在Android应用中犯低级错误 409

20.3 开发可靠Android应用的最佳实践 409

20.3.1 设计适用于Android开发的研发流程 410

20.3.2 尽早并经常测试应用的可行性 410

20.3.3 使用编码标准、审阅及单元测试来改进代码质量 410

20.3.4 处理单个设备中出现的缺陷 412

20.3.5 利用Android工具来开发 413

20.3.6 避免在Android应用开发中犯低级错误 413

20.4 本章小结 414

20.5 小测验 414

20.6 练习 414

20.7 参考资料和更多信息 414

第21章 测试应用 417

21.1 测试移动应用的最佳实践 417

21.1.1 设计移动应用的缺陷追踪系统 417

21.1.2 管理测试环境 419

21.1.3 让测试覆盖率最大化 421

21.1.4 利用Android的SDK工具来测试应用 427

21.1.5 避免Android应用测试中的一些低级错误 428

21.2 Android应用测试精要 428

21.2.1 利用JUnit进行单元测试 429

21.2.2 PasswordMatcher应用简介 430

21.2.3 确认测试的预期结果 433

21.2.4 为测试代码创建一个运行配置 433

21.2.5 编写测试代码 436

21.2.6 在Android Studio中运行你的第一个测试 438

21.2.7 分析测试结果 438

21.2.8 添加其他测试 439

21.3 更多Android自动化测试程序和API 442

21.4 本章小结 442

21.5 小测验 443

21.6 练习题 443

21.7 参考资料和更多信息 443

第22章 分发应用 445

22.1 选择正确的分发模型 445

22.1.1 保护你的知识产权 446

22.1.2 遵循Google Play的政策 446

22.1.3 向用户收费 447

22.2 为即将发布的应用打包 448

22.2.1 为打包工作准备好代码 448

22.2.2 打包应用并签名 450

22.2.3 测试用于发布的应用包 453

22.2.4 包含所有需要的资源 453

22.2.5 准备好你的服务器或者服务 453

22.2.6 发布应用 453

22.3 在Google Play中发布应用 453

22.3.1 登录Google Play 454

22.3.2 将应用上传到Google Play 457

22.3.3 上传应用营销相关的资源 458

22.3.4 配置定价和发布详情 458

22.3.5 配置额外的应用选项 459

22.3.6 管理其他开发人员控制台选项 460

22.3.7 将应用发布到Google Play 460

22.3.8 在Google Play中管理应用 461

22.4 Google Play上的阶段性展示产品 462

22.5 通过Google Play私有渠道发布应用 462

22.6 翻译应用 462

22.7 通过其他方式发布应用 463

22.8 自行发布应用 464

22.9 本章小结 465

22.10 小测验 465

22.11 练习题 465

22.12 参考资料和更多信息 466

第Ⅵ部分 附录 469

附录A 提示与技巧:Android Studio 469

附录B 快速入门指南:Android模拟器 481

附录C 快速入门指南:Android设备监视器 507

附录D 精通Android SDK工具 523

附录E 快速入门:Gradle构建系统 539

附录F 小测验答案 557