新書推薦:
《
敢为天下先:三年建成港科大
》
售價:HK$
77.3
《
长高食谱 让孩子长高个的饮食方案 0-15周岁儿童调理脾胃食谱书籍宝宝辅食书 让孩子爱吃饭 6-9-12岁儿童营养健康食谱书大全 助力孩子身体棒胃口好长得高
》
售價:HK$
47.0
《
身体自愈力:解决内在病因的身体智慧指南
》
售價:HK$
98.6
《
非言语沟通经典入门:影响人际交往的重要力量(第7版)
》
售價:HK$
123.1
《
山西寺观艺术壁画精编卷
》
售價:HK$
1680.0
《
中国摄影 中式摄影的独特魅力
》
售價:HK$
1097.6
《
山西寺观艺术彩塑精编卷
》
售價:HK$
1680.0
《
积极心理学
》
售價:HK$
55.8
|
編輯推薦: |
主要内容■ 介绍*的Android 5.16的API、工具、实用程序以及*实践■ 新增了Android 6.0 授权模型■ 在应用中集成材质设计的卓越技术■ 新增一章介绍如何使用样式以及重用通用UI组件■ 扩展介绍应用设计、架构和后向兼容■ 用一整章篇幅介绍如何使用SQLite数据库持久保存应用数据■ 修订后的测试题和练习题测试你对知识的掌握程度
|
內容簡介: |
每位Android应用开发者都应该知道的: Android 6工具、应用UI设计、测试和发布等 《Android 6开发秘籍第5版 是一本紧贴实用的精品指南,介绍如何借助Android 6 SDK、Android Studio以及最新的开发最佳实践来构建健壮的商业级Android应用。这一版的内容更丰富、优质、详实,涵盖开始为新式Android设备开发专业应用需要掌握的所有知识。如果你想成为Android开发高手,本书将助你一臂之力,帮你构建任何你能想象的应用! 三位备受尊崇的专家在书中指导你设置开发环境、设计用户界面、为不同设备开发应用以及优化整个应用开发过程。许多章节都包含多个示例应用,最新的代码清单指引你深刻领悟关键的API功能。 本书新增了介绍材质设计、设置应用样式、设计模式以及SQLite查询的章节,增加了阐述Gradle构建系统的附录,并列出关于Android Studio使用技巧的大量提示,堪称一座知识宝库。
|
目錄:
|
第Ⅰ部分 Android平台概述
第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
第Ⅱ部分 应用基础
第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 向ActionBar添加进度
指示器 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
第Ⅲ部分 应用设计基础
第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
第Ⅳ部分 应用开发基础
第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
第Ⅴ部分 应用交付基础
第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
第Ⅵ部分 附录
附录A 提示与技巧:Android
Studio 469
附录B 快速入门指南:Android
模拟器 481
附录C 快速入门指南:Android设备
监视器 507
附录D 精通Android SDK工具 523
附录E 快速入门:Gradle构建
系统 539
附录F 小测验答案 557
|
內容試閱:
|
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 Studio和 Android SDK 工具,在模拟器或真实设备上开发和调试 Android 应用?4 Android 应用是如何组织的?5 开发人员如何设计出可靠的移动端用户界面 特别是针对Android系统的界面?6 Android SDK有哪些功能?开发人员又该如何正确地使用它们?7 什么是材质设计Material Design,为什么它很重要?8 移动端开发流程和传统桌面型应用的开发流程有何区别?9 针对Android开发的最好策略是什么?10 经理、开发人员或测试人员在规划、开发和测试移动应用时,应该关注哪些方面?11 移动团队如何开发出优质的Android应用?12 移动团队如何对Android 应用打包以便部署?13 移动团队如何从 Android 应用获利?14 最后,作者在本次改版中添加了哪些新内容?本书的编排结构本书的侧重点在于Android开发过程中的一些精华部分,包括设置开发环境、理解应用的生命周期、用户界面设计、面向多种不同类型的设备进行开发,以及设计、开发、测试和发布商业级应用的整个软件流程。本书分为6大部分。下面是对各部分的概述:● 第Ⅰ部分:Android平台概述第Ⅰ部分介绍Android入门知识,阐述了它与其他移动平台的区别。你会逐渐熟悉Android 的SDK工具,安装开发平台,以及编写和运行第一个Android应用在模拟器上和在真机上。很多开发人员和测试人员特别是白盒测试人员对这一部分应该会尤其感兴趣。● 第Ⅱ部分:应用基础第Ⅱ部分介绍编写 Android 应用的一些设计原则。将介绍Android应用的结构,以及如何在项目中导入资源,例如字符串、图像和用户界面元素等。了解Android中的核心用户界面元素View。还将介绍Android SDK提供的很多常用的用户界面控件和布局。开发人员对这一部分应该会感兴趣。● 第Ⅲ部分:应用设计基础第Ⅲ部分深入研究如何在Android中设计应用。将介绍材质设计、样式和应用中常用的设计模式。还将介绍如何设计和规划应用。开发人员对这一部分应该会感兴趣。● 第Ⅳ部分:应用开发基础第Ⅳ部分讨论大多数 Android 应用会用到的特性,包括使用preferences来存储应用数据;如何使用文件、文件夹、SQLite和内容提供者content provider。开发人员对这一部分应该会感兴趣。● 第Ⅴ部分:应用交付基础第Ⅴ部分讨论完整的移动端软件开发流程,为项目管理人员、软件开发人员、用户界面设计人员及QA人员提供了很多建议和技巧。● 第Ⅵ部分:附录第Ⅵ部分包括了很多有用的附录信息,帮助你运行和使用重要的Android工具。本部分包括了Android Studio开发工具的提示和技巧,对Android SDK开发工具的概述,三个有用的Android开发工具快速入门指南模拟器、Device Monitor和Gradle,以及每章最后的测试题的答案。本次改版所做的修改当我们开始撰写本书第1版时,市面上还没有Android设备。现如今全球已经有数以亿计的 Android 设备了与数千种不同的设备型号手机、平板电脑、电子书阅读器、智能手表以及一些有特色的设备,例如游戏主机、电视和谷歌眼镜。另外,其他一些设备,诸如Google Chromecast之类的设备还可以让Android设备和电视实现屏幕共享。与本书第1版出版时的Android平台相比,Android平台已经发生了非常大的变化。Android SDK有很多新的特性,开发工具也有不少必需的升级。Android系统作为一种科技平台,已然是移动市场领域的王者。在这一版本中,我们借此机会加入了丰富的信息。但不用担心,读者仍然会像前几个版本一样喜爱这个最新版本;只是现在它更强大,覆盖面更广,还加入了不少最佳实践建议。除新增了文字内容外,还对所有现存的内容文本和范例代码进行了升级,并且使用了最新的Android SDK当然,它们是向后兼容的。我们提供了测试题来帮助读者确认是否已经很好地掌握了每章的学习重点;我们还在章节末尾添加了练习题,让读者可以更深入地理解Android系统。有各种不同的Android 开发社区,而我们的目标就是面向所有的开发人员 不管他们的目标设备是什么。这其中也包括了那些希望为几乎所有平台提供服务的开发人员。因而一些老式 SDK的关键部分在本书中仍然被保留下来它们通常是考虑兼容性时最合理的选择。在这一版本中,我们做了如下改进和升级:● 整本书已经升级为最新的Android Studio IDE。本书以前的版本包含了 Eclipse IDE。所有的内容、图像和代码示例已经根据Android Studio做了更新。此外,还包含了最新和最优秀的Android工具和实用程序。● 定义清单文件一章覆盖了新的 Android 6.0 Marshmallow棉花糖,API级别23权限模式,并提供了展示新权限模式的示例代码。● 增加了全新的一章材质设计,演示了开发人员如何将常见的材质设计功能集成到应用中,并提供了示例代码。● 增加了全新的一章使用样式,介绍如何更好地组织样式和重用常用UI组件,以便优化显示渲染,并提供了示例代码。● 增加了全新的一章架构设计模式,包含了应用架构的各种设计模式的内容,并提供了示例代码。● 增加了全新的一章使用SQLite保存数据包含了使用数据库持久化应用数据的内容,并提供了示例代码。● 包含了使用 Android Studio的提示和技巧的一个附录。● 包含了Gradle构建系统的一个附录,以帮助了解Gradle是什么,以及为什么它很重要。● AdvancedLayouts示例代码已被更新,GridView和ListView组件将分别使用Fragment类和ListFragment类。● 一些示例代码,包括使用了新Toolbar的ActionBar示例,并使用支持库,以便兼容运行老版本API的设备。必要时,更新应用清单文件以便支持父-子Activity关系,从而支持向上导航。● 许多示例代码使用了AppCompatActivity类和appcompat-v7 支持库。● 所有章节和附录现在都有小测试和练习题,以便读者可以评估学习成果。● 所有章节都已更新,通常还伴随着一些全新的章节。● 所有的示例代码和相应的应用都已升级,以保证可在最新SDK中运行。如你所见,本书涵盖与Android相关的所有最热门的、最令人兴奋的特性。我们重新评估现有章节,更新内容,同时也添加了一些新章节。最后,还包含了很多附加的内容、声明,以及针对各位读者的回馈所做的修正。谢谢你们!本书所用的开发环境本书中的Android代码是在以下开发环境中编写的:● Windows 7、8和Mac OS X 10.9● Android Studio 1.3.2● Android SDK API Level 23 在本书中为Android Marshmallow● Android SDK Tools 24.3.4● Android SDK Platform Tools 23.0.0● Android SDK Build Tools 23.0.0● Android Support Repository 17在适当时使用● Java SE Development Kit JDK 7 Update 55● Android设备:Nexus 4、5和6手机,Nexus 7第一代和第二代7英寸平板电脑,Nexus 9和10 大尺寸平板电脑, 以及其他各式流行设备。Android在与其他移动平台例如,Apple iOS、Windows Phone和Blackberry OS的竞争中,仍然保持高速增长。不断有各种令人兴奋的Android新设备涌现。开发人员已经把Android 列为用户今后一段时间的选择重点。Android最近的一次平台重大升级是Android Marshmallow,它带来许多新功能。本书涵盖最新的SDK和可用工具。本书旨在帮助开发人员支持市面上所有流行的设备,而不仅仅是一部分特殊机器。在本书撰写阶段,大概有9.7%的用户的设备运行着Android Lollipop 5.0或5.1,而Android Marshmallow尚未在实际设备上发布。当然,有些设备将通过在线方式进行升级,有些用户将会购买新的Lollipop和Marshmallow设备。但对于开发人员而言,他们要面对的是各种不同版本的Android平台,以便能覆盖到这一领域的大部分设备。另外, Android的下一个版本很可能在近期发布。那么这些对本书意味着什么呢?这意味着我们既要提供对以前API的支持,也要讨论Android SDK中出现的那些新API。我们从兼容性角度讨论了支持所有至少是大部分用户设备所需要采用的策略。我们提供了截屏图片来重点突出不同版本的 Android SDK的差异,因为任何大的版本升级在UI外观上都会体现出来。换句话说,我们假设你正在下载最新的 Android 工具,所以提供了撰写本书时的屏幕截图和操作步骤。这是我们在对本书内容进行取舍时设定的界线。附加的可用资源本书示例的源代码可从https:github.comlambo4josintroToAndroid5e下载;也可从本书的官网下载,网址为http:introductiontoandroid.blogspot.com2015085th-edition-book-code- samples.html。代码示例以章节进行组织,并以zip格式进行下载,或者使用Git的命令行进行访问。也可以在本书的官网中找到其他的Android讨论话题http:introductiontoandroid. blogspot.com。另外,也可访问www.tupwk.com.cndownpage,输入中文书名或中文ISBN,下载源代码。或者扫描本书封底的二维码,下载相关资料。本书的编写约定本书使用了如下约定:● 代码是以等宽字体格式提供的。● Java的import语句、异常处理,以及错误检测通常会从书稿中移除,以便代码清晰,并将篇幅控制在合理范围之内。本书也以如下几种形式提供了相关信息:
提示提供有用的信息或有关当前文本的提示。
注意提供额外的、可能很有趣的相关信息。
警告提供一些可能遇到的陷阱,以及规避它们的实用建议。
更多支持信息可在网上找到各种充满活力且有用的Android开发人员社区其中包含了很多对Android开发人员和移动领域研究人员有价值的内容:● Android Developer官网以及Android SDK和开发人员参考资料网站:http:d.android.comindex.html和http:d.android.com● Google Plus: Android Developers Group:https:plus.google.com AndroidDevelopersposts● YouTube: Android Developer和Google Design:https:www.youtube.comuserandroiddevelopershttps:www.youtube.comchannelUClKO7be7O9cUGL94PHnAeOA● Google Material Design:https:www.google.comdesignspecmaterial-designintroduction.html● Stack Overflow,其中包含众多 Android 方面的技术信息完整的标记,以及官方的支持论坛:http:stackoverflow.comquestionstaggedandroid● Android Open Source Project:https:source.android.comindex.html● Open Handset Alliance,面向Android 生产商、运营商和开发人员:http:openhandsetalliance.com● Google Play,可供购买和销售Android应用:https:play.google.comstore● tuts 的Android开发指南:http:code.tutsplus.comcategoriesandroid● Google Sample Apps,包含托管在GitHub上的开源Android应用:https:github.comgooglesamples● Android工具项目站点,工具团队在此讨论升级和修改:https:sites.google.comaandroid.comtoolsrecent● FierceDeveloper是针对无线开发人员的每周快报:http:fiercedeveloper.com● XDA-Developers上的Android论坛:http:forum.xda-developers.comandroid● Developer.com提供了面向移动开发人员的一系列文章:http:developer.com联系作者我们欢迎各位读者对本书做出评论、提出问题以及给出反馈。我们邀请你访问我们的博客,网址如下:● http:introductiontoandroid.blogspot.com或者给我们发e-mail:● introtoandroid5e@gmail.com也可在LinkedIn上找到Joseph Annuzzi:● Joseph Annuzzi, Jr: https:www.linkedin.cominjosephannuzzi也可在Google中找到Joseph Annuzzi:● Joseph Annuzzi, Jr: http:goo.glFBQeL
|
|