Android开发
本知识树旨在系统、全面地覆盖 Android 开发核心知识,从平台基础到高级实践,适合希望建立扎实技术根基的中级开发者或系统化重构知识的工程师。内容涵盖 Kotlin 语言、核心组件、UI 体系、数据存储、网络、异步、架构、测试、性能优化、安全与发布等全链路环节,并深入现代 Android 开发实践与高级话题。完成本路径后,开发者将具备独立设计和实现复杂 Android 应用的能力,并熟悉主流工具链与工程化方法。
Learning Outline
1Android 平台与开发环境
了解 Android 系统架构与版本演进,掌握开发工具链的配置与使用,并熟悉项目结构。
Android 系统架构与历史
从底层 Linux 内核到应用框架,理解 Android 的层次化设计及版本特性。
- circleAndroid 系统架构分层
- circleAndroid 版本演进与 API 等级
- circleART 与 Dalvik
开发环境搭建
安装和配置 Android Studio、SDK 与模拟器,掌握基本调试手段。
- circleAndroid Studio 安装与配置
- circleGradle 构建系统基础
- circleADB 与命令行工具
- circle项目结构与首次运行
2Kotlin 语言核心
掌握 Kotlin 语法特性、面向对象及函数式编程范式,为后续开发奠定基础。
基础语法与类型系统
变量、集合、控制流、扩展函数、可空类型等核心语法。
- circle变量、常量与基本类型
- circle可空类型与安全调用
- circle集合与操作符
- circle扩展函数与属性
面向对象与高级特性
类、接口、数据类、密封类、对象声明等面向对象机制。
- circle类与继承
- circle数据类与密封类
- circle委托与属性委托
- circle高阶函数与 Lambda
协程基础
理解协程的概念、启动方式与结构化并发。
- circle协程与挂起函数
- circle调度器与线程切换
3Activity 与 Intent
掌握 Activity 生命周期、启动模式及组件间通信,理解任务栈管理。
Activity 生命周期与状态管理
彻底掌握回调时机与状态保存恢复。
- circle生命周期回调
- circle状态保存与恢复
- circle配置变更处理
启动模式与任务栈
通过 launchMode 和 Intent Flag 控制实例化和回退行为。
- circle四种启动模式
- circleIntent Flag 与任务栈管理
- circletaskAffinity 与 allowTaskReparenting
Intent 与数据传递
显式/隐式启动、数据携带与安全解析。
- circle显式与隐式 Intent
- circle数据传递与限制
- circlePendingIntent
4Service 与后台任务
掌握 Service 的不同形态以及现代后台任务调度机制。
Service 组件详解
使用前台服务、后台服务实现长期运行逻辑。
- circle启动与绑定服务
- circle前台服务
- circleIntentService 与 JobIntentService
WorkManager 与后台调度
使用 Jetpack WorkManager 实现可延迟的可靠后台作业。
- circleWorkManager 基础
- circle定期与长期工作
- circleAlarmManager 与 JobScheduler
后台任务限制与最佳实践
理解 Android 8.0+ 的后台执行限制与电源管理特性。
- circle后台执行限制
- circle后台工作的选择决策
5内容提供者与广播接收器
学习数据共享与系统事件响应机制。
ContentProvider 与数据共享
构建 URI 驱动的数据访问层,实现跨应用数据交互。
- circleContentProvider 实现
- circle系统 ContentProvider 使用
- circle权限与数据安全
BroadcastReceiver 与系统广播
接收系统或应用发送的广播,处理全局事件。
- circle静态注册与动态注册
- circle本地广播与全局广播
- circle常见系统广播
6UI 基础与 View 体系
巩固传统 View 体系的绘制、布局与自定义能力,并学习 Fragment 管理。
View 绘制与测量
从 measure 到 draw 的完整流程,为排错和自定义打下基础。
- circle测量与布局流程
- circle自定义 View 基础
- circleView 事件分发机制
常见 UI 控件与布局
熟练使用系统控件与布局,搭建复杂界面。
- circle文本与按钮控件
- circleRecyclerView 彻底理解
- circleViewPager 与 FragmentStateAdapter
- circle传统布局组合
Fragment 管理
掌握 Fragment 事务、生命周期及导航组件。
- circleFragment 生命周期
- circleFragment 事务与通信
- circle导航组件基础
7高级 UI 与 Jetpack Compose
理解声明式 UI 思想,掌握 Compose 核心概念与现代界面开发。
Compose 基础
从 Composables 函数开始构建界面。
- circleComposable 函数与重组
- circle布局与修饰符
- circle状态管理
Compose 中的列表与导航
构建可滚动的复杂列表及页面跳转。
- circleLazyList 与 LazyGrid
- circleCompose Navigation
动画与主题
提升 UX 的动效与统一视觉风格。
- circleCompose 动画 API
- circleMaterial 3 与主题定制
8资源管理与适配
实现多设备、多语言的稳定 UI 展现。
资源分类与访问
了解各类资源的存放与引用方式。
- circleDrawable 与 Mipmap
- circle字符串、颜色、尺寸资源
- circle原始资源与 Assets
屏幕适配与国际化
利用限定符与多语言处理不同设备。
- circle资源限定符体系
- circle多语言支持
- circle自适应布局策略
9数据存储与 Room
掌握本地持久化方案,重点学习 Room 数据库。
轻量存储
SharedPreferences 与 DataStore 的选择与使用。
- circleSharedPreferences
- circleJetpack DataStore
文件存储
内部存储、外部存储与权限管理。
- circle内部存储与外部存储
- circle分区存储(Scoped Storage)
Room 持久化库
使用 Room 完成数据库操作,理解编译期检查与 Flow 集成。
- circleEntity、DAO 与 Database
- circle类型转换器与复杂关系
- circleRoom 与 Flow/LiveData
- circle数据库迁移与测试
10网络与数据交换
实现 HTTP 通信、序列化与缓存,构建稳健的网络层。
Retrofit 与 OkHttp
基于 OkHttp 的声明式网络 API 框架。
- circleRetrofit 配置与请求定义
- circleOkHttp 拦截器与缓存
- circle鉴权处理
数据序列化与解析
JSON、XML 等格式的处理及类型安全。
- circleGson 与 Moshi
- circleKotlin Serialization
网络进阶与最佳实践
错误处理、加载状态、图片加载等。
- circle网络状态与错误模型
- circle图片加载库
- circleREST 与 GraphQL 选择
11异步与 Kotlin 协程
深入协程机制,结合主流库实现响应式编程。
协程核心机制
协程上下文、作用域、取消与异常处理。
- circle结构化并发
- circle协程上下文与调度器
- circle取消与超时
- circle异常处理
Flow 与响应式流
冷流、热流及其在 Android 中的应用。
- circle冷流 Flow
- circleStateFlow 与 SharedFlow
- circleLiveData 与 Flow 互操作
协程在 Android 中的实践
生命周期绑定与常见场景。
- circlelifecycleScope 与 viewModelScope
- circle并发请求与组合
- circle与 Room/Retrofit 的集成
12架构与设计模式
学习 Android 推荐架构并通过 Jetpack 组件落地。
架构原则与模式
分离关注点与单向数据流(UDF)。
- circle建模与推荐架构
- circleMVVM 模式
- circleMVI 与 Unidirectional Data Flow
ViewModel 与 SavedState
管理 UI 相关数据,存活于配置变更。
- circleViewModel 生命周期
- circleSavedStateHandle
- circleViewModel 和 Compose
Data Binding 与 View Binding
减少模板代码并实现数据驱动 UI。
- circleView Binding
- circleData Binding 库
Paging 3
高效加载并展示大数据列表。
- circlePagingSource 与 RemoteMediator
- circlePagingData 与 UI 集成
13依赖注入
通过 DI 解耦,提升可测试性与可维护性。
手动 DI 与 Service Locator
理解 DI 原理及简单实现。
- circle依赖注入基础概念
- circle手动实现 DI 容器
Hilt 依赖注入框架
Jetpack 官方推荐的 DI 方案。
- circleHilt 注解与组件
- circle作用域与绑定
- circleHilt 与 Jetpack 集成
14测试与调试
构建自动化测试体系与高效定位问题。
单元测试
使用 JUnit、Mockito 验证逻辑。
- circleJUnit 5 与 Test Runner
- circleMockito 模拟依赖
- circle协程测试
UI 与集成测试
验证界面行为与组件交互。
- circleEspresso 基础
- circleCompose UI 测试
- circle集成测试与数据库
调试与性能分析工具
熟练使用 Android Studio Profiler。
- circleLogcat 与断点调试
- circleMemory & CPU Profiler
- circleLeakCanary 与 StrictMode
15性能优化
系统性优化启动速度、内存、流畅度与安装包体积。
启动优化
减少冷启动耗时,提升用户印象。
- circle启动过程剖析
- circle懒加载与异步初始化
- circle启动主题与 SplashScreen API
内存与 UI 卡顿优化
解决 ANR、OOM 与掉帧。
- circle内存泄漏与 OOM 防治
- circleUI 渲染优化
- circleANR 原理解析
包体积与网络优化
缩小 APK/AAB 并加速网络交互。
- circleApp Bundle 与动态分发
- circle代码与资源缩减
- circle网络优化技巧
16安全与权限
保护用户数据与应用自身安全。
权限管理
运行时权限请求与最佳实践。
- circle权限声明与检查
- circle后台位置与特殊权限
数据与通信安全
加密存储与网络安全配置。
- circle网络安全配置
- circle本地数据加密
- circle安全编码与混淆
17发布与 CI/CD
构建生产版本并自动化交付流程。
应用签名与打包
生成签名密钥与构建产品 APK/AAB。
- circle签名机制与密钥管理
- circle构建变体与渠道包
Google Play 与分发
管理发布渠道与测试轨道。
- circlePlay Console 操作
- circle应用内更新
持续集成与部署
使用自动化工具编译、测试、部署。
- circleCI 流水线设计
- circle自动化测试与检查
- circleFirebase App Distribution
18多媒体与硬件交互
集成相机、音频、传感器与地图等基础能力。
相机与图片处理
使用 CameraX 和系统意图完成拍照与编辑。
- circleCameraX 基础
- circle系统相机与相册
音频与视频
播放与录制基础,ExoPlayer 集成。
- circleMediaPlayer 与 ExoPlayer
- circle音频录制与 MediaRecorder
传感器与位置
获取设备运动数据和位置。
- circle传感器管理
- circle位置服务与 FusedLocationProvider
- circle地图集成
19现代 Android 开发实践与工具链
拥抱最新开发范式与辅助工具,提升生产力。
App 架构与组件化
模块化拆分与动态特性。
- circle多模块项目结构
- circleDynamic Feature Modules
工具链与代码质量
应用 kotlin 编译器插件与静态分析。
- circleKotlin DSL 与 Gradle 优化
- circleLint 与 Detekt
- circleBaseline Profiles
Kotlin Multiplatform 与跨平台简介
了解共享业务逻辑的可能性。
- circleKMM 概述
- circleFlutter 与原生对比
20高级主题
探索自定义 View 深入、NDK 等专家级内容。
高级自定义 View 与绘图
Canvas 高级操作与交互手势。
- circleCanvas 变换与路径
- circle复杂手势处理
- circle自定义布局容器
NDK 与 JNI 入门
集成 C/C++ 代码提高性能或复用。
- circleCMake 配置与原生库
- circleJNI 数据传递
前沿与杂项
无障碍、自动化测试框架等。
- circle无障碍(Accessibility)
- circleUIAutomator 与跨应用测试
- circleGradle 构建深入