Android应用程序开发权威指南(第四版)txt,chm,pdf,epub,mobi下载 作者:【美】Joseph Annuzzi Jr./Lauren Darcey/Shane Conder 出版社: 电子工业出版社 原作名: Introduction to Android Application Development: Android Essentials 译者:林学森/周昊来 出版年: 2015-3 页数: 644 定价: 118.00元 装帧: 平装 ISBN: 9787121251993 内容简介 · · · · · ·《Android应用程序开发权威指南(第四版)》是Android应用程序开发领域的权威之作,由Android系统的资深专家执笔,深入浅出地讲解了Android应用程序开发平台的搭建、Android应用程序开发过程中的点点滴滴,以及应用程序发布的技术要点。书中配有大量的注释和图片来引导读者学习。 《Android应用程序开发权威指南(第四版)》不仅适合Android应用程序开发工程师阅读,也是系统工程师、测试工程师、项目经理的必备宝典。 目录 · · · · · ·致谢 xxvii作者简介 xxix 引言 1 I Android 平台概述 9 第1 章 Android 简介 11 1.1 移动软件开发简史 11 · · · · · ·() 致谢 xxvii 作者简介 xxix 引言 1 I 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 Android SDK 的问题 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 II Android 应用程序基础 99 第4 章 了解Android 应用结构 101 4.1 掌握重要的Android 术语 101 viii Android 应用程序开发权威指南(第四版) 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 III 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 IV 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.1 创建一个首选项资源文件 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 V 发布和部署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 在Google Play 中发布程序 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 VI 附录 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 · · · · · · () |
这本书让我生气了,知道了。
值得一看
通俗易懂的语言描述出来
他的书必买,烧脑,值得珍藏