Hencoder无疑是个很好的课程。但是课程中的自定义View/git/gradle一些知识已经掌握,所以没有报班跟进。但是Hencoder的课程大纲无疑是史上最棒的Android进阶指南。所以要按照这个大纲来提升一下自己的知识面。
- HTTP 原理与整体概念
- Android 中 HTTP 的基本使⽤⽅式
- Android 和 HTML 中使⽤ HTTP 的联系和差异
- header 与几种常⽤的 header
- HTTP 中几种 method 的定义与本质区别
- REST 到底是什么
- cache 的作⽤、原理与正确使用
- cookie 的作用、原理与正确使用
- OAuth 的原理与实现
- HTTPS 与 TLS
- 从 Retrofit 的原理实现来看 HTTP
- 从 OkHttp 的原理实现来看 HTTP
- 避免挖坑:与后端团队商讨 Web 接⼝的思路和与讨论方式
- 填坑:Web 接⼝已经做好但不符合 HTTP 标准,客户端使⽤ Retrofit 完全无法处理,怎么 办
- TCP/IP、Socket 和⻓连接
- 使⽤ onDraw() 来绘制内容
- 绘制⽂字的技巧和注意事项,⼿写 TextView、MaterialEditText
- SquareImageView、绘制图⽚和图形的技巧和注意事项
- 千年模糊概念:Bitmap 和 Drawable 的本质、关系、区别、使⽤与详解
- 范围裁切和集合变换、硬件加速、⼿写⼀个仿 Flipboard 界面
- 属性动画的原理及实现、通过⾃定义属性动画来简单实现复杂效果
- 定制 View 的尺⼨、定制 Layout 的布局,⼿写 LinearLayout,手写高性能的 TagLayout
- 触摸反馈原理:背后的流水线机制
- 点击事件源码解析和手写点击触发器
- 长按事件源码解析和⼿写长按触发器
- 父 View 与⼦ View:滑动、事件拦截与拒绝拦截
- ⼿写 ScrollView、双⽅向的 ScrollView
- ⻓按事件源码解析、长按触发器、长按拖拽
- Thread、Runnable 和 ANR
- 优先级、AsyncTask、Handler、HandlerThread、Looper、Executor
- Callable 和 Future
- 线程池
- Service 和 IntentService
- RxJava
- 分布式版本控制系统的概念和用途
- Git 与 GitHub 的基本使⽤:发布和管理自⼰的开源项目
- 团队项⽬中使用 Git
- 模拟:团队开发中使用 git
- Feature Branching:HEAD、master、branch、merge、conflicts
- 模拟:Feature Branching
- 特殊需求与常⻅意外的处理:Git 的进阶与高级使用:rebase、reset、checkout 以及每个 Git 指令的本质
- Groovy 语法
- Gradle 和 Gradle Android Plugin
- Gradle Android Plugin 总体结构
- 使用 Gradle 配置项⽬及优化 build 过程
- 自⼰编写 Gradle Plugin
- 看了一百篇博客也没搞透的问题:到底什么是 MVC?
- MVP
- MVVM
- 「架构」背后的核⼼思想及怎样培养自⼰的架构思路
- 插件化与热更新原理,手写热更新
- 简历与面试:别编,别吹⽜逼——简历与⾯试中应该怎样表达自己