《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图

按第四版实际32章与六个项目建立Android组件、生命周期、状态、线程、持久化、外部合同和版本迁移路线

《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图

本页依据第四版实际出版电子目录独立重构,不复制原文。InformIT商品页仍显示36章旧结构;O'Reilly收录的第四版电子书和第四版勘误增补确认实际正文以32章结束。本课程保留出版时Android 5.0至8.1及后续兼容语境,并把现代目标SDK变化放入明确迁移层。

学习目标

  • 能沿“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”的用户事件解释Android组件、状态所有者、线程与销毁边界。
  • 能围绕“按第四版实际32章与六个项目建立Android组件、生命周期、状态、线程、持久化、外部合同和版本迁移路线”改出一个可运行结果,并用前后状态而非组件数量验收。
  • 能在旋转、进程重建、拒权、离线或无效输入中选择适用反例,定位首个状态分叉。
  • 能用构建指纹、用户操作、状态快照、原始日志和行为断言独立重放结论,并标明第四版机制与现代targetSdk政策的边界。

“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”不使用未获授权的纸书正文;InformIT出版信息授权电子版完整目录只用于确认第四版32章、269个正式目录节点和时代语境,第四版官方勘误用于识别工具链变更。下列中文解释、图示、交互、代码与练习均为独立教学重写,平台行为再以Android Developers的一手文档复核。

为什么“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”必须回到可观察状态

“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”的学习结果不是记住类名,而是能预测“按第四版实际32章与六个项目建立Android组件、生命周期、状态、线程、持久化、外部合同和版本迁移路线”在一次输入、一次重建和一次失败中的不同状态,并指出哪条Android合同产生差异。

第四版机制逐项深读

第1章 Your First Android Application

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第1章 Your First Android Application”把源码、资源、清单和Gradle配置变成可安装APK;验证要从干净构建开始,保存variant、SDK、依赖与安装后的首帧,而不是只看IDE绿色三角。

第2章 Android and Model-View-Controller

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第2章 Android and Model-View-Controller”服务于“按第四版实际32章与六个项目建立Android组件、生命周期、状态、线程、持久化、外部合同和版本迁移路线”;解释要落到用户事件、Android所有者、状态变化、线程和可观察结果,并给出一个会推翻实现的反例。

第3章 The Activity Lifecycle

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,分析“第3章 The Activity Lifecycle”要把用户动作映射到onPause/onStop/onDestroy与新实例创建,onDestroy并不是持久化成功的承诺。

第4章 Persisting UI State

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第4章 Persisting UI State”要求把临时UI状态、配置期状态与进程死亡后需恢复的最小事实分层;ViewModel跨配置但不跨进程,saved state必须小且可序列化。

第5章 Debugging Android Apps

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,验证“第5章 Debugging Android Apps”先让测试稳定失败,再改变一个原因并重跑;只删除日志或捕获异常不算修复。

第6章 Your Second Activity

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第6章 Your Second Activity”通过显式Intent启动目标并以extras/result交换最小数据;发送方、接收方和进程重建都必须验证缺失、类型错误和重复返回。

第7章 Android SDK Versions and Compatibility

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第7章 Android SDK Versions and Compatibility”区分minSdk、targetSdk、compileSdk与运行设备版本;可调用性、行为变化和兼容库回退要分别验证,不能只凭编译通过。

第8章 UI Fragments and the Fragment Manager

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第8章 UI Fragments and the Fragment Manager”由FragmentManager保存结构和返回栈,而Fragment实例与其View拥有不同生命周期;视图绑定必须在onDestroyView前释放。

第9章 Displaying Lists with RecyclerView

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第9章 Displaying Lists with RecyclerView”只为可见项创建和绑定ViewHolder,回收时旧状态必须被新数据完整覆盖;稳定标识不能用易变位置冒充。

第10章 Creating User Interfaces with Layouts and Widgets

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第10章 Creating User Interfaces with Layouts and Widgets”把约束、测量与布局落实为View树几何;用小屏、长文本与大字体验证,不能用单一模拟器截图证明适配。

第11章 Databases and the Room Library

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第11章 Databases and the Room Library”把Entity模式、DAO合同和SQLite文件连接成单一事实源;编译期SQL校验不能替代迁移和真实数据反例。

第12章 Fragment Navigation

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第12章 Fragment Navigation”的容器替换不是简单换画面;状态保存后提交、重复tag与嵌套管理器都会改变恢复结果。

第13章 Dialogs

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第13章 Dialogs”的容器替换不是简单换画面;状态保存后提交、重复tag与嵌套管理器都会改变恢复结果。

第14章 The App Bar

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第14章 The App Bar”把顶层动作、导航和溢出菜单接入当前界面状态;菜单创建与选择回调要在窄屏、无数据和权限受限时仍有可理解反馈。

第15章 Implicit Intents

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,验证“第15章 Implicit Intents”覆盖零个、一个和多个响应者,以及深链重复到达、目标被杀和无权限数据。

第16章 Taking Pictures with Intents

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第16章 Taking Pictures with Intents”通过FileProvider URI把写入能力临时交给相机应用,再按目标尺寸解码;验证要覆盖无相机、取消、零字节文件、旋转和内存上限。

第17章 Localization

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第17章 Localization”让资源匹配器根据locale与配置选择候选;字符串参数、复数、日期、RTL和回退链必须由目标locale实测,不能拼接英语语序。

第18章 Accessibility

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,分析“第18章 Accessibility”按TalkBack线性焦点顺序走完整任务,检查自定义控件是否暴露可执行action与状态变化。

第19章 Data Binding and MVVM

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第19章 Data Binding and MVVM”按事实、界面表示和用户事件拆责任;状态所有者不能持有已销毁View,界面也不能绕过边界直接改持久数据。

第20章 Unit Testing and Audio Playback

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第20章 Unit Testing and Audio Playback”分离音频资源加载、播放ID、释放和可测试回调;单元测试验证状态与协作,设备测试再验证真实SoundPool时序和旋转后不重复播放。

第21章 Styles and Themes

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第21章 Styles and Themes”通过资源限定符和主题属性把内容与设备配置解耦;最终值由资源匹配和主题继承共同决定。

第22章 XML Drawables

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,验证“第22章 XML Drawables”在日夜主题、不同密度和字体缩放下比较像素边界、对比度与状态反馈。

第23章 More About Intents and Tasks

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,分析“第23章 More About Intents and Tasks”要区分Activity返回栈、系统task与进程,flags改变栈行为但不会自动提供业务幂等。

第24章 HTTP and Background Tasks

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第24章 HTTP and Background Tasks”跨应用边界时只授予完成任务所需的URI与组件权限,并在日志中移除联系人等个人信息。

第25章 Loopers, Handlers, and HandlerThread

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,分析“第25章 Loopers, Handlers, and HandlerThread”记录post线程、执行线程、队列时刻和回传目标,后台线程不能直接触碰已销毁View。

第26章 SearchView and SharedPreferences

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第26章 SearchView and SharedPreferences”把查询输入、提交事件和轻量偏好持久化分开;防抖、空查询、进程重建与旧响应竞争都要用可重放事件序列验证。

第27章 WorkManager

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第27章 WorkManager”不是精确定时器,也不适合立即UI工作;用户关闭轮询后必须取消唯一工作并验证队列为空。

第28章 Broadcast Intents

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第28章 Broadcast Intents”把事件发送给匹配Receiver;静态与动态注册、导出权限和接收器短生命周期决定可达性,长任务应转交受约束后台工作。

第29章 Browsing the Web and WebView

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,分析“第29章 Browsing the Web and WebView”区分WebView历史、Activity返回栈和配置重建,旋转保留页面不能靠吞掉所有configurationChanges。

第30章 Custom Views and Touch Events

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第30章 Custom Views and Touch Events”必须只失效需要重绘的区域并避免每帧分配;正确图形还要有等价键盘/读屏操作。

第31章 Property Animation

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,分析“第31章 Property Animation”区分View实际属性和仅绘制变换,动画结束后的点击区域与无障碍边界必须对齐视觉位置。

第32章 Afterword

在“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”中,“第32章 Afterword”把六个示例应用收束为独立项目:学习者要自行定义用户任务、状态所有者、外部合同、测试矩阵与发布证据,而非再照抄步骤。

“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”验收回顾

“《Android Programming: The Big Nerd Ranch Guide(第4版)》权威学习地图”只有在构建指纹、用户操作、状态快照、原始日志和行为断言能够从相同基线再次得到相同断言时才通过;第四版机制与现代平台政策分别记录,不用新API名称掩盖旧行为。

练习

问题 1:怎样证明32章不是一张只有标题的目录?

问题 2:六条项目线怎样共享状态原则而不共享通用模板?

问题 3:第四版代码迁移到现代targetSdk时怎样避免同时改坏多个变量?

下一页:Android开发初体验 →

讨论

评论区加载中…