Android进阶之旅(自定义View篇/系统架构篇/Kotlin实战篇)

课程来自曾辉的Android进阶之旅四套课(自定义View篇/系统架构篇/Kotlin实战篇),售价3000元,Android移动端开发曾辉老师主讲,包含源码和笔记共计90G。


很多文章和视频都有设计模式的一些理论讲解,我们也曾经阅读过不少,对我们个人也有很大的帮助,但整体来讲都比较零散,主要都是讲一些理论的知识。所以我决定出一整套系统架构的文章和视频,从设计模式的理论出发将Android源码与实战事例结合,来帮助一些开发者进阶。

Android进阶之旅(自定义View篇/系统架构篇/Kotlin实战篇)

Android进阶之旅(自定义View篇/系统架构篇/Kotlin实战篇)

Android进阶之旅(自定义View篇/系统架构篇/Kotlin实战篇)

课程目录:


├─Android进阶之旅-Kotlin实战篇

│ ├─01.Kotlin入门 – 基本数据类型和函数定义

│ │ │ 01.Kotlin简介.wmv

│ │ │ 02.Kotlin初探.wmv

│ │ │ 03.基本数据类型.wmv

│ │ │ 04.编译常量和运行时常量.wmv

│ │ │ 05.函数的定义.wmv

│ │ │ 06.函数变量.wmv

│ │ │ 07.Lambda初探.wmv

│ │ │

│ │ └─源码和笔记

│ │ 01.Kotlin入门 – 基本数据类型和函数定义.mht

│ │ Kotlin_Day01.rar

│ │

│ ├─02.Kotlin入门 – 字符串模板、数组和区间

│ │ │ 01.字符串模板.wmv

│ │ │ 02.类型转换.wmv

│ │ │ 03.equals 和 == .wmv

│ │ │ 04.空安全.wmv

│ │ │ 05.数组.wmv

│ │ │ 06.区间.wmv

│ │ │ 07.再探lambda.wmv

│ │ │ 08.when 表达式.wmv

│ │ │

│ │ └─笔记和源码

│ │ 02.Kotlin入门 – 字符串模板、数组和区间.mht

│ │ Kotlin_Day02.rar

│ │

│ ├─03.Kotlin入门 – 抽象类、接口和面向对象

│ │ │ 01.类的创建.wmv

│ │ │ 02.构造函数重载.wmv

│ │ │ 03.类的成员.wmv

│ │ │ 04.类的继承.wmv

│ │ │ 05.抽象类和接口.wmv

│ │ │ 06.匿名内部类.wmv

│ │ │ 07.默认参数和具名参数.wmv

│ │ │ 08.运算符重载.wmv

│ │ │ 09.伴生对象与静态成员.wmv

│ │ │ 10.类方法扩展.wmv

│ │ │ 11.内部类和枚举.wmv

│ │ │

│ │ └─笔记和源码

│ │ 03.Kotlin入门 – 抽象类、接口和面向对象.mht

│ │ Kotlin_Day03.rar

│ │

│ └─书籍资料

│ Java 8函数式编程.pdf

│ Kotlin for Android Developers中文版.pdf

│ Kotlin官方参考文档中文版.pdf

├─Android进阶之旅-NDK实战篇

│ │ Visual Studio 2013 简体中文旗舰版.iso

│ │

│ ├─01.NDK开发前奏 – x团参数加密和签名校验

│ │ │ 01.怎么架构新项目.wmv

│ │ │ 02.加密算法介绍.wmv

│ │ │ 03.MD5参数加密实现.wmv

│ │ │ 04.APP签名校验.wmv

│ │ │

│ │ └─笔记和资源

│ │ 01.NDK开发前奏 – x团参数加密和签名校验.mht

│ │ NDK_Day01.rar

│ │

│ ├─02.第三方开源库 Glide – 源码分析(补)

│ │ │ 01.Glide源码的营养.wmv

│ │ │ 02.Glide源码时序图.wmv

│ │ │

│ │ └─源码和笔记

│ │ 02.第三方开源库 Glide – 源码分析(补).mht

│ │ Glide时序图流程.mdj

│ │

│ ├─03.NDK开发前奏 – 视频转码压缩

│ │ │ 01.视频转码压缩介绍.wmv

│ │ │ 02.ffmpeg整合集成.wmv

│ │ │ 03.压缩回调处理.wmv

│ │ │

│ │ └─笔记和源码

│ │ NDK_Day03.rar

│ │

│ ├─04.Android 多模块多组件开发 – 打造属于自己的路由(补)

│ │ │ 01.多模块多组件开发.wmv

│ │ │ 02.DRouter的基本使用.wmv

│ │ │ 03.DRouter的源码分析.wmv

│ │ │

│ │ └─源码和笔记

│ │ 04. Android 多模块多组件开发 – 打造属于自己的路由.mht

│ │ Architect_Day42.rar

│ │

│ ├─05.NDK开发前奏 – 实现支付宝人脸识别功能

│ │ │ 01.opencv 介绍和整合.wmv

│ │ │ 02.人脸识别实现的思路.wmv

│ │ │ 03.opencv图像灰度处理.wmv

│ │ │ 04.实现人脸识别.wmv

│ │ │

│ │ └─笔记和源码

│ │ 05.NDK开发前奏 – 实现支付宝人脸识别功能.mht

│ │ NDK_Day05.rar

│ │

│ ├─06.C基础 – 基本数据类型与指针入门

│ │ │ 01.C开发的一些准备工作.wmv

│ │ │ 02.基本数据类型.wmv

│ │ │ 03.变量地址和指针变量.wmv

│ │ │ 04.通过指针变量修改值.wmv

│ │ │ 05.面试题讲解.wmv

│ │ │

│ │ └─笔记和源码

│ │ 06.C基础 – 基本数据类型与指针入门.mht

│ │ NDK_Day06.rar

│ │

│ ├─07.C基础 – 指针运算和函数指针

│ │ │ 01.二级指针和多级指针 .wmv

│ │ │ 02.数组和数组指针.wmv

│ │ │ 03.指针循环遍历和赋值.wmv

│ │ │ 04.指针与数组的几种写法.wmv

│ │ │ 05.函数指针.wmv

│ │ │

│ │ └─源码和笔记

│ │ NDK_Day07.rar

│ │ 笔记.png

│ │

│ ├─08.C基础 – 动态开辟内存和字符串

│ │ │ 01.上次内容回顾.wmv

│ │ │ 02.如何文档阅读.wmv

│ │ │ 03.静态内存开辟和动态内存开辟.wmv

│ │ │ 04.动态内存开辟的实用场景.wmv

│ │ │ 05.realloc和动态内存开启注意事项.wmv

│ │ │

│ │ └─源码和笔记

│ │ 08.C基础 – 动态开辟内存和字符串.mht

│ │ C语言中文帮助文档.rar

│ │ NDK_Day08.rar

│ │ realloc.png

│ │ 函数指针.png

│ │ 动态内存开辟.png

│ │

│ ├─09.C基础 – 字符串常见操作和指针练习

│ │ │ 01.字符串长度.wmv

│ │ │ 02.字符串类型转换.wmv

│ │ │ 03.字符串比较.wmv

│ │ │ 04.字符串查找和拼接.wmv

│ │ │ 05.字符串截取和大小写转换.wmv

│ │ │

│ │ └─笔记和源码

│ │ 09.C基础 – 字符串常见操作和指针练习.mht

│ │ NDK_Day09.rar

│ │

│ ├─10.C基础 – 结构体联合体和枚举

│ │ │ 01.字符串替换讲解.wmv

│ │ │ 02.结构体和结构体指针.wmv

│ │ │ 03.结构体数组.wmv

│ │ │ 04.字节对其和结构体大小计算.wmv

│ │ │ 05.联合体和枚举.wmv

│ │ │

│ │ └─笔记和源码

│ │ 10.C基础 – 结构体联合体和枚举.mht

│ │ NDK_Day10.rar

│ │

│ ├─100.FFmpeg – Android 直播加滤镜效果

│ │ │ 01.录制声音获取 PCM 数据.wmv

│ │ │ 02.推送视频画面到媒体房间.wmv

│ │ │ 03.推送声音到媒体房间.wmv

│ │ │ 04.滤镜效果处理.wmv

│ │ │

│ │ └─笔记与源码

│ │ 100. FFmpeg – Android 直播加滤镜效果.mht

│ │ LivePush.rar

│ │ 直播推拉流程.webp

│ │

│ ├─101.给大家的一封信

│ │ 01.问题交流解答.wmv

│ │ 02.给大家的一封信.wmv

│ │ 03.关于环境与得失.wmv

│ │ 给大家的一封信.jpg

│ │

│ ├─11.C基础 – 文件操作

│ │ │ 01.读取文本文件.wmv

│ │ │ 02.拷贝文件.wmv

│ │ │ 03.文件加解密和文件切割.wmv

│ │ │

│ │ └─笔记和源码

│ │ NDK_Day11.rar

│ │

│ ├─12.JNI 基础 – JNIEnv 的实现原理

│ │ │ 01.JNI开发的一般流程.wmv

│ │ │ 02.详解 .h 头文件和实现文件.wmv

│ │ │ 03.JNIEnv的实现原理.wmv

│ │ │ 04.C 访问 Java 属性.wmv

│ │ │ 05.C 访问 Java 方法.wmv

│ │ │

│ │ └─笔记和源码

│ │ 12.JNI 基础 – JNIEnv 的实现原理.mht

│ │ JNIEnv的原理和流程.png

│ │ NDK_Day12_Java.rar

│ │ NDK_Day12_VS.rar

│ │

│ ├─13.JNI 基础 – Native 层构建 Java 对象

│ │ │ 01.作业讲解.wmv

│ │ │ 02.常量指针和指针常量.wmv

│ │ │ 03.Native 层构建 Java 对象.wmv

│ │ │ 04.设置属性练习.wmv

│ │ │

│ │ └─笔记和源码

│ │ 13.JNI 基础 – Native 层构建 Java 对象.mht

│ │ NDK_Day13_Java.rar

│ │ NDK_Day13_VS.rar

│ │

│ ├─14.JNI 基础 – Android 共享内存的序列化过程

│ │ │ 01.Java对象与C对象对应.wmv

│ │ │ 02.Parcel 源码解析.wmv

│ │ │ 03.自己动手实现内存共享.wmv

│ │ │ 04.共享内存面试题讲解.wmv

│ │ │

│ │ └─笔记和源码

│ │ 1.png

│ │ 14.JNI 基础 – Android 共享内存的序列化过程.mht

│ │ NDK_Day14.rar

│ │ 无标题.png

│ │

│ ├─15.JNI 基础 – 缓存策略和异常处理

│ │ │ 01.数组的细节处理.wmv

│ │ │ 02.局部引用和全局引用.wmv

│ │ │ 03.静态缓存策略.wmv

│ │ │ 04.jni的异常处理.wmv

│ │ │

│ │ └─笔记和源码

│ │ 15.JNI 基础 – 缓存策略和异常处理.mht

│ │ NDK_Day15_Java.rar

│ │ NDK_Day15_VS.rar

│ │

│ ├─16.C进阶 – 内存四驱模型

│ │ │ 01.数组参数传递.wmv

│ │ │ 02.数据类型剖析.wmv

│ │ │ 03.变量的本质.wmv

│ │ │ 04.内存四驱模型.wmv

│ │ │

│ │ └─笔记和源码

│ │ 16.C进阶 – 内存四驱模型.mht

│ │ NDK_Day16.rar

│ │

│ ├─17.C进阶 – 项目开发模型强化

│ │ │ 01.内存四驱模型.wmv

│ │ │ 02.通过指针间接赋值的意义.wmv

│ │ │ 03.野指针和 NULL 地址.wmv

│ │ │ 04.定义字符串的几种区别.wmv

│ │ │ 05.项目开发模型强化.wmv

│ │ │

│ │ └─笔记和源码

│ │ 01.间接赋值.png

│ │ 02.通过指针间接赋值.png

│ │ 03.野指针.png

│ │ 04.字符串的不同之处.png

│ │ 17.C进阶 – 项目开发模型强化.mht

│ │ NDK_Day17.rar

│ │

│ ├─18.C进阶 – 二级指针和多级指针

│ │ │ 01.指针使用的注意事项.wmv

│ │ │ 02.二级指针的内存模式.wmv

│ │ │ 03.多级指针.wmv

│ │ │

│ │ └─笔记和源码

│ │ 01.NULL地址的强化.png

│ │ 02.指针数组和二级指针.png

│ │ 03.二维数组的第三种定义方式.png

│ │ 18.C进阶 – 二级指针和多级指针.mht

│ │

│ ├─19.C进阶 – 结构体中的高级话题

│ │ │ 01.结构体赋值操作.wmv

│ │ │ 02.深拷贝和浅拷贝.wmv

│ │ │ 03.结构体的偏移量强化.wmv

│ │ │

│ │ └─笔记和源码

│ │ 19.C进阶 – 结构体中的高级话题.mht

│ │ 结构体套指针.png

│ │

│ ├─20.C++基础 – 引用和函数重载

│ │ │ 01.c 和 c++ 的区别.wmv

│ │ │ 02.常量.wmv

│ │ │ 03.引用和常量引用.wmv

│ │ │ 04.函数重载和默认参数.wmv

│ │ │ 05.类的初探.wmv

│ │ │

│ │ └─笔记和源码

│ │ 20.C++基础 – 引用和函数重载.mht

│ │ NDK_Day20.rar

│ │ 引用实例.png

│ │

│ ├─21.C++基础 – 构造函数、析构函数和拷贝构造函数

│ │ │ 01.构造函数.wmv

│ │ │ 02.析构函数.wmv

│ │ │ 03.malloc、free、new、delete 区别.wmv

│ │ │ 04.拷贝构造函数和调用场景.wmv

│ │ │

│ │ └─笔记和源码

│ │ 01.指针赋值.png

│ │ 02.拷贝构造函数赋值.png

│ │ 21.C++基础 – 构造函数、析构函数和拷贝构造函数.mht

│ │ NDK_Day21.rar

│ │

│ ├─22.C++基础 – 对象大小和友元类

│ │ │ 01.可变参数.wmv

│ │ │ 02.static 关键字.wmv

│ │ │ 03.const 修饰函数.wmv

│ │ │ 04.友元函数和类.wmv

│ │ │

│ │ └─源码和笔记

│ │ 21.C++基础 – 对象大小和友元类.mht

│ │ NDK_Day22.rar

│ │

│ ├─23.C++基础 – 操作符重载和类的继承

│ │ │ 01.加减运算符重载.wmv

│ │ │ 02.条件运算符和括号运算符重载.wmv

│ │ │ 03.类对象的继承.wmv

│ │ │

│ │ └─笔记和源码

│ │ 23.C++基础 – 操作符重载和类的继承.mht

│ │ NDK_Day23.rar

│ │

│ ├─24.C++基础 – 虚继承、虚函数和模板函数

│ │ │ 01.属性初始化.wmv

│ │ │ 02.虚继承.wmv

│ │ │ 03.C++中的多态.wmv

│ │ │ 04.抽象类和接口.wmv

│ │ │ 05.模板函数.wmv

│ │ │

│ │ └─笔记和源码

│ │ 24.C++基础 – 虚继承、虚函数和模板函数.mht

│ │ NDK_Day24.rar

│ │

│ ├─25.C++基础 – 实现 Native 层的 ArrayList

│ │ │ 01.编译流程.wmv

│ │ │ 02.模板类.wmv

│ │ │ 03.ArrayList源码分析.wmv

│ │ │ 04.实现Native层的ArrayList.wmv

│ │ │

│ │ └─笔记和源码

│ │ 25.C++基础 – 实现 Native 层的 ArrayList.mht

│ │ NDK_Day25_AS.rar

│ │ NDK_Day25_VS.rar

│ │

│ ├─26.C++基础 – 异常处理和字符串操作

│ │ │ 01.类型转换.wmv

│ │ │ 02.实现System.arrayCopy.wmv

│ │ │ 03.c++中的异常处理.wmv

│ │ │ 04.字符串操作.wmv

│ │ │

│ │ └─源码和笔记

│ │ 26.C++基础 – 异常处理和字符串操作.mht

│ │ NDK_Day26_AS.rar

│ │ NDK_Day26_VS.rar

│ │

│ ├─27.C++进阶 – Const关键字增强和引用的本质剖析

│ │ │ 01.string字符串的常见操作.wmv

│ │ │ 02.const 关键增强字.wmv

│ │ │ 03.引用的加强.wmv

│ │ │ 04.NDK 异常处理增强.wmv

│ │ │

│ │ └─笔记和源码

│ │ c++中的常量.png

│ │ NDK_Day27_VS.rar

│ │

│ ├─28.C++进阶 – STL 容器的基本介绍和使用

│ │ │ 01.vector和stack容器.wmv

│ │ │ 02.queue基本操作.wmv

│ │ │ 03.list增删改查.wmv

│ │ │ 04.谓词和函数对象.wmv

│ │ │

│ │ └─笔记和源码

│ │ 28.C++进阶 – STL 容器的基本介绍和使用.mht

│ │ NDK_Day28.rar

│ │

│ ├─29.C++进阶 – STL 函数对象和谓词

│ │ │ 01.map容器介绍和使用.wmv

│ │ │ 02.multimap容器介绍和使用.wmv

│ │ │ 03.容器对象拷贝构造函数.wmv

│ │ │ 04.一元谓词和二元谓词.wmv

│ │ │

│ │ └─笔记和源码

│ │ 29.C++进阶 – STL 函数对象和谓词.mht

│ │ NDK_Day29_VS.rar

│ │

│ ├─30.C++进阶 – STL算法设计理念分析

│ │ │ 01.预定义函数对象.wmv

│ │ │ 02.函数适配器.wmv

│ │ │ 03.STL算法设计理念分析.wmv

│ │ │ 04.源码阅读的经验总结.wmv

│ │ │

│ │ └─源码和笔记

│ │ 30.C++进阶 – STL算法设计理念分析.mht

│ │ NDK_Day30_VS.rar

│ │

│ ├─31.Android智能识别 – 银行卡区域裁剪

│ │ │ 01.银行卡识别的思路分析.wmv

│ │ │ 02.bitmap和mat转换.wmv

│ │ │ 03.截取银行卡区域.wmv

│ │ │

│ │ └─源码和资源

│ │ 31.Android智能识别 – 银行卡区域裁剪.mht

│ │ NDK_Day31_AS.rar

│ │

│ ├─32.Android智能识别 – 银行卡数字识别

│ │ │ 01.裁剪银行卡区域.wmv

│ │ │ 02.过滤填充干扰区域.wmv

│ │ │ 03.分割获取银行卡数字.wmv

│ │ │ 04.字符串粘连处理.wmv

│ │ │

│ │ └─笔记和源码

│ │ 32.Android智能识别 – 银行卡数字识别.mht

│ │ NDK_Day31_AS.rar

│ │

│ ├─33.数据结构算法 – 数组与链表

│ │ │ 01.数据结构算法基本概念.wmv

│ │ │ 02.时间复杂度和空间复杂度.wmv

│ │ │ 03.数组与链表源码分析.wmv

│ │ │

│ │ └─笔记和源码

│ │ 33. 数据结构算法 – 数组与链表.mht

│ │ NDK_Day33_VS.rar

│ │

│ ├─34.数据结构算法 – 单链表与双向链表

│ │ │ 01.单链表.wmv

│ │ │ 02.时间复杂度优化.wmv

│ │ │ 03.双向链表.wmv

│ │ │

│ │ └─笔记和源码

│ │ 34. 数据结构算法 – 单链表与双向链表.mht

│ │ NDK_Day34_AS.rar

│ │

│ ├─35.数据结构算法 – 冒泡、选择和插入排序

│ │ │ 01.上次作业讲解.wmv

│ │ │ 02.冒泡排序.wmv

│ │ │ 03.方法宏定义.wmv

│ │ │ 04.时间复杂度求解.wmv

│ │ │ 05.选择排序.wmv

│ │ │ 06.性能测试比较分析.wmv

│ │ │

│ │ └─笔记和源码

│ │ 35. 数据结构算法 – 冒泡、选择和插入排序.mht

│ │ NDK_Day35_AS.rar

│ │ 希尔排序.png

│ │

│ ├─36.数据结构算法 – 冒泡优化、插入和希尔排序

│ │ │ 01.ndk错误日志调试.wmv

│ │ │ 02.冒泡排序优化.wmv

│ │ │ 03.插入排序.wmv

│ │ │ 04.希尔排序.wmv

│ │ │

│ │ └─源码和笔记

│ │ 36. 数据结构算法 – 冒泡优化、插入和希尔排序.mht

│ │ NDK_Day36_AS.rar

│ │

│ ├─37.数据结构算法 – 归并排序和快速排序

│ │ │ 01.上次遗留问题解决.wmv

│ │ │ 02.稳定排序.wmv

│ │ │ 03.归并排序.wmv

│ │ │ 04.归并优化和时间复杂度求解.wmv

│ │ │ 05.快速排序.wmv

│ │ │ 06.快速排序优化.wmv

│ │ │

│ │ └─笔记和源码

│ │ merge数组.png

│ │ NDK_Day36_AS.rar

│ │ 归并排序.png

│ │

│ ├─38.数据结构算法 – 递归和栈结构

│ │ │ 01.循环和递归.wmv

│ │ │ 02.汉诺塔问题.wmv

│ │ │ 03.数组实现栈.wmv

│ │ │ 04.链表实现栈.wmv

│ │ │

│ │ └─源码和笔记

│ │ 38. 数据结构算法 – 递归和栈结构.mht

│ │ NDK_Day38_AS.rar

│ │

│ ├─39.数据结构算法 – 队列和双向队列

│ │ │ 01.汉诺塔问题求解.wmv

│ │ │ 02.位运算.wmv

│ │ │ 03.数组实现队列.wmv

│ │ │

│ │ └─笔记和源码

│ │ 39. 数据结构算法 – 队列和双向队列.mht

│ │ NDK_Day39_AS.rar

│ │

│ ├─40.数据结构算法 – HashMap 源码分析和手写实现

│ │ │ 01.HashMap源码实现分析.wmv

│ │ │ 02.hashCode底层实现分析.wmv

│ │ │ 03.==、equals和hashCode.wmv

│ │ │ 04.手写HashMap扩容.wmv

│ │ │

│ │ └─源码和笔记

│ │ 40. HashMap 源码分析和手写实现.mht

│ │ NDK_Day40.rar

│ │

│ ├─41.数据结构算法 – 树和二叉树

│ │ │ 01.树的定义和分类.wmv

│ │ │ 02.树的存储.wmv

│ │ │ 03.树、森林与二叉树之间互转.wmv

│ │ │

│ │ └─笔记和源码

│ │ 41. 树和二叉树.mht

│ │ NDK_Day41.rar

│ │ 二叉树转树.png

│ │ 树转二叉树.png

│ │ 树转二叉树(2).png

│ │ 森林转二叉树.png

│ │

│ ├─42.数据结构算法 – 二叉树常见操作

│ │ │ 01.二叉树的分类.wmv

│ │ │ 02.二叉树的遍历.wmv

│ │ │ 03.平衡二叉树.wmv

│ │ │

│ │ └─笔记和源码

│ │ 42. 数据结构算法 – 二叉树常用操作.mht

│ │ NDK_Day42.rar

│ │ 二叉树遍历.png

│ │

│ ├─43.数据结构算法 – 优先级队列和堆排序

│ │ │ 01.二叉树序列化和反序列.wmv

│ │ │ 02.优先级队列和堆排序.wmv

│ │ │

│ │ └─笔记和源码

│ │ 43. 数据结构算法 – 优先级队列和堆排序.mht

│ │ NDK_Day34_AS.rar

│ │ 二叉树的序列化和反序列化.png

│ │

│ ├─44.数据结构算法 – 二叉搜索树

│ │ │ 01.二叉搜索树-新增.wmv

│ │ │ 02.二叉搜索树-查找.wmv

│ │ │ 03.二叉搜索树 – 删除.wmv

│ │ │

│ │ └─笔记和源码

│ │ 44. 数据结构算法 – 二叉搜索树.mht

│ │ NDK_Day44.rar

│ │

│ ├─45.数据结构算法 – AVL 树

│ │ │ 01.为什么要引入 AVL 树.wmv

│ │ │ 02.AVL树 – 旋转调整.wmv

│ │ │ 03.AVL树 – 插入调整.wmv

│ │ │

│ │ └─笔记和源码

│ │ NDK_Day45.rar

│ │ 先右旋在左旋.png

│ │ 先左旋再右旋.png

│ │ 右旋.png

│ │ 左旋.png

│ │

│ ├─46.数据结构算法 – AVL 树的新增和移除

│ │ │ 01.新增操作.wmv

│ │ │ 02.删除操作.wmv

│ │ │

│ │ └─源码和笔记

│ │ 46. 数据结构算法 – AVL 树的新增和移除.mht

│ │ NDK_Day46.rar

│ │

│ ├─47.数据结构算法 – 红黑树上篇

│ │ │ 01.红黑树和性质.wmv

│ │ │ 02.红黑树新增逻辑讲解.wmv

│ │ │ 03.红黑树新增代码实现.wmv

│ │ │

│ │ └─笔记和源码

│ │ aaa.png

│ │ NDK_Day47.rar

│ │

│ ├─48.数据结构算法 – 红黑树下篇

│ │ │ 01.红黑树和 AVL 树的算法复杂度分析.wmv

│ │ │ 02.红黑树新增理解.wmv

│ │ │ 03.红黑树的删除操作.wmv

│ │ │

│ │ └─笔记和源码

│ │ 48. 数据结构算法 – 红黑树下篇.mht

│ │ NDK_Day48.rar

│ │

│ ├─49.数据结构算法 – 哈夫曼编码

│ │ │ 01.定长编码和变成编码.wmv

│ │ │ 02.霍夫曼树的构建过程.wmv

│ │ │ 03.代码实现霍夫曼编码和解码.wmv

│ │ │

│ │ └─源码和笔记

│ │ 49. 数据结构算法 – 哈夫曼编码.mht

│ │ NDK_Day48(修正版).rar

│ │ NDK_Day49.rar

│ │ 霍夫曼编码.png

│ │

│ ├─50.数据结构算法 – 图

│ │ │ 01.Java 多线程的内存模型.wmv

│ │ │ 02.synchronized 的底层实现原理.wmv

│ │ │ 03.图的基础定义.wmv

│ │ │

│ │ └─源码和笔记

│ │ 01.霍夫曼编码.png

│ │ 02.多线操作HashMap.png

│ │ 03.synchronized底层实现原理.png

│ │ 04.无向边存储方式.png

│ │ 05.有向边存储方式.png

│ │ 50. 数据结构算法 – 图.mht

│ │

│ ├─51.数据结构算法 – 图的最小生成树和最短路径

│ │ │ 01.邻接表和十字链表.wmv

│ │ │ 02.图的广度和深度优先遍历.wmv

│ │ │ 03.最小生成树.wmv

│ │ │

│ │ └─笔记和源码

│ │ 51. 数据结构算法 – 图的最小生成树和最短路径.mht

│ │ NDK_Day51.rar

│ │ 十字链表.png

│ │ 广度优先遍历.png

│ │ 邻接表.png

│ │

│ ├─52.LeetCode 刷题 – 数字篇

│ │ │ 01.迪杰斯特拉算法.wmv

│ │ │ 02.toSum.wmv

│ │ │ 03.string to integer.wmv

│ │ │

│ │ └─笔记和源码

│ │ 52. LeetCode 刷题 – 数字篇.mht

│ │ NDK_Day52.rar

│ │

│ ├─53.LeetCode 刷题 – 位运算

│ │ │ 01.Reverse Integer.wmv

│ │ │ 02.位运算.wmv

│ │ │ 03.Power of Two.wmv

│ │ │ 04.Power of Three.wmv

│ │ │ 05.Number of 1 Bits.wmv

│ │ │ 06.Factorial Trailing Zeroes.wmv

│ │ │

│ │ └─笔记和源码

│ │ 53. LeetCode 刷题 – 位运算.mht

│ │ 位运算.png

│ │

│ ├─54.LeetCode 刷题 – 树

│ │ │ 01.Binary Tree Inorder Traversal.wmv

│ │ │ 02.Path Sum.wmv

│ │ │ 03.Maximum Depth of Binary Tree.wmv

│ │ │

│ │ └─笔记和源码

│ │ 54. LeetCode 刷题 – 树.mht

│ │

│ ├─55.LeetCode 刷题 – 常用算法思想

│ │ │ 01.贪心算法思想 .wmv

│ │ │ 02.回溯算法思想.wmv

│ │ │ 03.动态规划算法思想.wmv

│ │ │

│ │ └─笔记和源码

│ │ 55. LeetCode 刷题 – 常用算法思想.mht

│ │

│ ├─56.OpenCV – 安装和简介

│ │ │ 01.OpenCV 安装.wmv

│ │ │ 02.操作指针转灰度图.wmv

│ │ │

│ │ └─笔记和源码

│ │ │ 56. OpenCV – 安装和简介.mht

│ │ │ NDK_Day56.rar

│ │ │

│ │ └─opencv需要的dll文件

│ │ concrt140d.dll

│ │ msvcp140d.dll

│ │ opencv_ffmpeg310_64.dll

│ │ opencv_world340.dll

│ │ opencv_world340d.dll

│ │ ucrtbased.dll

│ │

│ ├─57.OpenCV – Android 滤镜效果处理

│ │ │ 01.ColorMatrix 矩阵运算.wmv

│ │ │ 02.Java Bitmap 获取像素操作.wmv

│ │ │ 03.Native 层操作像素指针.wmv

│ │ │ 04.ARGB_8888 和 RGB_565.wmv

│ │ │

│ │ └─笔记和源码

│ │ 57. OpenCV – Android 滤镜效果处理.mht

│ │ NDK_Day57.rar

│ │

│ ├─58.OpenCV – Mat 对象与图像混合

│ │ │ 01.细讲 Mat 对象.wmv

│ │ │ 02.像素获取和修改.wmv

│ │ │ 03.图像混合.wmv

│ │ │ 04.饱和度、亮度和对比度.wmv

│ │ │

│ │ └─笔记和源码

│ │ 58. OpenCV – Mat 对象与图像混合.mht

│ │ NDK_Day58_VS.rar

│ │

│ ├─59.OpenCV – 图像的绘制与卷积操作

│ │ │ 01.inline 内联函数.wmv

│ │ │ 02.绘制形状和文字.wmv

│ │ │ 03.图像的卷积操作.wmv

│ │ │

│ │ └─笔记和源码

│ │ 59. OpenCV – 图像的绘制与模糊.mht

│ │ NDK_Day59_VS.rar

│ │ 卷积操作.png

│ │

│ ├─60.Android 性能优化实战 – 界面卡顿

│ │ │ 01.APP项目介绍.wmv

│ │ │ 02.Android Device Monitor 介绍.wmv

│ │ │ 03.高斯模糊和均值模糊.wmv

│ │ │ 04.Glide源码分析.wmv

│ │ │ 05.LruCache的正确使用姿势.wmv

│ │ │

│ │ └─笔记和源码

│ │ 60. Android 性能优化实战 – 界面卡顿.mht

│ │ NDK_Day60_VS.rar

│ │ 高斯模糊和均值模糊.png

│ │

│ ├─61.Android 性能优化实战 – Bitmap 全面解析

│ │ │ 01.Bitmap 到底占多大的内存.wmv

│ │ │ 02.Bitmap 的内存开辟.wmv

│ │ │ 03.Bitmap 的内存销毁和复用.wmv

│ │ │

│ │ └─笔记和源码

│ │ 61. Android 性能优化实战 – Bitmap 全面解析.mht

│ │ dp、dip、dpi、px .png

│ │ Native层解析 Bitmap 的流程.png

│ │

│ ├─62.OpenCV – 实现图片的美容效果

│ │ │ 01.Bitmap 的内存优化与适配.wmv

│ │ │ 02.线上 OOM 内存 dump 搜集.wmv

│ │ │ 03.实现图片的美容效果.wmv

│ │ │ 04.腐蚀与膨胀.wmv

│ │ │

│ │ └─笔记和源码

│ │ 62. OpenCV – 实现图片的美容效果.mht

│ │ NDK_Day62.rar

│ │

│ ├─63.OpenCV – 验证码自动识别

│ │ │ 01.形态学操作.wmv

│ │ │ 02.过滤验证码的干扰.wmv

│ │ │ 03.上采样与降采样.wmv

│ │ │

│ │ └─笔记和源码

│ │ 63. OpenCV – 验证码自动识别.mht

│ │ NDK_Day63_VS.rar

│ │

│ ├─64.OpenCV – 自定义线性滤波

│ │ │ 01.处理边缘类型.wmv

│ │ │ 02.自定义线性滤波.wmv

│ │ │ 03.图像二值化.wmv

│ │ │

│ │ └─笔记和源码

│ │ 64. OpenCV – 自定义线性滤波.mht

│ │ NDK_Day64_VS.rar

│ │ 卷积操作.png

│ │ 自定义算子.png

│ │

│ ├─65.OpenCV – 图像边缘检测

│ │ │ 01.Sobel 算子.wmv

│ │ │ 02.Laplance 算子.wmv

│ │ │ 03.Canny 边缘检测.wmv

│ │ │

│ │ └─笔记和源码

│ │ 65. OpenCV – 图像边缘检测.mht

│ │ NDK_Day65_VS.rar

│ │ sobel 合并.png

│ │ 微积分求导.png

│ │

│ ├─66.OpenCV – 霍夫检测与重映射

│ │ │ 01.霍夫直线检测.wmv

│ │ │ 02.霍夫圆检测.wmv

│ │ │ 03.重映射.wmv

│ │ │

│ │ └─笔记和源码

│ │ 66. OpenCV – 霍夫检测与重映射.mht

│ │ NDK_Day66_VS.rar

│ │ 霍夫圆检测.png

│ │ 霍夫直线检测.png

│ │

│ ├─67.OpenCV – 色彩空间与直方图

│ │ │ 01. RGB 与 HSV.wmv

│ │ │ 02.直方图均衡化.wmv

│ │ │ 03.直方图计算绘制.wmv

│ │ │

│ │ └─笔记和源码

│ │ 1_01.jpg

│ │ 1_02.jpg

│ │ 1_03.jpg

│ │ 2_01.jpg

│ │ 2_02.png

│ │ 2_03.jpg

│ │ 2_04.png

│ │ 2_05.jpg

│ │ NDK_Day67_VS.rar

│ │

│ ├─68.OpenCV – 直方图比较和匹配

│ │ │ 01. 直方图比较.wmv

│ │ │ 02.直方图的反向投射和模板匹配.wmv

│ │ │

│ │ └─笔记和源码

│ │ 68. OpenCV – 直方图比较和匹配.mht

│ │ NDK_Day68_VS.rar

│ │

│ ├─69.OpenCV – 轮廓查找与图像分水岭

│ │ │ 01.银行卡轮廓查找与绘制.wmv

│ │ │ 02.图形矩和图像分水岭切割.wmv

│ │ │

│ │ └─源码和笔记

│ │ 69. OpenCV – 轮廓查找与图像分水岭.mht

│ │ NDK_Day69_VS.rar

│ │

│ ├─70.OpenCV – 手写 QQ 说说图片效果

│ │ │ 01.Bitmap 的解封装与编解码 .wmv

│ │ │ 02. 镜像和逆世界效果.wmv

│ │ │ 03.浮雕和马赛克效果.wmv

│ │ │ 04.毛玻璃效果.wmv

│ │ │ 05.油画效果和速度油画.wmv

│ │ │

│ │ └─源码和笔记

│ │ 70. OpenCV – 手写 QQ 说说图片效果.mht

│ │ NDK_Day70_AS.rar

│ │ 图形图像处理.png

│ │ 图片 Bitmap 的解压缩和编解码.png

│ │ 逆世界.png

│ │

│ ├─71.OpenCV – 图片的几何变换

│ │ │ 01.图片旋转.wmv

│ │ │ 02.矩阵仿射变换.wmv

│ │ │ 03.reSize() 图片缩放.wmv

│ │ │ 04.remap 重映射 .wmv

│ │ │

│ │ └─笔记和源码

│ │ 71. OpenCV – 图片的几何变换.mht

│ │ NDK_Day71_AS.rar

│ │

│ ├─72.OpenCv – 封装 java 层 sdk 模型

│ │ │ 01.苏宁体育面试题讲解.wmv

│ │ │ 02.NDK 学到什么程度,该怎么学?.wmv

│ │ │ 03.如何封装 java 层 sdk 模型.wmv

│ │ │ 04.动手封装 Opencv 的 Mat.java 对象.wmv

│ │ │ 05.Java 和 C++ 的回收机制.wmv

│ │ │

│ │ └─源码和笔记

│ │ 72. NDK 开发实战 – 封装 java 层 sdk 模型.mht

│ │ NDK_Day72_AS.rar

│ │

│ ├─73.OpenCV – 手写直方图和直方均衡

│ │ │ 01.知识回顾.wmv

│ │ │ 02.手写实现直方图计算.wmv

│ │ │ 03.手写实现归一化.wmv

│ │ │ 04.手写实现直方均衡.wmv

│ │ │

│ │ └─笔记和源码

│ │ 73. OpenCV – 手写直方图和直方均衡.mht

│ │ NDK_Day73_VS.rar

│ │

│ ├─74.NDK开发实战 – 实现人脸的美容效果(上)

│ │ │ 01.卷积模糊算法复杂度分析.wmv

│ │ │ 02.积分图算法介绍.wmv

│ │ │ 03.卷积模糊算法优化.wmv

│ │ │ 04.快速边缘保留算法.wmv

│ │ │

│ │ └─笔记和源码

│ │ 01.积分图计算.png

│ │ 02.快速边缘保留算法.png

│ │ 03.局部方差公式推导.png

│ │ NDK_Day74_VS.rar

│ │

│ ├─75.NDK开发实战 – 实现人脸的美容效果(下)

│ │ │ 01.皮肤区域检测.wmv

│ │ │ 02.皮肤区域融合.wmv

│ │ │ 03.边缘加强与模糊叠加.wmv

│ │ │

│ │ └─笔记和源码

│ │ 75. OpenCV – 实现人脸的美容效果(下).mht

│ │ NDK_Day75_VS.rar

│ │

│ ├─76.NDK开发实战 – 微信公众号二维码检测与识别

│ │ │ 01.实现思路剖析.wmv

│ │ │ 02.算法流程分析.wmv

│ │ │ 03.手写实现.wmv

│ │ │ 04.如何优化.wmv

│ │ │

│ │ └─笔记和源码

│ │ 76. NDK开发实战 – 微信公众号二维码检测与识别.mht

│ │ NDK_Day76_VS.rar

│ │

│ ├─77.人脸识别 – HOG 和 LBP 特征检测

│ │ │ 01. HOG 特征检测的实现原理.wmv

│ │ │ 02. 行人检测.wmv

│ │ │ 03.手写 LBP 特征算法.wmv

│ │ │ 04.haar 特征介绍.wmv

│ │ │

│ │ └─笔记和源码

│ │ 77. 人脸识别 – HOG 和 LBP 特征检测.mht

│ │ Haar特征.png

│ │ hog特征.png

│ │ lbp.特征.png

│ │ lbp表达.png

│ │ NDK_Day77_AS.rar

│ │ peoples.png

│ │ 分网格的梯度方向直方图.png

│ │ 块描述子.png

│ │

│ ├─78.人脸识别 – 实时人脸检测

│ │ │ 01.相机实时检测人脸.wmv

│ │ │ 02.均值,方差与协方差.wmv

│ │ │ 03.特征值与特征向量.wmv

│ │ │ 04.PCA的降维原理与应用.wmv

│ │ │

│ │ └─笔记和源码

│ │ 78. 人脸识别 – 级联分类器.mht

│ │ NDK_Day78_AS.rar

│ │ NDK_Day78_VS.rar

│ │

│ ├─79.NDK开发实战 – 实时人脸检测和识别

│ │ │ 01.样本训练.wmv

│ │ │ 02.实时识别人脸.wmv

│ │ │ 03.后续的安排.wmv

│ │ │

│ │ └─笔记和源码

│ │ 79. NDK开发实战 – 实时人脸检测和识别.mht

│ │ NDK_Day78_AS.rar

│ │ OpenCV-android-sdk.rar

│ │ orl_faces.rar

│ │ 实时人脸检测.gif

│ │ 实时人脸识别.gif

│ │

│ ├─80.音视频技术学习 – 启动篇

│ │ │ 01.音视频基础知识.wmv

│ │ │ 02.视频播放的流程.wmv

│ │ │ 03.音视频编解码.wmv

│ │ │ 04.FFmpeg介绍.wmv

│ │ │

│ │ └─笔记和资料

│ │ 80. 音视频技术学习 – 启动篇.mht

│ │ 视音频分析工具.rar

│ │ 视音频播放流程.png

│ │

│ ├─81.linux 系统编程 – 命令基础,软件卸载与安装

│ │ │ 01.linux常用快键键.wmv

│ │ │ 02.文件和文件夹操作.wmv

│ │ │ 03.用户与用户组.wmv

│ │ │ 04.搜索与查找.wmv

│ │ │ 05.软件安装流程.wmv

│ │ │ 06.压缩与解压缩.wmv

│ │ │

│ │ └─笔记与资料

│ │ 81. linux 系统编程 – 命令基础,软件卸载与安装.mht

│ │ Xftp5.exe

│ │ Xshell5.exe

│ │

│ ├─82.linux 系统编程 – 应用编译运行的工作过程

│ │ │ 01.vim的三种工作模式.wmv

│ │ │ 02.vim常用命令.wmv

│ │ │ 03.gcc编译四个步骤.wmv

│ │ │ 04.动态库与静态库.wmv

│ │ │ 05.虚拟内存.wmv

│ │ │

│ │ └─笔记与源码

│ │ 82. linux 系统编程 – 应用编译运行的工作过程.mht

│ │ vim三种工作模式.png

│ │ 动态库.png

│ │ 虚拟内存布局图.png

│ │

│ ├─83.linux 内核编程 – 文件IO与文件描述符

│ │ │ 01.系统调用.wmv

│ │ │ 02.文件描述符表.wmv

│ │ │ 03.stat与 lstat.wmv

│ │ │ 04.目录操作.wmv

│ │ │

│ │ └─笔记与源码

│ │ 83. linux 内核编程 – 文件IO与文件描述符.mht

│ │ dir_operate.cpp

│ │ 文件描述符.png

│ │ 系统函数与普通函数.png

│ │ 系统调用.png

│ │

│ ├─84.linux 内核编程 – 进程创建与进程管理

│ │ │ 01. pcb 进程控制块.wmv

│ │ │ 02.内存映射.wmv

│ │ │ 03. fork 创建子进程.wmv

│ │ │ 04.父子进程共享.wmv

│ │ │ 05.回收进程.wmv

│ │ │ 06.监听 APP 应用被卸载.wmv

│ │ │

│ │ └─笔记和源码

│ │ 84. linux 内核编程 – 进程创建与进程管理.mht

│ │ fork函数.png

│ │ 内存映射.png

│ │

│ ├─85.linux 内核编程 – IPC 进程间通信

│ │ │ 01.进程间通信的本质.wmv

│ │ │ 02.管道.wmv

│ │ │ 03.信号通信的原理.wmv

│ │ │ 04.共享映射区通信.wmv

│ │ │ 05.mmap的实现原理.wmv

│ │ │

│ │ └─笔记和源码

│ │ 85. linux 内核编程 – IPC 进程间通信.mht

│ │ mmap_ipc_1.cpp

│ │ mmap_ipc_2.cpp

│ │ mmap的实现原理.png

│ │ 管道.png

│ │ 管道的通信机制.png

│ │ 进程间通信.png

│ │

│ ├─86.linux 内核编程 – 线程与多线程同步

│ │ │ 01.线程的创建与销毁.wmv

│ │ │ 02.回收线程.wmv

│ │ │ 03.分离线程.wmv

│ │ │ 04.生产者与消费者.wmv

│ │ │

│ │ └─笔记和源码

│ │ 86. linux 内核编程 – 线程与多线程同步.mht

│ │ binder驱动.png

│ │ thread1.cpp

│ │ thread_comm.cpp

│ │

│ ├─87.CMake 语法 – 自动编译和链接

│ │ │ 01.Makefile、CMake 与 Shell 之间的联系.wmv

│ │ │ 02.Makefile 的一个规则.wmv

│ │ │ 03.Makefile 的两个函数.wmv

│ │ │ 04.Makefile 的三个自动变量.wmv

│ │ │ 05.Cmake 的安装与简介.wmv

│ │ │

│ │ └─笔记与源码

│ │ │ 87. CMake 语法 – 自动编译和链接.mht

│ │ │ cmake 实战.pdf

│ │ │ cmake-3.14.3.tar.gz

│ │ │ GNU_makefile中文手册.pdf

│ │ │ Xftp5.exe

│ │ │

│ │ ├─m1

│ │ │ add.cpp

│ │ │ div.cpp

│ │ │ hello.cpp

│ │ │ Makefile

│ │ │ mul.cpp

│ │ │ sub.cpp

│ │ │

│ │ ├─m2

│ │ │ add.cpp

│ │ │ div.cpp

│ │ │ hello.cpp

│ │ │ Makefile

│ │ │ mul.cpp

│ │ │ sub.cpp

│ │ │

│ │ └─m3

│ │ add.cpp

│ │ div.cpp

│ │ hello.cpp

│ │ Makefile

│ │ mul.cpp

│ │ sub.cpp

│ │

│ ├─88.CMake 语法 – 详解 CMakeLists.txt

│ │ │ 01.CMake 安装问题补充 .wmv

│ │ │ 02.构建生成 .so 动态库.wmv

│ │ │ 03.链接外部动态库与头文件.wmv

│ │ │ 04.编写基于 FFmpeg 开发的 CmakeLists.wmv

│ │ │

│ │ └─笔记与源码

│ │ 88. CMake 语法 – 详解 CMakeLists.mht

│ │

│ ├─89.Shell 脚本 – 详解基础语法

│ │ │ 01.自定义变量与环境变量.wmv

│ │ │ 02.位置参数变量与预定义变量.wmv

│ │ │ 03.条件判断.wmv

│ │ │ 04.流程控制语句.wmv

│ │ │

│ │ └─笔记与源码

│ │ 01.sh

│ │ 02.sh

│ │ 03.sh

│ │ 04.sh

│ │ 05.sh

│ │ 06.sh

│ │ 07.sh

│ │ 89. Shell 脚本 – 详解基础语法.mht

│ │ Linux命令行与shell脚本编程大全.第3版.pdf

│ │

│ ├─90.Shell 脚本 – 自己动手编译 FFmpeg

│ │ │ 01.CMake 交叉编译 Android 动态库.wmv

│ │ │ 02.配置 NDK 环境.wmv

│ │ │ 03.手写 FFmpeg 编译脚本.wmv

│ │ │ 04.编译参数传递详解.wmv

│ │ │ 05.运行调试视音频解码.wmv

│ │ │

│ │ └─笔记与源码

│ │ configure_help.txt

│ │ ffmpeg-3.3.9.tar.gz

│ │ ffmpeg_build.sh

│ │

│ ├─91.FFmpeg – 打造一款万能的音乐播放器

│ │ │ 01.效果演示.wmv

│ │ │ 02.获取 Meta 信息.wmv

│ │ │ 03.解码音频数据.wmv

│ │ │ 04.AudioTack 播放音频的原理.wmv

│ │ │ 05.播放pcm数据.wmv

│ │ │ 06.内存上涨问题分析.wmv

│ │ │

│ │ └─笔记和源码

│ │ 91. FFmpeg – 打造一款万能的音乐播放器.mht

│ │ MusicPlayer.rar

│ │ NDK_Day03.rar

│ │

│ ├─92.FFmpeg – 多线程解码播放

│ │ │ 01.内存上涨问题分析解决.wmv

│ │ │ 02.音频重采样.wmv

│ │ │ 03.添加错误回调到 Java.wmv

│ │ │ 04.多线程解码播放.wmv

│ │ │

│ │ └─笔记和源码

│ │ 92. FFmpeg – 多线程解码播放.mht

│ │ MusicPlayer.rar

│ │

│ ├─93.FFmpeg – OpenSLES 播放音频数据

│ │ │ 01.JNIEnv 子线程回调 Java 问题.wmv

│ │ │ 02.OpenSLES 播放音频原理分析.wmv

│ │ │ 03.OpenSLES 播放音频数据.wmv

│ │ │ 04.抽取准备方法.wmv

│ │ │ 05.整理代码架构.wmv

│ │ │

│ │ └─笔记与源码

│ │ 93. FFmpeg – OpenSLES 播放音频数据.mht

│ │ MusicPlayer.rar

│ │ OpenSLES_Study.rar

│ │

│ ├─94.FFmpeg – 线程队列边解码边播放

│ │ │ 01.编译错误解决.wmv

│ │ │ 02.添加准备完毕回调.wmv

│ │ │ 03.用队列边解码边播放.wmv

│ │ │ 04.再次整理代码架构.wmv

│ │ │ 05.所有功能代码走读.wmv

│ │ │

│ │ └─笔记与源码

│ │ 94. FFmpeg – 线程队列边解码边播放.mht

│ │ MusicPlayer.rar

│ │

│ ├─95.FFmpeg – Android 视频播放器

│ │ │ 01. 整合音乐播放器项目.wmv

│ │ │ 02.OpenGLES 渲染视频.wmv

│ │ │ 03.界面的渲染流程.wmv

│ │ │ 04.SurfaceView 渲染视频.wmv

│ │ │ 05.下节课的安排.wmv

│ │ │

│ │ └─笔记与源码

│ │ 95. FFmpeg – Android 视频播放器.mht

│ │ NDK_Day03.rar

│ │ VideoPlayer.rar

│ │ 页面渲染流程.png

│ │

│ ├─96.FFmpeg – 音视频同步

│ │ │ 01.调整音乐播放器项目架构.wmv

│ │ │ 02.模板模式整合视频解码.wmv

│ │ │ 03.视音频同步的思想.wmv

│ │ │ 04.实现视音频同步.wmv

│ │ │

│ │ └─笔记与源码

│ │ 96. FFmpeg – 音视频同步.mht

│ │ VideoPlayer.rar

│ │ 视音频同步.png

│ │

│ ├─97.FFmpeg – Android 直播推拉流

│ │ │ 01.自己动手搭建流媒体服务器.wmv

│ │ │ 02.配置流媒体环境.wmv

│ │ │ 03.集成 RTMP 推流源码.wmv

│ │ │ 04.初始化 RTMP 推流.wmv

│ │ │ 05.回调 Java 层监听初始化状态.wmv

│ │ │

│ │ └─笔记和源码

│ │ 97. FFmpeg – Android 直播推拉流.mht

│ │ ffmpeg-20190706-feade2b-win64-static.rar

│ │ LivePush.rar

│ │ OpenGLES.rar

│ │ rtmpdump.rar

│ │

│ ├─98.FFmpeg – 朋友圈录制视频加背景音乐

│ │ │ 01.销毁推流 RTMP.wmv

│ │ │ 02.OpenGL 的坐标系.wmv

│ │ │ 03.OpenGL 渲染流程介绍.wmv

│ │ │ 04. OpenGL 渲染摄像头数据.wmv

│ │ │ 05.硬编码视频合成文件.wmv

│ │ │ 06.给视频添加滤镜效果.wmv

│ │ │

│ │ └─笔记和源码

│ │ LivePush.rar

│ │ NDK_Day03.rar

│ │ OpenGL 的渲染原理.png

│ │ 纹理左边系.png

│ │

│ └─99.FFmpeg – H.264 协议详解

│ │ 01.播放音频同时回调 PCM 数据.wmv

│ │ 02.录制视频加背景音乐.wmv

│ │ 03.视频录制加背景音乐流程回顾.wmv

│ │ 04.详解 H.264 协议.wmv

│ │ 05.获取 MediaCodec 的 sps 和 pps .wmv

│ │

│ └─笔记和源码

│ h264协议详解.png

│ LivePush.rar

│ NDK_Day03.rar

│ 视频录制添加背景音乐的流程.png

├─Android进阶之旅-系统架构篇

│ │ [Content_Types].xml

│ │ 系统架构测试题.docx

│ │

│ ├─01.面向对象六大基本原则 – 网络引擎切换

│ │ │ 01.系统架构整个课程体系.mp4

│ │ │ 02.开发中的问题分析.mp4

│ │ │ 03.结合实例讲解六大原则.mp4

│ │ │

│ │ └─源码和笔记

│ │ 01.面向对象六大基本原则 – 网络引擎切换.mht

│ │ Architect_Day01.rar

│ │

│ ├─02.AOP面向切面编程 – 淘宝京东网络处理

│ │ │ 01.面向对象六大原则回顾.mp4

│ │ │ 02.面向切面编程使用场景.mp4

│ │ │ 03.京东和淘宝网络处理.mp4

│ │ │

│ │ └─源码和笔记

│ │ 02.AOP面向切面编程 – 淘宝京东网络处理.mht

│ │ Architect_Day02.rar

│ │

│ ├─03.UML建模 – View 的 Touch 事件分发流程

│ │ │ 01.UML建模简介.mp4

│ │ │ 02.类图-Window底层架构.mp4

│ │ │ 03.时序图-Activity启动流程.mp4

│ │ │

│ │ └─笔记和源码

│ │ 03.UML建模 – View 的 Touch 事件分发流程.mht

│ │ Architect_Day03.rar

│ │ UML建模.mdj

│ │

│ ├─04.基础知识扫盲 – 反射注解和泛型

│ │ │ 01.反射使用介绍.mp4

│ │ │ 02.动态注入和泛型.mp4

│ │ │

│ │ └─源码和笔记

│ │ 04. 基础知识扫盲 – 反射注解和泛型.mht

│ │ Architect_Day04.rar

│ │

│ ├─05.编译时注解 – ButterKnife源码分析和手写

│ │ │ 01.ButterKnife源码分析.mp4

│ │ │ 02.自己动手写ButterKnife.mp4

│ │ │ 03.对于ButterKnife源码的思考.mp4

│ │ │

│ │ └─源码和笔记

│ │ 05.编译时注解 – ButterKnife源码分析和手写.mht

│ │ Architect_Day05.rar

│ │ Architect_Day05_Id修正版.rar

│ │

│ ├─06.编译时注解 – 绕过微信支付和分享的局限

│ │ │ 01.架构的演变之路.mp4

│ │ │ 02.编译时注解绕过微信支付的局限.mp4

│ │ │ 03.自定义View试题讲解.mp4

│ │ │

│ │ └─源码和笔记

│ │ 06. 编译时注解 – 绕过微信支付和分享的局限.mht

│ │ Architect_Day06.rar

│ │

│ ├─07.Handler通信 – 源码分析和手写Handler框架

│ │ │ 01.面试题讲解.mp4

│ │ │ 02.消息队列和消息循环.mp4

│ │ │ 03.手写整个handler架构.mp4

│ │ │

│ │ └─源码和笔记

│ │ 07.Handler通信 – 源码分析和手写Handler框架.mht

│ │ Architect_Day06_EC.rar

│ │ MessageQueue消息队列.png

│ │ ThreadLocal线程安全.png

│ │ 数组和链表的区别.png

│ │

│ ├─08.单例设计模式 – 强大的 Activity 管理

│ │ │ 01.设计模式定义.mp4

│ │ │ 02.单例设计模式讲解.mp4

│ │ │ 03.volatile 关键字.mp4

│ │ │ 04.Activity管理类.mp4

│ │ │

│ │ └─源码和笔记

│ │ 08. 单例设计模式 – 强大的 Activity 管理.mht

│ │ Architect_day08.rar

│ │ volatile重排序.png

│ │

│ ├─09.Builder设计模式 – 增强版 NavigationBar

│ │ │ 01.Builder设计模式介绍.mp4

│ │ │ 02.builer设计模式构建NavigationBar.mp4

│ │ │ 03.给NavigationBar绑定参数.mp4

│ │ │ 04.如何提高代码的扩展.mp4

│ │ │

│ │ └─笔记和源码

│ │ 09. Builder设计模式 – 增强版 NavigationBar.mht

│ │ Architect_day09.rar

│ │ navigationbar.png

│ │ 建造者模式.png

│ │

│ ├─10.工厂设计模式 – 数据存储的特有方式

│ │ │ 01.工厂设计模式-(模式介绍).mp4

│ │ │ 02.工厂设计模式-(数据存储).mp4

│ │ │ 03.工厂设计模式-(使用场景).mp4

│ │ │

│ │ └─笔记和源码

│ │ 10.工厂设计模式 – 数据存储的特有方式.mht

│ │ Architect_day10.rar

│ │ 工厂设计模式.mdj

│ │

│ ├─11.装饰设计模式 – RecyclerView添加头部和底部

│ │ │ 01.国庆具体安排.mp4

│ │ │ 02.装饰设计模式事例.mp4

│ │ │ 03.RecyclerView添加底部和头部.mp4

│ │ │ 04.android源码分析.mp4

│ │ │

│ │ └─笔记和源码

│ │ 11.装饰设计模式 – RecyclerView添加头部和底部.mht

│ │ Architect_Day11.rar

│ │

│ ├─12.模版设计模式 – 自己动手写 OkHttp 的 Dispatcher

│ │ │ 01.模板设计模式介绍.mp4

│ │ │ 02.模板设计模式构建BaseActivity.mp4

│ │ │ 03.线程池介绍.mp4

│ │ │ 04.OkHttp 的 Dispatcher源码分析.mp4

│ │ │

│ │ └─笔记和源码

│ │ 12. 模版设计模式 – 自己动手写 OkHttp 的 Dispatcher.mht

│ │ Architect_Day12.rar

│ │

│ ├─13.策略设计模式 – Log 日志输出策略

│ │ │ 01.策略设计模式介绍.mp4

│ │ │ 02.属性动画源码分析.mp4

│ │ │ 03.log日志输出策略.mp4

│ │ │

│ │ └─源码和笔记

│ │ 13.策略设计模式 – Log 日志输出策略.mht

│ │ Architect_Day13.rar

│ │

│ ├─14.Adapter设计模式 – 打造通用的 IndicatorView

│ │ │ 01.属性动画源码分析.mp4

│ │ │ 02.Adapter模式介绍.mp4

│ │ │ 03.自己动手写一个ListView.mp4

│ │ │

│ │ └─源码和笔记

│ │ 14. Adapter设计模式 – 打造通用的 IndicatorView.mht

│ │ Architect_day14.rar

│ │ 属性动画源码分析.mdj

│ │

│ ├─15.观察者设计模式 – 观察数据的插入

│ │ │ 01.观察者设计模式 – 定义.mp4

│ │ │ 02.观察者设计模式 – 角色划分.mp4

│ │ │ 03.观察者设计模式 – 推拉模式.mp4

│ │ │ 04.观察者设计模式 – Java自带的观察者.mp4

│ │ │ 05.观察者设计模式 – 观察数据插入.mp4

│ │ │ 06.观察者设计模式 – UML图.mp4

│ │ │

│ │ └─源码和笔记

│ │ 15. 观察者设计模式 – 观察数据的插入.mht

│ │ Architect_Day15.rar

│ │ 观察者设计模式(类图).mdj

│ │

│ ├─16.代理设计模式 – 实现 Retrofit 的 create

│ │ │ 01.代理设计模式 – 模式定义.mp4

│ │ │ 02.代理设计模式 – 静态代理.mp4

│ │ │ 03.代理设计模式 – 动态代理.mp4

│ │ │ 04.代理设计模式 – Retrofit介绍.mp4

│ │ │ 05.代理设计模式 – 实现Retrofit的create.mp4

│ │ │

│ │ └─源码和笔记

│ │ 16. 代理设计模式 – 实现 Retrofit 的 create.mht

│ │ Architect_Day16.rar

│ │ OKHttpDemo.rar

│ │

│ ├─17.原型设计模式 – 订单查询拆分

│ │ │ 01.原型设计模式 – 模式的定义.mp4

│ │ │ 02.原型设计模式 – 订单拆分.mp4

│ │ │ 03.原型设计模式 – 浅拷贝和深拷贝.mp4

│ │ │ 04.原型设计模式 – 使用场景.mp4

│ │ │

│ │ └─源码和笔记

│ │ 17.原型设计模式 – 订单查询拆分.mht

│ │ Architect_Day17.rar

│ │ 原型设计模式.mdj

│ │

│ ├─18.迭代器设计模式 – 构建通用 BottomTabNavigationBar

│ │ │ 01.迭代器设计模式 – 模式的定义.mp4

│ │ │ 02.迭代器设计模式 – QQ和WX用户信息共用.mp4

│ │ │ 03.迭代器设计模式 – UML类图.mp4

│ │ │ 04.迭代器设计模式 – 构建底部导航栏.mp4

│ │ │

│ │ └─笔记和源码

│ │ 18. 迭代器设计模式 – 构建通用 BottomTabNavigationBar.mht

│ │ Architect_Day18.rar

│ │ 迭代器设计模式.mdj

│ │

│ ├─19.责任链设计模式 – QQ微信多用户系统检测

│ │ │ 01.如何编译so库文件.mp4

│ │ │ 02.责任链设计模式讲解.mp4

│ │ │ 03.门面设计模式讲解.mp4

│ │ │

│ │ └─笔记和源码

│ │ 19. 责任链设计模式 – QQ微信多用户系统检测.mht

│ │ Architect_Day19.rar

│ │

│ ├─20.设计模式 – 23种模式总结(前篇)

│ │ │ 01.享元设计模式.mp4

│ │ │ 02.命令设计模式.mp4

│ │ │

│ │ └─笔记和源码

│ │

│ ├─21.设计模式 – 23种模式总结(后篇)

│ │ │ 01.状态设计模式.mp4

│ │ │ 02.桥接设计模式.mp4

│ │ │ 03.中介设计模式.mp4

│ │ │ 04.备忘录设计模式.mp4

│ │ │

│ │ └─笔记和源码

│ │ 21. 设计模式 – 23种模式总结(后篇).mht

│ │ Architect_Day21.rar

│ │

│ ├─22.第三方开源库 EventBus – 源码分析和手写

│ │ │ 01.register注册分析.mp4

│ │ │ 02.post发送源码分析.mp4

│ │ │ 03.自己动手写EventBus.mp4

│ │ │

│ │ └─源码和笔记

│ │ 22.第三方开源库 EventBus – 源码分析和手写.mht

│ │ Architect_Day22.rar

│ │ EventBus_Source.rar

│ │

│ ├─23.第三方开源库 OKHttp – Java网络编程基础

│ │ │ 01.搭建自己的测试服务器.mp4

│ │ │ 02.Cookie、Session和Token.mp4

│ │ │ 03.HTTP缓存处理.mp4

│ │ │

│ │ └─源码笔记

│ │ 23.第三方开源库 OKHttp – Java网络编程基础.mht

│ │ apache-tomcat-7.0.81-windows-x64.zip

│ │ eclipse.rar

│ │ fastjson.jar

│ │ Http1.0和Http2.0的区别.png

│ │ OkHttpServer.rar

│ │ 对称加密.jpg

│ │ 非对称加密.jpg

│ │

│ ├─24.第三方开源库 OKHttp – 整体架构和源码分析

│ │ │ 01.http状态码详解.mp4

│ │ │ 02.http和https的区别.mp4

│ │ │ 03.怎样动手打造一套网络框架.mp4

│ │ │ 04.整体架构和源码分析.mp4

│ │ │

│ │ └─笔记和源码

│ │ 24.第三方开源库 OKHttp – 整体架构和源码分析.mht

│ │ Architect_Day24.rar

│ │ Http1.0和Http2.0的区别.png

│ │ 对称加密.jpg

│ │ 非对称加密.jpg

│ │

│ ├─25.第三方开源库 OKHttp – 自己动手写表单提交和文件上传

│ │ │ 01.OkHttp基本框架搭建.mp4

│ │ │ 02.post提交参数.mp4

│ │ │ 03.表单文件上传.mp4

│ │ │

│ │ └─笔记和源码

│ │ 25. 第三方开源库 OKHttp – 自己动手写表单提交和文件上传.mht

│ │ Architect_Day25.rar

│ │

│ ├─26.第三方开源库 OKHttp – 源码精髓之拦截器分析

│ │ │ 01.源码精髓责任链模式分析.mp4

│ │ │ 02.RetryAndFollowUpInterceptor拦截器分析.mp4

│ │ │ 03.BridgeInterceptor拦截器分析.mp4

│ │ │ 04.CacheInterceptor拦截器分析.mp4

│ │ │ 05.ConnectInterceptor拦截器分析.mp4

│ │ │ 06.连接三个核心类分析.mp4

│ │ │

│ │ └─笔记和源码

│ │ 26. 第三方开源库 OKHttp – 源码精髓之拦截器分析.mht

│ │ Architect_Day26.rar

│ │ OkHttp_Source.rar

│ │

│ ├─27.第三方开源库 OKHttp – 上传进度监听和自定义缓存

│ │ │ 01.OkHttp上传文件.mp4

│ │ │ 02.OkHttp文件上传进度监听.mp4

│ │ │ 03.OkHttp自定义缓存拦截.mp4

│ │ │

│ │ └─源码和笔记

│ │ 27.第三方开源库 OKHttp – 上传进度监听和自定义缓存.mht

│ │ Architect_Day27.rar

│ │

│ ├─28.第三方开源库 OKHttp – 文件断点下载

│ │ │ 01.OkHttp单线程下载.mp4

│ │ │ 02.OkHttp多线程断点下载.mp4

│ │ │

│ │ └─源码和笔记

│ │ 28. 第三方开源库 OKHttp – 文件断点下载.mht

│ │ Architect_Day28.rar

│ │ 多线程下载.png

│ │

│ ├─29.第三方开源库 RXJava – 基本使用和源码分析

│ │ │ 01.网络图片加水印的一般写法.mp4

│ │ │ 02.RxJava的基本操作符讲解.mp4

│ │ │ 03.自己动手写RxJava的观察者模式.mp4

│ │ │

│ │ └─源码和笔记

│ │ 29.第三方开源库 RXJava – 基本使用和源码分析.mht

│ │ Architect_Day29.rar

│ │ 事件流.png

│ │

│ ├─30.第三方开源库 RxJava – 自己动手写事件变换

│ │ │ 01.手写RxJava事件变换.mp4

│ │ │ 02.再次讲解事件流编程思想.mp4

│ │ │ 03.面试题讲解.mp4

│ │ │

│ │ └─笔记和源码

│ │ 30.第三方开源库 RxJava – 自己动手写事件变换.mht

│ │ Architect_Day30.rar

│ │

│ ├─31.第三方开源库 RxJava – 自己动手线程调度切换

│ │ │ 01.事件变换源码回顾.mp4

│ │ │ 02.自己动手写子线程切换.mp4

│ │ │ 03.自己动手写主线程切换.mp4

│ │ │

│ │ └─笔记和源码

│ │ 31. 第三方开源库 RxJava – 自己动手线程调度切换.mht

│ │ Architect_Day31.rar

│ │

│ ├─32.第三方开源库 RxJava – Android实际开发场景

│ │ │ 01.响应式编程常见使用场景.mp4

│ │ │ 02.RxPermission源码分析.mp4

│ │ │ 03.自己动手写一个RxLogin.mp4

│ │ │

│ │ └─笔记和源码

│ │ 32. 第三方开源库 RxJava – Android实际开发场景.mht

│ │ Architect_Day32.rar

│ │

│ ├─33.第三方开源库 Retrofit – 源码设计模式分析

│ │ │ 01.Retrofit基本使用和分析.mp4

│ │ │ 02.Retrofit常见问题解决.mp4

│ │ │ 03.Retrofit源码设计模式分析.mp4

│ │ │

│ │ └─源码和笔记

│ │ 33.第三方开源库 Retrofit – 源码设计模式分析.mht

│ │ Architect_Day33.rar

│ │

│ ├─34.第三方开源库 Retrofit – 自己动手写核心架构部分

│ │ │ 01.阿里算法面试题讲解.mp4

│ │ │ 02.Retrofit注解解析和封装.mp4

│ │ │ 03.手写Retrofit发送请求.mp4

│ │ │

│ │ └─笔记和源码

│ │ 34. 第三方开源库 Retrofit – 自己动手写核心架构部分.mht

│ │ Architect_Day34.rar

│ │

│ ├─35.第三方开源库封装 – OkHttp + RxJava + Retrofit

│ │ │ 01.Retrofit+OkHttp+RxJava封装.mp4

│ │ │ 02.实用场景选择分析.mp4

│ │ │

│ │ └─笔记和源码

│ │ 35.第三方开源库 – OkHttp + RxJava + Retrofit.mht

│ │ Architect_Day35.rar

│ │

│ ├─36.第三方开源库 Retrofit – 自己动手优化网络引擎

│ │ │ 01.网络引擎-(兼容 Retrofit ).mp4

│ │ │ 02.自己动手优化网络引擎.mp4

│ │ │ 03.面试题讲解(主线程和子线程).mp4

│ │ │

│ │ └─笔记和源码

│ │ 36. 第三方开源库 Retrofit – 自己动手优化网络引擎.mht

│ │ Architect_Day36.rar

│ │

│ ├─37.开发模式 MVP – 基础框架搭建分析

│ │ │ 01.MVC和MVP介绍.mp4

│ │ │ 02.MVC和MVP对比分析.mp4

│ │ │ 03.泛型构建基类.mp4

│ │ │ 04.动态代理优化.mp4

│ │ │

│ │ └─笔记和源码

│ │ 37.开发模式 MVP – 基础框架搭建分析.mht

│ │ Architect_Day37.rar

│ │

│ ├─38.开发模式 MVP – 静态代理和动态扩展

│ │ │ 01.动态创建 Model.mp4

│ │ │ 02.解决一对多的问题.mp4

│ │ │ 03.静态代理封装.mp4

│ │ │ 04.GC回收原理分析.mp4

│ │ │

│ │ └─笔记和源码

│ │ 38. 开发模式 MVP – 静态代理和动态扩展.mht

│ │ Architect_Day38.rar

│ │

│ ├─39.项目实战 – 代码架构和运行时架构

│ │ │ 01.作业讲解.mp4

│ │ │ 02.运行时架构和代码架构.mp4

│ │ │ 03.怎么选择架构层级和第三方.mp4

│ │ │

│ │ └─笔记和源码

│ │ 39. 项目实战 – 代码架构和运行时架构.mht

│ │ Architect_Day39.rar

│ │

│ ├─40.项目实战 – 系统架构部分的总结和展望

│ │ │ 01.知识梳理.mp4

│ │ │ 02.后续规划.mp4

│ │ │ 03.问题交流.mp4

│ │ │

│ │ └─源码和笔记

│ │ 40. 项目实战 – 系统架构部分的总结和展望.mht

│ │

│ ├─41.第三方开源库 Glide – 源码分析(补)

│ │ │ 01.Glide源码的营养.mp4

│ │ │ 02.Glide源码时序图.mp4

│ │ │

│ │ └─源码和笔记

│ │ 02.第三方开源库 Glide – 源码分析(补).mht

│ │ Glide时序图流程.mdj

│ │

│ ├─42.Android 多模块多组件开发 – 打造属于自己的路由(补)

│ │ │ 01.多模块多组件开发.mp4

│ │ │ 02.DRouter的基本使用.mp4

│ │ │ 03.DRouter的源码分析.mp4

│ │ │

│ │ └─源码和笔记

│ │ 04. Android 多模块多组件开发 – 打造属于自己的路由.mht

│ │ Architect_Day42.rar

│ │

│ ├─43.经验分享 – 深圳社招大厂面试分享(补)

│ │ │ 01.一些好的条件.mp4

│ │ │ 02.面试经验分享.mp4

│ │ │ 03.Handler面试题讲解.mp4

│ │ │ 04.Binder驱动面试题讲解.mp4

│ │ │

│ │ └─源码和笔记

│ │ 43. 经验分享 – 深圳社招大厂面试分享(补).mht

│ │ 无标题.png

│ │

│ ├─customXml

│ │ │ item1.xml

│ │ │ itemProps1.xml

│ │ │

│ │ └─_rels

│ │ item1.xml.rels

│ │

│ ├─docProps

│ │ app.xml

│ │ core.xml

│ │ custom.xml

│ │

│ ├─word

│ │ │ document.xml

│ │ │ fontTable.xml

│ │ │ numbering.xml

│ │ │ settings.xml

│ │ │ styles.xml

│ │ │

│ │ ├─theme

│ │ │ theme1.xml

│ │ │

│ │ └─_rels

│ │ document.xml.rels

│ │

│ └─_rels

│ .rels

└─Android进阶之旅-自定义View篇

│ zfdev_tree.txt

│ 自定义View测试题.docx

├─01.自定义View简介 – onMeasure,onDraw,自定义属性

│ 01.自定义View简介.mp4

│ 02.构造方法调用场景.wmv

│ 03.高级面试题讲解.wmv

│ 04.设计模式(责任链模式).wmv

│ 05.自定义属性的一些细节.wmv

│ 笔记和源码.zip

├─02.自定义View入门 – 自定义TextView

│ 01.昨日内容回顾.wmv

│ 02.onMeasure()实战测量.wmv

│ 03.onDraw()方法基线计算.wmv

│ 04.高级面试题讲解.wmv

├─03.自定义View – 仿QQ运动步数进度效果

│ 01.效果实现思路分析.wmv

│ 02.绘制最外层的大圆弧.wmv

│ 03.功能效果完善.wmv

│ 04.功能测试及动画加载.wmv

│ 05.invalidate()源码分析.wmv

│ 06.WX朋友圈过度渲染优化.wmv

│ 源码和笔记.zip

│ 笔记和源码.zip

├─04.自定义View – 玩转字体变色

│ 01.字体变色效果分析.wmv

│ 02.实现一个文字两种颜色.wmv

│ 03.增加不同朝向的方法.wmv

│ 04.下周任务布置.wmv

├─05.自定义View – Paint画笔作业讲解

│ 01.打造炫酷的进度条-(效果实现分析).wmv

│ 02.打造炫酷的进度条-(画进度内圆).wmv

│ 03.打造炫酷的进度条-(画外圆弧和文字).wmv

│ 04.打造炫酷的进度条-(最后的测试).wmv

│ 05.仿58同城数据加载-(形状切换效果实现).wmv

├─06.自定义View – 评分控件RatingBar

│ 01.效果实现分析.wmv

│ 02.初始化显示评分控件.wmv

│ 03.触摸交互和内存优化.wmv

│ 04.onTouch()源码分析.wmv

├─07.自定义View – 字母索引列表

│ 01.效果实现分析.wmv

│ 02.绘制26个字母.wmv

│ 03.接口回掉和优化.wmv

├─08.源码阅读分析 – View的绘制流程

│ 01.面试题介绍.wmv

│ 02.WindowManagerImpl绘制流程入口.wmv

│ 03.第一步measure()源码分析.wmv

├─09.自定义ViewGroup – 第五大布局容器

│ 01.View的绘制流程.wmv

│ 02.根据源码思考和优化.wmv

│ 03.onMeausre()测量和onLayout()摆放.wmv

│ 04.最后的测试和任务布置.wmv

├─10.源码阅读分析 – View的Touch事件分发

│ 01.Adapter设计模式讲解.wmv

│ 02.自定义View和ViewGroup的套路总结.wmv

│ 03.View的Touch事件分发.wmv

├─11.源码阅读分析 – ViewGroup的Touch事件分发

│ 01.View的事件分发回顾.wmv

│ 02.ViewGroup的事件分发源码分析.wmv

│ 03.Touch事件分发最后的总结.wmv

│ 笔记和源码.zip

├─12.Touch事件分发 – 酷狗侧滑菜单效果

│ 01.效果实现分析.wmv

│ 02.处理触摸事件.wmv

│ 03.处理缩放和透明度.wmv

│ 04.任务布置和思考.wmv

│ 笔记和源码.zip

├─13.Touch事件分发 – QQ6.0侧滑菜单效果

│ 01.事件拦截作业讲解.wmv

│ 02.View绘制流程回顾.wmv

│ 03.实现QQ6.0侧滑效果.wmv

├─14.Touch事件分发 – 汽车之家折叠列表

│ 01.ViewDragHelper使用介绍.wmv

│ 02.列表菜单效果实现.wmv

│ 03.Touch事件分发实战.wmv

├─15.Touch事件分发 – 九宫格解锁

│ 01.Kotlin介绍.mov

│ 02.初始化九宫格显示.mov

│ 03.处理onTouch事件.mov

│ 04.绘制连线和箭头三角.mov

├─16.Material Design – 常用控件介绍和使用

│ 01.kotlin九宫格回顾.wmv

│ 02.基本控件介绍-(RecyclerView,DrawerLayout).wmv

│ 03.CoordinatorLayout和Behavior介绍.wmv

├─17.Material Design – 沉浸式状态栏

│ 01.给状态栏设置颜色.wmv

│ 02.设置状态栏为透明.wmv

├─18.Material Design – 自定义Behavior

│ 01.昨日遗留问题解决.wmv

│ 02.CoordinatorLayout和Behavior介绍.wmv

│ 03.自定义Behavior.wmv

├─19.Material Design – 打造RecyclerView通用下拉刷新上拉加载

│ 01.视频项目介绍.wmv

│ 02.系统架构和六大基本原则.wmv

│ 03.侧滑拖动删除.wmv

├─20.Material Design – CoordinatorLayout 和 SnackBar 源码分析

│ 01.CoordinatorLayout源码分析.wmv

│ 02.Behavior的工作原理.wmv

│ 03.SnackBar源码分析.wmv

├─21.属性动画 – 58同城数据加载动画

│ 01.属性动画介绍.wmv

│ 02.动画效果实现分析.wmv

│ 03.性能优化.wmv

├─22.属性动画 – 常见多条目菜单筛选

│ 01.效果实现分析.wmv

│ 02.Adapter设计模式适配.wmv

│ 03.菜单动画实现.wmv

├─23.属性动画 – 花束直播加载效果

│ 01.观察者设计模式讲解.wmv

│ 02.花束直播加载动画分析和实现.wmv

├─24.贝塞尔曲线 – 上堂真正的数学课

│ 01.绘制两个圆.wmv

│ 02.贝塞尔曲线介绍.wmv

│ 03.绘制贝塞尔曲线.wmv

├─25.贝塞尔曲线 – 让所有 View 都可拖动爆炸

│ 01.效果演示和分析.wmv

│ 02.整合贝塞尔曲线.wmv

│ 03.消息回弹和爆炸.wmv

│ 笔记和源码.zip

├─26.贝塞尔曲线 – 花束直播点赞效果

│ 01.添加点赞图片.wmv

│ 02.自定义贝塞尔Evaluator.wmv

│ 03.确定贝塞尔的控制点.wmv

│ 04.效果和性能优化.wmv

│ 笔记和源码.zip

├─27.视差动画 – 酷狗音乐引导页

│ 01.效果演示和分析.wmv

│ 02.拦截View的创建.wmv

│ 03.解析自定义属性.wmv

│ 04.监听滑动改变位置.wmv

│ 笔记和源码.zip

├─28.视差动画 – 雅虎新闻摘要加载

│ 01.效果分析和实现.wmv

│ 02.实现旋转动画.wmv

│ 03.实现聚合和扩散.wmv

├─29.源码阅读分析 – Window底层原理与系统架构

│ 01.PhoneWindow的创建过程.wmv

│ 02.布局的测量和绘制过程.wmv

│ 03.窗口与WindowManagerService服务的连接过程.wmv

│ 笔记和源码.zip

├─30.性能优化 – UI渲染和布局适配

│ 01.内存泄漏和内存抖动.wmv

│ 02.自定义View代码优化.wmv

│ 03.UI渲染与界面卡顿.wmv

│ 04.资源和布局适配.wmv

│ 05.图片适配.wmv

│ 源码和笔记.zip

│ 笔记和源码.zip

└─31.自定义炫酷动画 – 抢红包动效

01.适配进度条动画.wmv

02.实现爆炸扩散动画.wmv

源码和笔记.zip