Jetpack开发短视频应用实战
第1章 课程导学与准备工作
本章主要介绍为何要带大家学习当下最新的前沿技术Jetpack,展示本门课程项目,讲解学习阶梯和实现思路,之后会为大家介绍本课程内容具体安排,最后给出如何学好这门课程的一些学习建议。希望大家都能通过这门课程,学有所成,学有所归。…
1-1 课前必读(不看会错过一个亿)
1-2 课程介绍及学习指导 试看
第2章 配置开发环境
本章将带你从零开始安装和配置短视频项目开发环境。完成服务器环境搭建,文件上传鉴权服务器环境搭建,本地数据库数据导入工作。
2-1 客户端环境配置 试看
2-2 服务端项目讲解&环境搭建
2-3 Mysql数据库配置和数据导入
2-4 文件鉴权服务器介绍
第3章 搭建短视频App基础架构
本章首先带大家创建出客户端工程,并且使用navigation template模板完成项目的初始化。从navigation框架原理分析开始,带你摒弃掉传统思想,一起来使用注解处理器自动完成页面路由构建,最后手把手带你定制Fragment导航器。
3-1 jetpack概述
3-2 navigation工作原理剖析
3-3 创建自定义navigation注解处理器 试看
3-4 构建页面路由导航图
3-5 构建底部导航栏
3-6 app定制Fragment导航器
第4章 搭建网络库&Room缓存框架
本章带你完成短视频的基础设施建设,封装一套Http请求框架,在这里你不仅会详细了解泛型参数的边界问题,还会了解Room数据库所有注解的使用场景,以及掌握如何使用Room数据库搭配网络框架实现缓存的能力。
4-1 网络库的封装,泛型参数边界1
4-2 网络库的封装,泛型参数边界2
4-3 room数据库的创建
4-4 room数据库众多注解讲解1
4-5 room数据库众多注解讲解2
4-6 room数据库实现缓存能力1
4-7 room数据库实现缓存能力2
第5章 实现首页Tab数据展示
本章我们将开始短视频客户端的第一个Tab—首页的开发。本章不仅会带你使用DataBinding进行安全高效的数据绑定、数据变更刷新,使用paging实现列表数据的自动加载、自动分页,还会揭秘paging框架不为人知的高端玩法(彩蛋奉上)。…
5-1 databinding数据安全绑定及构建列表图片布局1
5-2 databinding数据安全绑定及构建列表图片布局2
5-3 databinding的使用建议及构建列表视频布局
5-4 paging分页和数据加载1【重点】
5-5 paging分页和数据加载2【重点】
5-6 paging分页和数据加载3【重点】
5-7 paging框架工作原理1【难点】
5-8 paging框架工作原理2【难点】
5-9 paging框架不为人知的高端玩法【彩蛋】
第6章 实现首页Tab视频自动播放&用户互动
本章我们将继续短视频客户端首页的开发。本章不仅会实现列表中视频自动播放功能,还会还会利用三方登录来实现用户注册流程。
6-1 实现QQ快捷登录
6-2 实现用户互动之点赞
6-3 自定义View实现分享
6-4 实现用户互动分享功能
6-5 列表视频自动播放1【难点】
6-6 列表视频自动播放2【难点】
第7章 实现沙发Tab
本章带你先认识ViewPager2的新特性,接着带你使用JSON配置完成沙发tab页面结构的搭建,这里会涉及到Fragment在ViewPager2中生命周期可见性的问题,沉浸式布局新的实现方式和启动白屏的优化方案。
7-1 ViewPager2搭建沙发tab页面结构
7-2 Fragment可见性【经验技巧】
7-3 谜之沉浸式布局【经验技巧】
7-4 解决启动白屏
第8章 搭建图文详情页
本章先带你总体认识图文详情页,视频详情页的效果及功能,然后带你在使用paging框架的情况下如何给列表添加HeaderView,FooterView,实现图文详情页头部和评论列表的滑动联动的效果,再一次认识databinding同样的效果,更少的代码量。从本章开始重难点超多,坐等老司机带你飙车喽!…
8-1 详情页效果展示
8-2 图文详情界面搭建
8-3 paging添加headerView&footerView
8-4 图文详情页数据展示1
8-5 图文详情页数据展示2
第9章 详情页拓展玩法
基于对LiveData的认识,本章带你手把手打造一款不会内存泄漏,不用反注册的消息总线LiveDataBus,让你不再苦于因pagedList不能增删改而畏惧使用paging,带你使用CameraX轻松实现定制视频录制&拍照等功能,最后还将帮你解锁多文件上传,多种线程同步方式,身份安全认证等全新模式。…
9-1 LiveData优雅的实现事件总线【难点】
9-2 PagedList实现增删改查【难点】
9-3 CameraX定制视频录制&拍摄照片1【重点】
9-4 CameraX定制视频录制&拍摄照片2【重点】
9-5 视频&图片全屏预览
9-6 评论时添加视频&图片1
9-7 评论时添加视频&图片2
第10章 实现视频详情页
本章先带你了解页面切换时视频无缝续播的效果,分析无缝续播的条件,再来拆解滑动效果的实现方式,使用自定义Behavior搭配ViewDragHelper手势分发使你畅享滑动效果。
10-1 视频详情页效果总览&实现方式分析
10-2 视频详情页视频无缝续播【难点】
10-3 ViewAnchorBehavior接管布局1
10-4 ViewAnchorBehavior接管布局2
10-5 视频详情页视频滑动特效1
10-6 视频详情页视频滑动特效2
第11章 实现帖子发布
本章先带你总体了解帖子发布功能及流程,然后带你认识workmanager的架构原理,让你轻松掌握workmanager使用时需要注意的避坑点……本章你将学习到workmanager的诸多骚操作及衍生用法。
11-1 帖子发布功能的效果展示
11-2 WorkManager特性【重点】
11-3 帖子发布页面结构搭建
11-4 WorkManager实战及架构介绍【重点】
11-5 WorkManager状态监听【重点】
第12章 实现发现Tab
本章先带你总体了解发现Tab的效果及功能,带你使用JSON配置文件搭建灵活的发现tab页面结构。同时还有ViewModel数据存储原理介绍,数据共享&页面通信。
12-1 发现Tab总体效果展示&ViewModel新特性
12-2 发现Tab页面结构搭建
12-3 标签列表页&ViewModel数据共享
12-4 帖子聚合页页面结构搭建
12-5 帖子聚合页列表数据展示
第13章 实现我的Tab&个人中心页
本章先带你总体了解我的Tab和个人中心页的效果及功能,之后带你轻松实现我的Tab和个人中心页功能,如缓存数据更新,页面间通信,沉浸式状态栏,观看历史和收藏历史,ViewPager2配合CoordinatorLayout实现滑动特效,列表视频自动播放等。…
13-1 我的Tab效果展示
13-2 我的Tab页面结构搭建
13-3 我的Tab数据展示&缓存更新
13-4 个人主页需求分析&页面结构搭建
13-5 ViewPager2再应用
13-6 个人中心页列表数据请求及展示1
13-7 个人中心页列表数据请求及展示2
第14章 课程总结
本章带你总体回顾Jetpack实战短视频课程,回顾我们使用的众多Jetpack组件特性,高级用法,避坑点,最后再展望与小伙伴们共建短视频服务端&客户端代码。
14-1 课程总结