Skip to content

Latest commit

 

History

History
80 lines (60 loc) · 2.87 KB

File metadata and controls

80 lines (60 loc) · 2.87 KB

Hencoder Plus

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 和⻓连接

UI

  • 使⽤ 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

  • 分布式版本控制系统的概念和用途
  • Git 与 GitHub 的基本使⽤:发布和管理自⼰的开源项目
  • 团队项⽬中使用 Git
  • 模拟:团队开发中使用 git
  • Feature Branching:HEAD、master、branch、merge、conflicts
  • 模拟:Feature Branching
  • 特殊需求与常⻅意外的处理:Git 的进阶与高级使用:rebase、reset、checkout 以及每个 Git 指令的本质

GRADLE

  • Groovy 语法
  • Gradle 和 Gradle Android Plugin
  • Gradle Android Plugin 总体结构
  • 使用 Gradle 配置项⽬及优化 build 过程
  • 自⼰编写 Gradle Plugin

架构及其他

  • 看了一百篇博客也没搞透的问题:到底什么是 MVC?
  • MVP
  • MVVM
  • 「架构」背后的核⼼思想及怎样培养自⼰的架构思路
  • 插件化与热更新原理,手写热更新
  • 简历与面试:别编,别吹⽜逼——简历与⾯试中应该怎样表达自己