# Android 系统架构篇导读

这门课解决的核心问题是:Android 开发走到中后期,架构意识薄弱,代码"能跑但写不明白",六大原则挂在嘴边却落不了地。课程围绕系统架构展开,把"原则—工具—实践—演进"串成一条线,让你从"能写 App"升级到"能看懂架构、能改架构"。

适合什么基础

适合已经写过 Android 代码、做过几个业务模块,但开始遇到"为什么这个架构这么难改"这类困惑的开发者。不要求从零学 Java/Kotlin,但要求对 Activity、Fragment、网络请求、线程这些基础概念有基本认知,能看懂 logcat 日志、能跑通一个简单的网络请求。

建议先看哪几块

按顺序看效果最好。先过六大原则和架构演变,建立整体认知框架;再看 UML 建模和 Activity 启动流程,学会用图讲清楚流程;Day04 的反射、注解、泛型是底层工具,必须吃透,因为架构中的动态注入和编译时注解都依赖它们;Day02 的 AOP 和网络引擎切换是架构落地的关键;Day05 的 ButterKnife 手写是动手能力的硬指标,建议认真跟做一遍。

学完能独立做什么

能看懂 Android 模块分层,理解启动流程的时序关系,用 UML 画类图和时序图描述业务;能判断一个改动该用 AOP 还是手动切;能用反射和编译时注解做动态注入;能手写 ButterKnife 风格的注解绑定;能结合淘宝京东的网络处理思路,为项目做网络层改造,比如把硬编码的请求逻辑抽成可替换的引擎。

资料怎么配合练习

课程配套了源码分析和手写练习,重点看"自己动手写 ButterKnife"那几节,不要只当听讲。架构演变部分建议对照项目实际代码,把原则和演进思路套到当前项目中,找一找哪些原则没守住、哪些结构可以优化。AOP 实战部分建议跟着改一个真实项目,体会切面注入与手动切面的取舍。

</template>

课程目录

00.试看
01.系统架构整个课程体系_1_ev.mp4 48.51M
02.开发中的问题分析_1_ev.mp4 119.86M
03.结合实例讲解六大原则_1_ev.mp4 253.14M
01.面向对象六大原则回顾_1_ev.mp4 77.16M
02.面向切面编程使用场景_1_ev.mp4 112.26M
03.京东和淘宝网络处理_1_ev.mp4 120.02M
01.面向对象六大基本原则 - 网络引擎切换
Architect_Day01.rar 21.80M
02.AOP面向切面编程 - 淘宝京东网络处理
03.UML建模 - View 的 Touch 事件分发流程
Architect_Day03.rar 16.46M
01.UML建模简介_1_ev.mp4 122.36M
02.类图-Window底层架构_1_ev.mp4 139.76M
03.时序图-Activity启动流程_1_ev.mp4 124.81M
04.基础知识扫盲 - 反射注解和泛型
Architect_Day04.rar 19.71M
01.反射使用介绍_1_ev.mp4 163.95M
02.动态注入和泛型_1_ev.mp4 180.40M
05.编译时注解 - ButterKnife源码分析和手写
Architect_Day05.rar 25.78M
Architect_Day05_Id修正版.rar 28.32M
01.ButterKnife源码分析_1_ev.mp4 112.39M
02.自己动手写ButterKnife_1_ev.mp4 318.37M
03.对于ButterKnife源码的思考_1_ev.mp4 18.79M
06.编译时注解 - 绕过微信支付和分享的局限
Architect_Day06.rar 23.47M
01.架构的演变之路_1_ev.mp4 44.05M
02.编译时注解绕过微信支付的局限_1_ev.mp4 145.09M
03.自定义View试题讲解_1_ev.mp4 140.88M
07.Handler通信 - 源码分析和手写Handler框架
Architect_Day06_EC.rar 14.74kb
01.面试题讲解_1_ev.mp4 172.85M
02.消息队列和消息循环_1_ev.mp4 125.78M
03.手写整个handler架构_1_ev.mp4 122.95M
08.单例设计模式 - 强大的 Activity 管理
Architect_day08.rar 20.93M
01.设计模式定义_1_ev.mp4 23.81M
02.单例设计模式讲解_1_ev.mp4 67.21M
03.volatile 关键字_1_ev.mp4 114.29M
04.Activity管理类_1_ev.mp4 113.94M
09.Builder设计模式 - 增强版 NavigationBar
Architect_day09.rar 20.65M
01.Builder设计模式介绍_1_ev.mp4 83.13M
02.builer设计模式构建NavigationBar_1_ev.mp4 112.58M
03.给NavigationBar绑定参数_1_ev.mp4 34.06M
04.如何提高代码的扩展_1_ev.mp4 70.06M
10.工厂设计模式 - 数据存储的特有方式
Architect_day10.rar 19.86M
01.工厂设计模式-(模式介绍)_1_ev.mp4 145.52M
02.工厂设计模式-(数据存储)_1_ev.mp4 133.68M
03.工厂设计模式-(使用场景)_1_ev.mp4 41.47M
11.装饰设计模式 - RecyclerView添加头部和底部
Architect_Day11.rar 20.30M
01.国庆具体安排_1_ev.mp4 28.20M
02.装饰设计模式事例_1_ev.mp4 50.18M
03.RecyclerView添加底部和头部_1_ev.mp4 163.86M
04.android源码分析_1_ev.mp4 41.03M
12.模版设计模式 - 自己动手写 OkHttp 的 Dispatcher
Architect_Day12.rar 20.54M
01.模板设计模式介绍_1_ev.mp4 134.94M
02.模板设计模式构建BaseActivity_1_ev.mp4 52.21M
03.线程池介绍_1_ev.mp4 66.26M
04.OkHttp 的 Dispatcher源码分析_1_ev.mp4 121.76M
13.策略设计模式 - Log 日志输出策略
Architect_Day13.rar 20.82M
01.策略设计模式介绍_1_ev.mp4 125.16M
02.属性动画源码分析_1_ev.mp4 374.77M
03.log日志输出策略_1_ev.mp4 88.95M
14.Adapter设计模式 - 打造通用的 IndicatorView
Architect_day14.rar 19.79M
01.属性动画源码分析_1_ev.mp4 135.56M
02.Adapter模式介绍_1_ev.mp4 63.53M
03.自己动手写一个ListView_1_ev.mp4 86.03M
15.观察者设计模式 - 观察数据的插入
Architect_Day15.rar 20.92M
01.观察者设计模式 - 定义_1_ev.mp4 33.98M
02.观察者设计模式 - 角色划分_1_ev.mp4 48.38M
03.观察者设计模式 - 推拉模式_1_ev.mp4 42.94M
04.观察者设计模式 - Java自带的观察者_1_ev.mp4 38.24M
05.观察者设计模式 - 观察数据插入_1_ev.mp4 113.33M
06.观察者设计模式 - UML图_1_ev.mp4 93.18M
16.代理设计模式 - 实现 Retrofit 的 create
Architect_Day16.rar 29.13M
OKHttpDemo.rar 20.03M
01.代理设计模式 - 模式定义_1_ev.mp4 69.74M
02.代理设计模式 - 静态代理_1_ev.mp4 28.93M
03.代理设计模式 - 动态代理_1_ev.mp4 59.24M
04.代理设计模式 - Retrofit介绍_1_ev.mp4 71.50M
05.代理设计模式 - 实现Retrofit的create_1_ev.mp4 60.59M
17.原型设计模式 - 订单查询拆分
Architect_Day17.rar 19.89M
01.原型设计模式 - 模式的定义_1_ev.mp4 108.61M
02.原型设计模式 - 订单拆分_1_ev.mp4 74.68M
03.原型设计模式 - 浅拷贝和深拷贝_1_ev.mp4 47.81M
04.原型设计模式 - 使用场景_1_ev.mp4 48.72M
18.迭代器设计模式 - 构建通用 BottomTabNavigationBar
Architect_Day18.rar 19.93M
01.迭代器设计模式 - 模式的定义_1_ev.mp4 71.50M
02.迭代器设计模式 - QQ和WX用户信息共用_1_ev.mp4 52.20M
03.迭代器设计模式 - UML类图_1_ev.mp4 60.67M
04.迭代器设计模式 - 构建底部导航栏_1_ev.mp4 213.84M
19.责任链设计模式 - QQ微信多用户系统检测
Architect_Day19.rar 19.88M
01.如何编译so库文件_1_ev.mp4 132.70M
02.责任链设计模式讲解_1_ev.mp4 127.39M
03.门面设计模式讲解_1_ev.mp4 102.76M
20.设计模式 - 23种模式总结(前篇)
Architect_day20.rar 16.46M
01.享元设计模式_1_ev.mp4 141.94M
02.命令设计模式_1_ev.mp4 188.88M
21.设计模式 - 23种模式总结(后篇)
Architect_Day21.rar 19.87M
01.状态设计模式_1_ev.mp4 106.72M
02.桥接设计模式_1_ev.mp4 103.50M
03.中介设计模式_1_ev.mp4 40.82M
04.备忘录设计模式_1_ev.mp4 118.94M
22.第三方开源库 EventBus - 源码分析和手写
Architect_Day22.rar 19.74M
EventBus_Source.rar 34.30M
01.register注册分析_1_ev.mp4 127.20M
02.post发送源码分析_1_ev.mp4 96.83M
03.自己动手写EventBus_1_ev.mp4 172.90M
23.第三方开源库 OKHttp - Java网络编程基础
apache-tomcat-7.0.81-windows-x64.zip 10.13M
eclipse.rar 282.90M
OkHttpServer.rar 637.95kb
01.搭建自己的测试服务器_1_ev.mp4 100.87M
02.Cookie、Session和Token_1_ev.mp4 144.86M
03.HTTP缓存处理_1_ev.mp4 102.15M
24.第三方开源库 OKHttp - 整体架构和源码分析
Architect_Day24.rar 20.24M
01.http状态码详解_1_ev.mp4 84.04M
02.http和https的区别_1_ev.mp4 79.17M
03.怎样动手打造一套网络框架_1_ev.mp4 27.88M
04.整体架构和源码分析_1_ev.mp4 195.45M
25.第三方开源库 OKHttp - 自己动手写表单提交和文件上传
Architect_Day25.rar 19.76M
01.OkHttp基本框架搭建_1_ev.mp4 137.78M
02.post提交参数_1_ev.mp4 204.80M
03.表单文件上传_1_ev.mp4 92.17M
26.第三方开源库 OKHttp - 源码精髓之拦截器分析
Architect_Day26.rar 19.85M
OkHttp_Source.rar 16.73M
01.源码精髓责任链模式分析_1_ev.mp4 135.40M
02.RetryAndFollowUpInterceptor拦截器分析_1_ev.mp4 69.79M
03.BridgeInterceptor拦截器分析_1_ev.mp4 29.54M
04.CacheInterceptor拦截器分析_1_ev.mp4 87.90M
05.ConnectInterceptor拦截器分析_1_ev.mp4 73.52M
06.连接三个核心类分析_1_ev.mp4 125.86M
27.第三方开源库 OKHttp - 上传进度监听和自定义缓存
Architect_Day27.rar 23.51M
01.OkHttp上传文件_1_ev.mp4 113.59M
02.OkHttp文件上传进度监听_1_ev.mp4 118.61M
03.OkHttp自定义缓存拦截_1_ev.mp4 280.00M
28.第三方开源库 OKHttp - 文件断点下载
Architect_Day28.rar 20.27M
01.OkHttp单线程下载_1_ev.mp4 202.49M
02.OkHttp多线程断点下载_1_ev.mp4 268.93M
29.第三方开源库 RXJava - 基本使用和源码分析
Architect_Day29.rar 23.31M
01.网络图片加水印的一般写法_1_ev.mp4 84.95M
02.RxJava的基本操作符讲解_1_ev.mp4 69.50M
03.自己动手写RxJava的观察者模式_1_ev.mp4 141.97M
30.第三方开源库 RxJava - 自己动手写事件变换
Architect_Day30.rar 19.54M
01.手写RxJava事件变换_1_ev.mp4 154.85M
02.再次讲解事件流编程思想_1_ev.mp4 108.58M
03.面试题讲解_1_ev.mp4 56.21M
31.第三方开源库 RxJava - 自己动手线程调度切换
Architect_Day31.rar 19.55M
01.事件变换源码回顾_1_ev.mp4 91.80M
02.自己动手写子线程切换_1_ev.mp4 184.71M
03.自己动手写主线程切换_1_ev.mp4 107.17M
32.第三方开源库 RxJava - Android实际开发场景
Architect_Day32.rar 27.40M
01.响应式编程常见使用场景_1_ev.mp4 53.84M
02.RxPermission源码分析_1_ev.mp4 145.82M
03.自己动手写一个RxLogin_1_ev.mp4 124.76M
33.第三方开源库 Retrofit - 源码设计模式分析
Architect_Day33.rar 20.98M
01.Retrofit基本使用和分析_1_ev.mp4 97.33M
02.Retrofit常见问题解决_1_ev.mp4 140.99M
03.Retrofit源码设计模式分析_1_ev.mp4 150.43M
34.第三方开源库 Retrofit - 自己动手写核心架构部分
Architect_Day34.rar 20.53M
01.阿里算法面试题讲解_1_ev.mp4 65.57M
02.Retrofit注解解析和封装_1_ev.mp4 155.71M
03.手写Retrofit发送请求_1_ev.mp4 153.23M
35.第三方开源库封装 - OkHttp + RxJava + Retrofit
Architect_Day35.rar 21.52M
01.Retrofit+OkHttp+RxJava封装_1_ev.mp4 196.21M
02.实用场景选择分析_1_ev.mp4 59.13M
36.第三方开源库 Retrofit - 自己动手优化网络引擎
Architect_Day36.rar 22.27M
01.网络引擎-(兼容 Retrofit )_1_ev.mp4 117.15M
02.自己动手优化网络引擎_1_ev.mp4 181.69M
03.面试题讲解(主线程和子线程)_1_ev.mp4 75.48M
37.开发模式 MVP - 基础框架搭建分析
Architect_Day37.rar 21.56M
01.MVC和MVP介绍_1_ev.mp4 118.35M
02.MVC和MVP对比分析_1_ev.mp4 27.31M
03.泛型构建基类_1_ev.mp4 98.44M
04.动态代理优化_1_ev.mp4 103.08M
38.开发模式 MVP - 静态代理和动态扩展
Architect_Day38.rar 21.76M
01.动态创建 Model_1_ev.mp4 83.87M
02.解决一对多的问题_1_ev.mp4 76.74M
03.静态代理封装_1_ev.mp4 88.91M
04.GC回收原理分析_1_ev.mp4 120.00M
39.项目实战 - 代码架构和运行时架构
Architect_Day39.rar 21.84M
01.作业讲解_1_ev.mp4 108.38M
02.运行时架构和代码架构_1_ev.mp4 85.54M
03.怎么选择架构层级和第三方_1_ev.mp4 86.70M
40.项目实战 - 系统架构部分的总结和展望
01.知识梳理_1_ev.mp4 114.30M
02.后续规划_1_ev.mp4 46.40M
03.问题交流_1_ev.mp4 15.77M
41.第三方开源库 Glide - 源码分析(补)
01.Glide源码的营养_1_ev.mp4 115.23M
02.Glide源码时序图_1_ev.mp4 449.56M
42.Android 多模块多组件开发 - 打造属于自己的路由(补)
Architect_Day42.rar 38.52M
01.多模块多组件开发_1_ev.mp4 136.33M
02.DRouter的基本使用_1_ev.mp4 281.81M
03.DRouter的源码分析_1_ev.mp4 26.00M
43.经验分享 - 深圳社招大厂面试分享(补)
01.一些好的条件_1_ev.mp4 23.16M
02.面试经验分享_1_ev.mp4 91.29M
03.Handler面试题讲解_1_ev.mp4 78.13M
04.Binder驱动面试题讲解_1_ev.mp4 73.25M
customXml
docProps
word
_rels
[Content_Types].xml 1.53kb
系统架构测试题.docx 13.38kb