书籍作者:[美] 雷托·梅尔 | ISBN:9787302539520 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:2670 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
主要特色
● 涵盖Android新的API,包括Job Scheduler、Android架构组件(包括Live Data和Room)和数据绑定
● 提供Android Studio IDE的详细说明以及Kotlin的介绍
● 详细介绍材料设计原则、设计指南、导航模式和UI的更佳实践
● 演示如何为所有形式的Android设备创建引人注目的UI
● 探索Firebase和Google Play服务的API库,包括地图、基于位置的服务以及Awareness API
● 掌握为将来的Android开发项目提供坚实支持的技能
Reto Meier自2007年首次发布Android以来,就一直致力于帮助Android开发人员为用户创建更佳应用。Reto在澳大利亚西部的珀斯长大,之后在伦敦度过了“接下来的18个月”,总共6年。2011年他与妻子在旧金山湾区定居。
Reto在Google担任开发人员代言人已有10年的时间,他为开发人员社区提供文章、在线培训、会议演讲和YouTube视频。
在智能手机出现之前,Reto已在各个行业(包括海上石油天然气和金融业)担任软件开发人员超过10年。
Ian Lake 在2013年于旧金山湾区定居前,曾在美国的9个州居住过。Ian是Google Android Toolkit团队的成员,专注于提供现代Android开发所需的库和API。在此之前,他曾是一名Android开发人员倡导者、Android应用开发人员和企业应用开发人员,那时,Android还未盛行。
自Android首次发布10年来,经过多次修订与扩展,《Android高级编程(第4版)》重磅来袭。其中不仅涵盖开发新手需要学习的基础知识,而且探索了经验丰富的Android开发人员在构建J致用户体验时所必需的高级特性和最佳实践。
《Android高级编程(第4版)》作为实践类书籍,将会深入浅出地解释各种复杂的概念,注重实际操作,让读者对Android开发的各类工具、API和最佳实践有直观的认识,并将新技能转换成实际的用户解决方案。
伴随着移动互联网的发展,Android系统早已成为全球用户量最大的手机操作系统,尽管在移动互联网红利期过后,设备增长速度放缓,但是体量犹存。所以,一家公司要想与个人用户更快、更稳地建立起连接,移动应用依然是不可小觑的突破口。
因此,即使移动互联网从增长期过渡到平稳期,Android开发人员依旧可以在自己的本职岗位上大放异彩,为用户带来更多新奇的App。本书全面呈现了从入门到高级Android编程所必需的知识与技能。对于本书的层次结构、学习方法、学习路径等相关内容,作者已在前言中做了详尽描述,这里不再赘述。
需要在这里进行说明的是,本书的代码是基于AndroidStudi03.1和Android8SDK开发、运行的。为了能够给读者带来更好的阅读及学习体验,我们与出版社商议决定将本书的代码环境升级到了AndroidStudi03.5和Android10SDK。所以,本书可能会有极少部分代码与原文有所不同,但这有利于读者使用最新的环境进行学习。特别对于一名需要入门的新手而言,简单的环境配置以及快速上手是至关重要的。因此,我们对本书第2章的2.2节“创建一个全新的Android项目”进行了重写并更新了截图。当然,书中其他章节的图片也已随软件环境进行了替换。另外,需要特别说明的是,由于Android Studio升至3.5版本,Google默认强行使用AndroidX库代替原来的Android Support库。这里简单介绍一下,AndroidX库是Google对原来众多Android Support库进行整理后的集合库,它可以更方便开发人员做好向后兼容工作,并且后续Google也只会在AndroidX库上进行新功能的开发和迭代。因此,如果发现自己使用的一些类的导包是以androidx.*开头的(本书中类的导包以android.support.*开头),不必过于纠结。使用AndroidX库和Android Support库都能正常编译运行,只是导包不一样。
希望我们做的这些改进,能够为读者带来一些便利。遗憾的是,由于时间及能力等方面的原因,也为了尊重本书作者的原创性,我们并没有为本书增加更多关于Android9和Android10的新特性。对此我们深表遗憾和歉意。但我们深信,随着读者对本书的深入学习和理解,一定可以对这部分新内容信手拈来。
本书由两位目前仍就职于Google Android团队的开发人员撰写,他们分别是Reto和Ian。Reto本身负责为开发者社区提供文章、在线培训、会议演讲,Ian在Android Toolkit团队为Android开发提供所需的库和API。因此,通过对本书的学习,我们更容易从Android系统结构的角度对Android编程有全新的认识。本书关于Android编程的知识点涵盖范围之广,即使是工作了三五年,有着丰富经验的Android开发人员,也可以作为工具书使用。毕竟本书除了入门所需要了解的用户界面、四大组件、存储、线程、UI设计及定制之外,还有关于音频和视频等多媒体、蓝牙、NFC无线通信以及硬件传感器等高级开发所需的内容。最后一章还为大家介绍了如何发布及分发App。
还需要提醒的是,作者提到的一些网站,在国内并不能正常访问,读者朋友可以暂且跳过,不必长时间纠结,因为这不会影响你继续学习本书后续内容。
目 录
第1章 你好,Android 1
1.1 Android应用开发 1
1.2 小背景 2
1.2.1 不远的过去 2
1.2.2 未来的发展 2
1.3 Android生态系统 3
1.4 Android的预安装应用 3
1.5 Android SDK的特性 4
1.6 Android在哪里运行 4
1.7 为什么要为移动设备开发应用 5
1.8 为什么要进行Android开发 5
1.9 Android开发框架介绍 5
1.9.1 Android SDK中都包含什么 5
1.9.2 了解Android软件堆层 6
1.9.3 Android运行时 7
1.9.4 Android应用架构 8
1.9.5 Android库 8
第2章 入门 9
2.1 Android应用开发入门 9
2.2 Android开发 10
2.2.1 准备工作 11
2.2.2 创建首个Android应用 14
2.2.3 开始使用Kotlin编写Android应用 23
2.2.4 使用Android Support Library包 24
2.3 进行移动和嵌入式设备开发 25
2.3.1 硬件设计考虑因素 25
2.3.2 考虑用户环境 28
2.3.3 进行Android开发 28
2.4 Android开发工具 31
2.4.1 Android Studio 32
2.4.2 Android虚拟机管理器 33
2.4.3 Android模拟器 34
2.4.4 Android Profiler 34
2.4.5 Android 调试桥 35
2.4.6 APK分析器 35
2.4.7 Lint检查工具 36
2.4.8 Monkey、Monkey Runner和Espresso UI测试 36
2.4.9 Gradle 37
第3章 应用、Activity和Fragment 38
3.1 应用、Activity和Fragment 38
3.2 Android应用的组件 39
3.3 Android应用的生命周期、优先级和进程状态 39
3.4 Android的Application类 41
3.5 进一步了解Android的Activity 41
3.5.1 创建Activity 41
3.5.2 使用AppCompatActivity 42
3.5.3 Activity的生命周期 42
3.5.4 响应内存压力 47
3.6 Fragment 48
3.6.1 创建新的Fragment 49
3.6.2 Fragment的生命周期 49
3.6.3 Fragment Manager介绍 52
3.6.4 添加Fragment到Activity中 52
3.6.5 Fragment与Activity之间的通信 57
3.6.6 没有UI的Fragment 57
3.7 构建Earthquake Viewer应用 58
第4章 定义Android配置清单和Gradle构建文件,并外部化资源 64
4.1 配置清单、构建文件和资源 64
4.2 Android配置清单 64
4.3 配置Gradle构建文件 68
4.3.1 settings.gradle 文件 68
4.3.2 项目的build.gradle文件 68
4.3.3 模块级build.gradle文件 69
4.4 外部化资源 72
4.4.1 创建资源 72
4.4.2 使用资源 79
4.4.3 为不同的语言和硬件创建资源 82
4.4.4 运行时配置更改 84
第5章 构建用户界面 87
5.1 Android设计基础 87
5.2 密度无关设计 88
5.3 Android UI基础 88
5.4 布局介绍 89
5.4.1 定义布局 91
5.4.2 使用布局创建设备无关的用户界面 91
5.4.3 优化布局 94
5.5 Android小部件工具箱 97
5.6 使用列表和网格 97
5.6.1 RecyclerView和Layout Manager 98
5.6.2 关于适配器 98
5.6.3 返回到Earthquake Viewer应用 101
5.7 关于数据绑定 102
5.7.1 使用数据绑定 102
5.7.2 数据绑定中的变量 103
5.7.3 数据绑定在Earthquake Viewer中的应用 103
5.8 创建新的View 105
5.8.1 修改现有的View 105
5.8.2 创建复合控件 108
5.8.3 创建作为布局的简单复合控件 109
5.8.4 创建自定义View 110
5.8.5 使用自定义控件 119
第6章 Intent与Broadcast Receiver 121
6.1 使用Intent和Broadcast Receiver 121
6.2 使用Intent启动Activity 122
6.2.1 显式启动新的Activity 122
6.2.2 隐式Intent与后期运行时绑定 123
6.2.3 确定Intent是否会被解析 123
6.2.4 返回Activity结果 124
6.2.5 使用平台本地动作启动Activity 126
6.3 创建Intent Filter以接收隐式Intent 127
6.3.1 定义Intent Filter 127
6.3.2 使用Intent Filter实现插件和扩展性 133
6.4 介绍Linkify 135
6.4.1 原生Linkify链接类型 136
6.4.2 创建自定义的链接字符串 136
6.4.3 使用MatchFilter接口 136
6.4.4 使用TransformFilter接口 137
6.5 使用Intent广播事件 137
6.5.1 使用Intent广播事件 137
6.5.2 使用Broadcast Receiver监听Intent广播 138
6.5.3 使用代码注册Broadcast Receiver 139
6.5.4 在应用配置清单中注册Broadcast Receiver 139
6.5.5 在运行时管理配置清单中注册的Receiver 140
6.5.6 通过广播Intent监听设备状态的变化 140
6.6 介绍Local Broadcast Manager 142
6.7 Pending Intent介绍 143
......
第15章 位置、情境感知和地图 369
第16章 硬件传感器 423
第17章 音频、视频和使用摄像头 453
第18章 使用蓝牙、NFC和Wi-Fi点对点进行通信 486
第19章 使用主屏 507
第20章 高级Android开发 538
第21章 应用的发布、分发和监控 564
21.1 准备发布应用 564
21.1.1 准备发布材料 565
21.1.2 准备代码以进行发布构建 565
21.2 在应用清单文件中更新应用元数据 566
21.2.1 检查应用安装限制 566
21.2.2 应用的版本管理 567
21.3 给应用的生产构建版本签名 567
21.3.1 使用Android Studio创建Keystore和签名密钥 568
21.3.2 获取基于私有发布密钥的API密钥 569
21.3.3 构建生产发布版本并签名 569
21.4 在Google Play商店中发布应用 570
21.4.1 Google Play商店简介 571
21.4.2 Google Play 商店初体验 571
21.4.3 在Google Play商店中创建应用 572
21.4.4 发布应用 577
21.4.5 监控生产环境中的应用 579
21.5 应用变现介绍 582
21.6 App营销、促销和分发策略 583
21.6.1 应用上线策略 583
21.6.2 国际化 584
21.7 使用Firebase监控应用 584
21.7.1 把Firebase添加到应用中 585
21.7.2 使用Firebase Analytics 585
21.7.3 Firebase Performance Monitoring 587