书籍详情
《Android应用程序开发权威指南》[31M]百度网盘|亲测有效|pdf下载
  • Android应用程序开发权威指南

  • 出版社:电子工业出版社
  • 出版时间:2015-03
  • 热度:9774
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

编辑推荐

  

  本书被誉为实用的构建健壮和商用级别Android应用程序的指南书籍。本书的内容已修订并更新,用以适配新的Android 4.3 SDK版本以及包含新的开发实践。
  本书涵盖了新Android设备快速开发专业级应用所需要的所有内容。三位专家级开发人员安尼兹、达西、康德将指导你如何配置开发环境、设计用户界面、为不同硬件设备开发应用,以及优化你应用程序的整个开发流程——从设计到发布。
  本书进行了全面的升级,覆盖了实用的Android工具和实用程序。该版本增加了全新的一章,关于如何规划一个出色的Android应用程序的用户体验。 此外,本书还包括了大量全新的单元测试、对话框,以及应用发布的章节。全书的关键概念都配有清晰且新的示例代码。本次修订版包括:全面更新新的Android 4.3 API、工具、实用程序和实践的介绍;使用全新Android功能并保持兼容性的新策略;能提供更为直观用户体验的导航模式及示例代码;基于示例代码的ActionBar、DialogFragrnent,以及其他关键概念;用于快速提高代码质量的专业自动测试技术;Google Play开发者控制台中的全新应用程序发布技巧,以及更多的控制选项。

内容简介

  
  本书是Android应用程序开发领域之作。它由Android系统的资深专家执笔,深入浅出地讲解了Android应用程序开发平台的搭建、Android应用程序开发过程中的点点滴滴,以及应用程序发布的技术要点。书中配有大量的注释和图片来引导读者学习。

作者简介

  林学森,香港中文大学计算机硕士,畅销书《深入理解Android内核设计思想》作者。曾于多家跨国企业担任研发和管理工作,并已在国内外会议、杂志上发表多篇一作文章。具备丰富的技术研发与项目管理经验,擅长操作系统架构设计与内核分析。现为某世界五百强企业特聘专家。

目录

致谢 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
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
......
第14章 设计兼容的应用 347
......
第15章 学习Android软件开发流程 373
......
第16章 设计和开发可靠的Andriod应用程序 401
......
第17章 提升Android应用程序的用户体验 421
......
第18章 测试Android应用程序 451
......
第19章 发布你的Android应用程序 491
......
VI 附录 517
附录A 掌握Android开发工具 519
附录B 快速入手指南:Android模拟器 543
附录C 快速入手指南:Android DDMS 569
附录D Android IDE和Eclipse使用技巧 589
附录E 小测验答案 603

前言/序言

  致谢
  这本书的顺利付梓得益于很多人在多方面的努力,包括Pearson教育(Addison-Wesley Professional)集团的小组、技术评审人的专业建议;以及来自家庭、朋友、同事和其他人的支持和鼓励。同时我们也要感谢Android开发者社区、Google和OHA组织的远见和专业态度。特别要感谢的是Mark Taub对这个版本的信任;感谢Laura Lewin在本书背后所做的强有力的支持;感谢Olivia Basegio对本书参与者的精密分工和策划;感谢Songlin Qiu无数次的审校,以使书本可以顺利出版;还有技术审阅人员:Ray Rischpater给出了很多有益的建议,Doug Jones对细节部分有不少改进意见(还有Mike Wallace Mark Gjoel Dan Galpin Tony Hillerson Ronan Schwarz,和Charles Stearns等人的支持)。Dan Galpin提供了“小窍门”,“友情提示”和“警告”的清晰图片。Amy Badger给出了瀑布流的完美描述图。最后要感谢Hans Bodlaender允许我们使用他利用业余时间所开发的有趣的字体。
  作者简介
  Joseph AnnuzziJr.是一名自由软件架构师、艺术家、作家和技术评论家。他是以下几方面的专家:Android平台,最前端的HTML5技术,各种云技术,各种不同的编程语言,灵活掌握多种framework,集成各式各样的社交API,修改各种端对端,密码学和计算机图形学的算法,以及创造卓越的3D渲染器。他是Internet和移动端技术的前瞻者,同时拥有几项正在申请中的专利。他本科毕业于加州大学戴维斯分校的管理经济学专业,辅修计算机科学,并常住在硅谷。
  除了技术领域的成绩外,他还曾被媒体发现与国际电影明星共同在黑河沙滩上享受日光浴;他曾在冬天徒步跋涉穿越巴伐利亚森林;沉浸在意大利地中海文化中,同时也亲身经历过发生在东欧的某ATM机(刚好是他乘坐的出租车的下车地点)暴力犯罪事件。他的生活方式健康且积极向上,他设计出了独特的减肥方式来保持身材,并且很喜欢他的小猎犬,Cleopatra。
  Lauren Darcey在一家小型的软件公司(专注于移动技术,包括Android、iOS、BlackBerry、Palm Pre、BREW和J2ME,同时也提供咨询服务),负责技术方面的领导工作。Lauren在软件开发领域有超过二十年的专业经验,并且是应用程序架构和商业级移动应用程序开发方面的有名权威。Lauren本科毕业于加州大学圣克鲁斯分校的计算机科学专业。
  她利用大量的空余时间来与痴迷于移动端开发的丈夫一起环游世界。她还是一位天生的摄影师。她的工作成果曾经见诸世界的各类书报中。在南非,她和一条4米长的大白鲨一起潜入水中;也曾被困在一大群发疯的河马和大象之间。她在日本时曾被猴子攻击过;也曾在肯尼亚因两只饥饿的狮子而被困山谷;在埃及差点渴死;在泰国经历过政变事件;在阿尔卑斯记录下了她的行程;在德国啤酒城一路买醉;睡在欧洲的摇摇欲坠的城堡中;在冰岛曾把舌头卡在冰山之中(并被一群野生驯鹿看到了)。
  Shane Conder有非常丰富的开发经验,并且在过去十年中一直专注于移动式和嵌入式的开发。他设计并研发了很多商业级的应用程序,目标平台包括Android、iOS、Brew、BlackBerry、J2ME、Palm和Windows Mobile——其中有一些程序已经被安装在世界各地百万级数量的手机中。Shane在他的技术博客中已经写了很多移动式领域和开发平台方面的文章,并在博客圈中“家喻户晓”。他本科毕业于加州大学的计算机科学专业。
  Shane总是拥有最新潮的智能机、平板以及其他移动式设备。你会发现他经常在研究一些最新的技术,譬如云服务和移动端平台,和其他让人兴奋的、尖端的技术——这些可以极大地激活他的大脑创造能力。他也很享受与其妻子一起畅游世界——即便她强迫他与4米长的大白鲨一起深潜,也曾使他在肯尼亚差点被狮子吃掉。他承认自己一定会携带最少两部手机——即便当前都没有网络信号覆盖;他也承认如果当时看到Laurie将舌头卡在冰岛的冰山中,一定会掏出他的Android手机拍照,然后心中窃喜。他同时也承认是时候要写自己的简历了。
  引言
  Android是一个流行、免费、开源的移动端平台,它已经迅速攻占了无线电子世界。本书为软件开发小组提供了很多专业的指导,包括如何设计、开发、测试、调试和发布专业的Android应用程序。如果你是一位移动开发的老兵,你可能会关注于开发流程化中的一些技巧,并充分利用Android的一些特性。相反如果你是移动开发的新手,那么本书也同样可以帮助你顺利地从传统软件领域过渡到移动端的实现中——特别是我们面对的还是非常有前景的平台:Android。
  本书的目标读者
  我们在移动领域有很多年的开发经验,并成功运作过不少项目。本书内容既包含了我们从这些成功项目中总结出来的技巧,同时也提供了开发人员从项目设想到最终实现所需要知道的一系列知识。在这里,你可以学习到移动端软件开发流程与传统领域软件开发流程的区别,以及一些可以帮助你节省很多宝贵时间、发现和解决缺陷的实用技巧。不论你面对的项目规模有多大,这本书都适用。
  本书的目标读者包括:
  有志于开发专业的Android应用程序的工程师。本书的大部分内容都适用于那些有Java经验,但不一定做过移动端开发的软件人员。对于有些经验的移动开发人员,他们也能从书中学习到如何充分利用Android的优势,并了解Android系统和当今市面上流行的其他移动平台的本质区别。
  有志于测试Android应用程序的QA人员。无论他们面对的是黑盒还是白盒测试,QA人员都会觉得本书很有价值。我们专门花几章节的内容来分析QA人员所关心的问题,包括如何制定可靠的测试计划、移动端的问题追踪系统,如何管理手持设备,以及如何利用Android提供的可用工具来彻底测试应用程序等等。
  有志于规划和管理Android开发团队的项目经理。项目经理们在整个项目流程中,都可以借助于本书来制定计划,招聘人员,以及运作Android项目。我们会讨论项目的风险管理,以及如何让Android项目运作得更加顺利。
  其他读者。本书绝不仅适用于软件开发者。对于那些想在垂直市场应用领域掘金,或者是想规划很酷的手机应用程序的人,抑或是单纯只是想在他/她的手机上找点乐子的业余爱好者,本书也是很好的参考资料。甚至是想评估Android是否符合他们需求(包括可行性分析)的商人们,也会在这里找到一些有用的信息。    总的来说,任何对移动应用程序有好想法,或者是自己有Android设备的人,都可以从中寻找到一些有价值的信息——无论他们是为了赚钱,还是兴趣使然。
  本书所要阐释的一些关键问题
  本书为读者解答了如下一些疑问。
  1.Android是什么?各个SDK版本间如何区分?
  2.Android和其他移动技术有什么区别,开发者又该如何利用这些差异?
  3.开发者如何利用Android SDK和ADT,在模拟器或者真机设备上开发和调试Android应用程序?
  4.Android应用程序的构造是怎么样的?
  5.开发者如何设计出可靠的移动端用户界面——特别是针对Android系统?
  6.Android SDK有哪些功能,开发者又该如何正确地使用它们?
  7.移动端的开发流程和传统桌面型的开发流程有什么区别?
  8.针对Android开发的最好策略是什么?
  9.经理、开发者或者是测试人员在规划、开发和测试移动应用程序时,应该关注哪些方面的内容?
  10.移动小组如何开发出可靠的Android应用程序?
  11.移动小组如何为Android应用程序打包?
  12.移动小组如何从Android应用程序中获利?
  13.最后,作者在本次改版中添加了哪些新内容?
  本书的编排架构
  《Android应用程序开发权威指南》(第四版)的重点在于Android开发中的一些精华部分,包括建立开发环境,理解应用程序的生命周期,用户界面设计,面向多种类型的设备进行开发,以及设计、开发、测试和发布商业级应用程序的整个软件流程。
  本书分为六大部分,下面是各部分的概述。
  第一部分:Android平台的概述
  这一部分是Android的入门,阐释了它与其他移动平台的区别。你会逐渐熟悉Android的SDK和工具,安装开发工具,以及编写和运行你的第一个Android应用程序——在模拟器上或者是在真机中。很多开发者和测试人员(特别是白盒测试员)对这一部分应该会比较感兴趣。
  第二部分:Android应用程序基础
  这一部分介绍了编写Android应用程序的一些设计原则。你会学习到Android程序的构造是什么样的,以及如何在项目中导入资源文件,譬如字符串、图像、用户界面元素等。开发者对这一部分应该会感兴趣。
  第三部分:Android用户界面设计准则
  这一部分对Android中的用户界面设计进行了更进一步的分析。你将学习到Android中的核心界面元素,即View。你也可以学习到Android SDK提供的很多常用的用户控件和布局。开发者对这一部分应该会感兴趣。
  第四部分:Android应用程序设计准则
  这一部分讨论了大多数Android应用程序会用到的特性,包括使用prefe-rence来存储程序数据;如何使用文件、文件夹和content provider。你也可以学习到如何让应用程序在多种设备中流畅运行。开发者对这一部分应该会有兴趣。
  第五部分:发布Android应用程序
  这一部分讨论了完整的移动端软件开发流程,针对项目管理、软件开发人员、用户界面设计人员及QA人员提供了很多建议和技巧。
  第六部分:附录
  这一部分讨论了很多有用的附录信息,帮助你运行和使用Android工具。