价格: 9 学币

分类: None

发布时间: 2022年2月21日 21:47

最近更新: 2022年2月23日 16:50

资源类型: VIP

章节1: 课程简介/项目演示
课时1 文本 联系客服购买更优惠QQ:3469271680,微信:ixueaedu 可
课时2 视频 课程简介和常见问题 21:55 可
课时3 视频 课程最终项目功能演示 53:26 可
课时4 视频 学习就是坚持坚持再坚持 02:11 可
课时5 视频 关于我们课程的价格 05:05 可

章节2: 编程学习路线和职业规划
课时6 视频 通用编程学习路线 08:17 可
课时7 视频 如何在编程道路走得更远? 06:06 可

章节3: 关于课程常见问题
课时8 视频 为什么要学习项目实战课? 03:48 可
课时9 视频 为什么是录播不是直播? 03:28 可
课时10 视频 有必要学习这么长的课程吗? 01:37 可
课时11 视频 有必要学习多平台开发吗? 01:07 可
课时12 视频 为什么不讲解MVP,MVVM等技术 03:32 可

章节4: 如何才能高效的学习?
课时13 视频 人生苦短,我们只做好课 07:38 可
课时14 视频 找到适合自己的学习方法 04:46
课时15 视频 视频电子书源码学习方法 07:57
课时16 视频 如何解决遇到的问题? 07:57
课时17 视频 如何才能有效的提问? 09:23 可

章节5: 课程代码和资源使用方法
课时18 视频 课程代码和资源简介 04:50
课时19 视频 项目代码使用方法 01:40
课时20 视频 如何查看代码和资源Git提交历史 17:41
课时21 视频 设计资源使用方法 04:17
课时22 视频 网络接口使用方法 02:52
课时23 视频 项目架构和知识点概述 01:35 可

章节6: 快速入门Postman工具
课时24 视频 什么是Postman软件 03:32 可
课时25 视频 如何安装Postman 03:08 可
课时26 视频 接口的导入和导出 03:15 可
课时27 视频 Postman的基础使用方法 06:33 可

章节7: 版本控制概念和环境搭建
课时28 视频 什么是版本控制系统 02:15
课时29 视频 有哪些版本控制系统 07:41
课时30 视频 什么是Git版本控制 04:02
课时31 视频 macOS系统上安装Git 01:30
课时32 视频 Windows系统上安装Git 03:30
课时33 视频 Linux系统上安装Git 01:55

章节8: 快速入门Git版本控制系统
课时34 视频 获取Git使用帮助 04:43
课时35 视频 如何配置Git必要信息 02:11
课时36 视频 创建一个Git仓库 04:06
课时37 视频 将文件添加到Git中 05:48
课时38 视频 如何修改文件并提交到Git 03:39
课时39 视频 如何从Git还原文件 01:57
课时40 视频 多学一点Git版本控制系统 01:04
课时41 视频 Android项目Git忽略文件配置 02:15

章节9: 快速入门Git可视化工具
课时42 视频 有哪些Git可视化工具 02:06
课时43 视频 GitFork查看提交历史 12:25

章节10: 快速入门Github使用方法
课时44 视频 什么是Github? 02:46
课时45 视频 一般都是用Github做什么? 05:14
课时46 视频 如何搜索需要的资源 17:15
课时47 视频 如何下载仓库源码? 08:02
课时48 视频 如何收藏一个项目 05:33
课时49 视频 获取仓库信息和帮助 11:58

章节11: 创建项目和依赖管理
课时50 视频 Android Studio如何创建项目 39:19 可
课时51 视频 什么是Gradle构建系统 40:31 可
课时52 视频 Android项目如何添加依赖 21:21 可
课时53 视频 如何查看依赖最新版本 14:42 可
课时54 视频 如何更改项目唯一标识 32:42 可

章节12: 快速入门Android Studio
课时55 视频 常用编辑相关快捷键 13:27

章节13: 常见Java/Android错误解决
课时56 视频 空指针错误模拟和解决方法 27:03 可

章节14: 启动界面和引导界面
课时57 视频 启动页实现原理分析 04:03 可
课时58 视频 创建应用启动界面 33:04 可
课时59 视频 实现启动界面界面布局 46:00 可
课时60 视频 如何才能去除Activity标题 09:47 可
课时61 视频 如何实现启动界面全屏 11:57 可
课时62 视频 如何实现倒计时跳转界面 19:01 可
课时63 视频 如何手动创建引导界面 11:57 可

章节15: 继续实现引导界面
课时64 视频 如何跳转到引导界面 12:10 可
课时65 视频 引导界面效果演示 04:59 可
课时66 视频 如何隐藏系统状态栏 05:02 可
课时67 视频 实现引导界面按钮 18:11 可
课时68 视频 如何实现控件圆角 12:14 可
课时69 视频 如何实现控件边框效果 07:42 可
课时70 视频 实现按钮按下效果 13:06 可

章节16: 引导界面和重构功能
课时71 视频 实现按下改变文字颜色 05:40
课时72 视频 添加引导界面按钮监听 13:52
课时73 视频 实现通用BaseActivity类 09:38
课时74 视频 重构Activity启动方法 05:39
课时75 视频 重构Activity全屏设置方法 05:57
课时76 视频 实现跳转到登录注册界面 07:54
课时77 视频 实现跳转到首页界面 01:15

章节17: 完成引导界面相关逻辑
课时78 视频 如何使用Android偏好设置 10:51
课时79 视频 保存是否显示了引导界面 21:30
课时80 视频 如何进入应用私有目录 12:23
课时81 视频 如何查看偏好设置文件 06:50 可
课时82 视频 Android Studio查看手机文件 06:01

章节18: Fragment和引导界面
课时83 视频 引导界面轮播图实现分析 01:36
课时84 视频 什么是Fragment 05:25
课时85 视频 如何使用Fragment 12:35
课时86 视频 如何Fragment中显示图片 15:34
课时87 视频 实现通用BaseFragment 15:54
课时88 视频 实现通用BaseCommonFragment 05:15

章节19: ViewPager控件和引导界面
课时89 视频 添加ViewPager控件依赖 02:09
课时90 视频 快速入门ViewPager使用 12:46
课时91 视频 使用ViewPager实现引导界面 09:09
课时92 视频 如何添加指示器依赖 06:55
课时93 视频 如何定义指示器shape 06:05
课时94 视频 如何实现指示器功能 09:07
课时95 视频 重构FragmentPagerAdapter 12:50

章节20: 实现用户登录注册
课时96 视频 实现登录注册界面布局 30:20
课时97 视频 实现按钮点击事件 05:39
课时98 视频 如何跳转到登录界面 03:50
课时99 视频 如何跳转到注册界面 03:56
课时100 视频 登录注册界面重构思路 05:40
课时101 视频 如何让内容显示到状态栏 08:51
课时102 视频 添加ButterKnife框架依赖 04:37

章节21: 继续实现登录注册
课时103 视频 快速入门ButterKnife框架 06:58
课时104 视频 重构ButterKnife框架使用 05:16
课时105 视频 完成重构登录注册界面 03:17
课时106 视频 实现登录界面标题功能 20:58
课时107 视频 如何重构Toolbar使用方法 05:44
课时108 视频 使用Toolbar实现返回功能 07:31
课时109 视频 快速实现登录界面布局 27:59

章节22: 继续实现登录功能
课时110 视频 如何实现输入框背景 16:48
课时111 视频 查找控件并关联点击事件 05:32
课时112 视频 如何封装日志工具类 06:37
课时113 视频 添加Apache通用工具类 09:10
课时114 视频 实现判断用户和密码格式 12:12
课时115 视频 封装Toast提示工具类 26:22

章节23: 快速入门测试驱动开发
课时116 视频 什么是测试驱动开发 07:49
课时117 视频 Android中的测试驱动开发 03:29
课时118 视频 测试驱动开发一般步骤 04:09
课时119 视频 使用测试驱动方法实现手机号格式判断 14:38
课时120 视频 实现手机号格式判断 05:07
课时121 视频 实现文件大小格式化 18:28
课时122 视频 单元测试总结 06:35

章节24: 如何实现用户注册功能
课时123 视频 使用Android Studio调试项目 16:27
课时124 视频 完善用户注册规则校验 13:08
课时125 视频 进一步重构Toast工具类 04:47
课时126 视频 如何解决Dex方法数问题 12:47

章节25: 快速入门响应式编程
课时127 视频 什么是响应式编程框架 08:05
课时128 视频 集成RxJava/RxAndroid框架 02:12

章节26: 如何在Android中请求网络
课时129 视频 项目中网络请求实现概述 02:13
课时130 视频 添加网络权限和允许HTTP请求 05:12
课时131 视频 配置网络请求相关地址 23:46
课时132 视频 添加网络相关框架依赖 04:43
课时133 视频 查看我们提供的网络接口 07:10
课时134 视频 如何解析歌单详情网络响应 10:09
课时135 视频 配置Retrofit网络框架 12:48

章节27: 如何封装网络接口
课时136 视频 如何使用Retrofit请求网络 29:54
课时137 视频 网络请求错误如何处理 26:41
课时138 视频 如何封装网络请求API 14:28
课时139 视频 如何显示请求对话框 05:15
课时140 视频 如何封装加载提示对话框 18:09
课时141 视频 完成网络请求加载提示 06:11
课时142 视频 如何请求歌单列表数据 11:16

章节28: 继续封装网络请求框架
课时143 视频 如何封装详情网络请求 09:59
课时144 视频 如何使用DetailResponse 04:45
课时145 视频 如何封装列表网络请求 05:56
课时146 视频 如何封装网络请求回调 05:43
课时147 视频 实现通用Observer回调 08:55
课时148 视频 实现HttpObserver回调 09:15

章节29: 增强网络框架功能
课时149 视频 查看Retrofit错误回调方法 17:52
课时150 视频 实现网络请求错误处理 18:04
课时151 视频 实现自动网络请求错误处理 09:13
课时152 视频 重构错误处理到工具类 05:32
课时153 视频 实现网络请求加载提示框 12:26
课时154 视频 如何显示网络请求日志 05:58
课时155 视频 实现程序内打印网络日志 12:12

章节30: 添加网络框架诊断功能
课时156 视频 集成Stetho实现Chrome抓包 05:41
课时157 视频 初始化Stetho抓包工具 02:46
课时158 视频 如何使用Chrome抓包 06:15
课时159 视频 添加应用内网络检查器 07:06
课时160 视频 使用Chucker网络检查器 06:41

章节31: 如何实现用户登录注册
课时161 视频 创建用户登录相关模型 11:40
课时162 视频 实现用户登录功能 16:26
课时163 视频 如何保存登录成功信息 17:04
课时164 视频 登录完成后跳转到首页 07:10
课时165 视频 如何解决登录后进入首页问题 02:41
课时166 视频 添加EventBus多界面通讯框架 01:25

章节32: 继续实现用户登录注册
课时167 视频 登录完成后发送通知 12:07
课时168 视频 实现用户注册界面 17:03
课时169 视频 实现用户注册参数校验 21:27
课时170 视频 完成用户注册功能 14:31
课时171 视频 如何实现注册后自动登录 06:30
课时172 视频 重构用户登录逻辑 08:40

章节33: 签配置和应用签名
课时173 视频 什么是Android项目打包 04:13
课时174 视频 如何创建签名文件 13:03
课时175 视频 Android Studio可视化打包 11:30
课时176 视频 如何配置应用签名 14:55
课时177 视频 使用Gradle打包项目 11:44
课时178 视频 如何获取应用签名 04:15

章节34: 实现用户第三方登录
课时179 视频 第三方登录相关概念 10:17
课时180 视频 一般第三方登录实现流程 06:28
课时181 视频 创建QQ第三方登录应用 17:27
课时182 视频 如何创建ShareSDK应用 07:49
课时183 视频 集成ShareSDK和配置 10:01
课时184 视频 实现QQ第三方登录功能 18:44
课时185 视频 项目中第三方登录流程 06:28

章节35: 继续实现第三方登录
课时186 视频 实现跳转到补充用户资料界面 23:13
课时187 视频 注册时带上第三方登录信息 08:02
课时188 视频 完成用户第三方登录 19:15
课时189 视频 微博开发平台创建应用 12:40
课时190 视频 如何配置微博应用信息 02:14
课时191 视频 实现微博第三方登录 12:27

章节36: 继续实现用户相关功能
课时192 视频 对接微博登录补充用户资料 03:23
课时193 视频 重构第三方登录逻辑 07:10

章节37: 实现找回密码功能
课时194 视频 找回密码相关功能演示 06:43
课时195 视频 实现跳转到找回密码界面 07:07
课时196 视频 实现找回密码界面布局 24:39
课时197 视频 查看找回密码相关接口 06:34
课时198 视频 配置找回密码网络接口 07:23
课时199 视频 如何实现找回密码功能 21:29

章节38: 完成找回密码功能
课时200 视频 实现验证码倒计时效果 12:36
课时201 视频 如何发送短信验证码 09:06
课时202 视频 如何发送邮箱验证码 05:16
课时203 视频 用户登录注册相关功能总结 06:38

章节39: 如何实现启动页广告
课时204 视频 应用中添加广告简介 02:11
课时205 视频 实现跳转到广告界面 02:32
课时206 视频 实现启动页广告布局 29:21
课时207 视频 实现倒计时和跳过广告 09:11
课时208 视频 实现通用WebView界面 20:58
课时209 视频 实现点击广告功能 16:40
课时210 视频 实现注册界面用户协议 07:26

章节40: 快速入门Charles抓包
课时211 视频 网络抓包概述 06:29
课时212 视频 安装Charles抓包软件 05:32
课时213 视频 快速入门Charles抓包 05:51
课时214 视频 Charles配置远程抓包 04:04
课时215 视频 Android自带模拟器抓包 06:48
课时216 视频 Android手机如何抓包 05:52

章节41: 实现主界面侧滑框架
课时217 视频 首页功能演示 04:59
课时218 视频 实现侧滑结构布局 22:11
课时219 视频 将侧滑控件和Toolbar关联 11:44
课时220 视频 如何更改主界面状态栏颜色 17:21
课时221 视频 实现侧滑用户信息布局 24:21
课时222 视频 获取用户信息并显示 10:21
课时223 视频 添加Glide图片加载框架 05:02

章节42: 完成用户信息显示
课时224 视频 如何配置ProGuard规则 08:50
课时225 视频 如何使用Glide显示图片 13:29
课时226 视频 完成用户头像显示 13:32
课时227 视频 重构图片显示框架使用 18:24
课时228 视频 Glide如何将图片显示为圆形 11:51
课时229 视频 实现首页侧滑按钮布局 35:53
课时230 视频 跳转到应用设置界面 05:16
课时231 视频 简单实现用户退出功能 12:36

章节43: 快速入门Android屏幕适配
课时232 视频 屏幕尺寸/分辨率/像素密度/缩放 11:46
课时233 视频 屏幕适配原理和实例 26:36
课时234 视频 为什么需要1/2/3倍图 06:17

章节44: Android如何编写UI测试
课时235 视频 如何编写测试计划 10:16
课时236 视频 如何配置UI测试环境 07:08
课时237 视频 通过录制方式创建UI测试 22:48
课时238 视频 更改默认生成测试代码 46:05
课时239 视频 UI相关测试总结 02:41

章节45: 实现主界面框架
课时240 视频 主界面框架结构效果演示 01:43
课时241 视频 创建首页Fragment 10:27
课时242 视频 快速入门ViewPager 18:53
课时243 视频 添加MagicIndicator指示器框架 02:11
课时244 视频 使用MagicIndicator指示器 28:39
课时245 视频 发现界面实现分析 01:24
课时246 视频 添加列表相关依赖 02:38
课时247 视频 实现发现界面列表 08:59

章节46: 继续实现发现界面
课时248 视频 创建发现界面布局 03:37
课时249 视频 创建发现界面模型 12:36
课时250 视频 显示发现界面多类型列表 16:35
课时251 视频 如何实现自定义Item宽度 09:57
课时252 视频 从网络请求歌单数据 12:05
课时253 视频 从网络请求单曲数据 13:51
课时254 视频 完成发现界面标题显示 09:10

章节47: 实现发现界面列表
课时255 视频 自定义正方形容器控件 14:18
课时256 视频 完成歌单界面布局 26:40
课时257 视频 完成歌单数据展示 04:02
课时258 视频 完成单曲界面布局 20:28
课时259 视频 完成单曲数据展示 05:01
课时260 视频 添加列表头部布局 13:14
课时261 视频 实现发现界面头部布局 33:10

章节48: 实现发现界面头部
课时262 视频 如何显示当前日期 12:13
课时263 视频 如何请求轮播图数据 08:39
课时264 视频 添加轮播图组件依赖 03:54
课时265 视频 完成轮播图组件显示 19:49
课时266 视频 实现轮播图点击事件 05:53

章节49: 内存泄漏简介和检测
课时267 视频 内存泄漏简介 03:58
课时268 视频 集成内存泄漏检测工具 07:33
课时269 视频 内存泄漏工具使用实例 16:20

章节50: 实现歌单详情界面
课时270 视频 点击歌单跳转到歌单详情 19:10
课时271 视频 重构启动Activity功能 10:12
课时272 视频 歌单详情演示和实现分析 03:04
课时273 视频 创建歌单相关模型 11:07
课时274 视频 请求歌单详情数据 07:08
课时275 视频 实现歌单详情歌曲列表 20:32
课时276 视频 完成歌单详情歌曲显示 19:58

章节51: 实现歌单详情头部
课时277 视频 如何实现歌曲列表分割线 10:04
课时278 视频 显示歌单详情头部 11:13
课时279 视频 完善歌单详情头部布局 46:09
课时280 视频 显示歌单详情数据 17:53
课时281 视频 使用Palette获取图片颜色 33:56
课时282 视频 添加GlidePalette依赖 04:01
课时283 视频 使用GlidePalette获取图片颜色 13:22

章节52: 实现歌单收藏功能
课时284 视频 查看歌单收藏接口 07:45
课时285 视频 如何传递用户登录信息 19:30
课时286 视频 显示歌单收藏状态 19:15
课时287 视频 实现歌单收藏点击事件 04:47
课时288 视频 配置歌单收藏接口 07:37
课时289 视频 完成歌单收藏功能 21:17
课时290 视频 优化收藏后的状态更新 08:29

章节53: 实现歌单详情跳转到其他界面
课时291 视频 如何跳转到评论列表 09:23
课时292 视频 重构评论界面跳转方法 08:33
课时293 视频 跳转到用户详情 08:49
课时294 视频 右上角添加菜单按钮 18:52
课时295 视频 如何使用Image Asset 11:36
课时296 视频 Iconfont如何使用 08:41
课时297 视频 如何使用Material Icons 06:43

章节54: 如何实现音乐播放
课时298 视频 音乐播放实现概述 05:29
课时299 视频 点击歌曲跳转到简单播放界面 09:00
课时300 视频 实现简单播放界面布局 16:04
课时301 视频 如何关联界面控件和方法 17:06
课时302 视频 音乐播放相关逻辑实现分析 04:34
课时303 视频 什么是面向接口编程 04:52
课时304 视频 实现音乐播放管理器单例 08:58

章节55: 继续实现音乐播放管理器
课时305 视频 如何实现后台播放音乐 05:28
课时306 视频 使用Service延长应用生命 28:19
课时307 视频 Android中如何显示通知 27:17
课时308 视频 设置Service为前台服务 10:11
课时309 视频 实现音乐播放暂停 17:28
课时310 视频 使用音乐播放管理器 09:21

章节56: 完善音乐播放管理器
课时311 视频 如何显示播放状态 11:55
课时312 视频 如何使用播放代理 17:14
课时313 视频 重构播放器状态分发逻辑 09:01
课时314 视频 如何显示音乐总进度 19:48
课时315 视频 如何显示音乐播放进度 30:27
课时316 视频 界面上显示播放进度 04:42
课时317 视频 实现音乐进度拖拽 03:44

章节57: 如何实现播放列表
课时318 视频 创建播放列表管理器 24:55
课时319 视频 在播放列表管理器中播放音乐 08:12
课时320 视频 完成播放列表管理器 05:39
课时321 视频 实现播放列表循环模式 28:33
课时322 视频 实现下一曲上一曲 09:38

章节58: 继续实现播放列表
课时323 视频 如何监听播放完毕事件 06:18
课时324 视频 实现自动播放下一曲 15:08
课时325 视频 如何显示播放列表 08:19
课时326 视频 播放点击的这音乐 05:26
课时327 视频 如何显示播放状态和入口 05:59
课时328 视频 实现迷你音乐控制栏布局 29:39
课时329 视频 查找控件和设置点击事件 10:51

章节59: 增强音乐播放相关功能
课时330 视频 如何使用Java接口默认方法 05:13
课时331 视频 迷你控制器显示数据 14:05
课时332 视频 实现播放管理器监听器 05:44
课时333 视频 实现迷你控制器点击事件 05:23
课时334 视频 显示和隐藏迷你控制器 04:31
课时335 视频 播放列表如何选中播放的音乐 24:34

章节60: 继续完成音乐播放功能
课时336 视频 实现歌单详情显示选中状态 22:01
课时337 视频 播放列表删除效果演示 02:11
课时338 视频 音乐播放列表删除交互 19:31
课时339 视频 完成播放列表音乐删除 12:38
课时340 视频 重构迷你控制器功能 10:37
课时341 视频 发现页面显示迷你控制器 08:44

章节61: 完善播放周边功能
课时342 视频 查看迷你控制器播放列表 01:48
课时343 视频 如何显示播放列表 14:40
课时344 视频 实现播放列表布局 16:04
课时345 视频 重构迷你播放列表对话框 10:14
课时346 视频 显示播放列表音乐数据 23:09
课时347 视频 选中音乐效果和播放点击的音乐 07:36

章节62: 继续实现迷你控制器
课时348 视频 实现迷你控制器删除音乐 07:39
课时349 视频 修复迷你控制器删除音乐问题 11:04
课时350 视频 迷你控制器删除所有音乐 07:28
课时351 视频 迷你控制器显示播放列表信息 09:52

章节63: 实现歌单详情音乐更多功能
课时352 视频 添加音乐更多点击事件 10:57
课时353 视频 显示音乐更多对话框 11:23
课时354 视频 实现更多对话框布局 24:33
课时355 视频 显示音乐相关信息 11:29
课时356 视频 实现音乐更多对话框点击事件 07:19

章节64: 实现音乐通知栏功能
课时357 视频 音乐通知栏功能演示 04:04
课时358 视频 将音乐通知放到管理器中 05:20
课时359 视频 准备显示音乐通知 10:32
课时360 视频 如何显示自定义布局通知 19:02
课时361 视频 实现音乐小通知布局 14:29
课时362 视频 实现音乐大通知布局 15:53
课时363 视频 显示音乐通知数据 08:20

章节65: 完成音乐通知栏功能
课时364 视频 显示音乐封面图 06:13
课时365 视频 添加通知点击事件 33:09
课时366 视频 实现通知点击事件功能 05:08
课时367 视频 实现点击通知显示播放界面 14:20

章节66: 如何持久化播放列表
课时368 视频 查看数据库相关信息 02:44
课时369 视频 如何查看数据库数据 04:44
课时370 视频 保存播放列表实现概述 02:11
课时371 视频 创建保存歌曲数据对象 12:41
课时372 视频 数据库框架快速入门 11:33
课时373 视频 集成数据库框架 06:26
课时374 视频 持久化播放列表概述 04:41

章节67: 继续实现持久化播放列表
课时375 视频 数据库如何实现多用户功能 20:32
课时376 视频 如何封装音乐保存音乐功能 23:30
课时377 视频 保存最后播放的音乐进度 08:29
课时378 视频 保存最后播放的音乐 07:47
课时379 视频 从数据库恢复播放列表 22:32
课时380 视频 从数据库播放列表删除音乐 11:59
课时381 视频 如何实现删除所有音乐功能 08:59
课时382 视频 如何实现从上一次位置播放 10:48

章节68: 完善音乐播放框架
课时383 视频 请求歌词实现概述 01:53
课时384 视频 歌词数据接口和数据格式 02:21
课时385 视频 从网络请求歌词 12:59
课时386 视频 如何播放发现界面单曲 08:22

章节69: 实现黑胶唱片相关功能
课时387 视频 跳转到黑胶唱片界面 08:08
课时388 视频 黑胶唱片界面分析 04:12
课时389 视频 实现基本结构布局 12:13
课时390 视频 显示歌曲标题和背景 08:42
课时391 视频 添加Glide变换框架 01:17
课时392 视频 如何实现背景高斯模糊 08:27
课时393 视频 如何实现背景切换动画 02:09

章节70: 继续黑胶唱片播放
课时394 视频 实现背景切换动画功能 20:33
课时395 视频 修复背景图片压扁问题 05:13
课时396 视频 播放界面右上角添加按钮 10:04
课时397 视频 如何实现播放相关界面 25:42
课时398 视频 关联播放界面相关控件 10:09
课时399 视频 如何对接音乐播放功能 05:14
课时400 视频 完成音乐播放监听器功能 09:18

章节71: 完善黑胶唱片播放
课时401 视频 实现歌曲切换和播放模式 06:46
课时402 视频 显示播放列表对话框 01:44
课时403 视频 实现歌曲拖拽播放功能 03:27
课时404 视频 如何实现关闭播放界面 06:26
课时405 视频 如何实现黑胶唱片列表 11:09
课时406 视频 添加圆形ImageView控件 00:46
课时407 视频 实现黑胶唱片控件布局 16:18
课时408 视频 如何显示黑胶唱片数据 04:55

章节72: 如何实现用户登录注册
课时409 视频 滚动到当前音乐黑胶唱片 07:14
课时410 视频 如何实现手动切换黑胶唱片 02:29
课时411 视频 实现手动切换黑胶唱片 39:53
课时412 视频 实现旋转黑胶唱片分析 02:25
课时413 视频 分发黑胶唱片旋转和停止旋转事件 16:41
课时414 视频 实现旋转黑胶唱片功能 14:33

章节73: 完善黑胶唱片功能
课时415 视频 如何显示黑胶唱片指针 16:25
课时416 视频 实现黑胶唱片指针旋转 25:11
课时417 视频 修复黑胶唱片指针旋转问题 09:31
课时418 视频 修复暂停下指针旋转问题 05:34

章节74: 实现音乐歌词的解析
课时419 视频 歌词功能实现分析 02:04
课时420 视频 常见音乐歌词分类 10:15
课时421 视频 歌词解析实现分析 06:16
课时422 视频 使用测试驱动方法解析LRC歌词 17:50
课时423 视频 完成LRC歌词解析 19:15
课时424 视频 更改歌词相关模型 04:50
课时425 视频 KSC歌词解析测试 10:52

章节75: 继续实现歌词解析
课时426 视频 完成KSC歌词解析功能 20:35
课时427 视频 如何显示歌词列表界面 28:45
课时428 视频 实现黑胶唱片和歌词的切换 15:34
课时429 视频 如何根据播放时间滚动歌词 18:39
课时430 视频 如何高亮正在播放的LRC歌词 06:34
课时431 视频 如何滚动当前歌词到中心 15:08
课时432 视频 如何让歌词前面后面都有空行 16:27

章节76: 进阶音乐歌词相关功能
课时433 视频 如何精确计算占位数 11:00
课时434 视频 实现歌词拖拽效果布局 08:56
课时435 视频 实现显示和隐藏歌词拖拽效果 20:45
课时436 视频 显示当前拖拽位置歌词时间 17:59
课时437 视频 实现从当前歌词播放音乐 03:21
课时438 视频 如何实现KSC歌词高亮 09:24

章节77: 完善音乐歌词相关功能
课时439 视频 更改为自定义控件绘制歌词 19:49
课时440 视频 实现自定义控件绘制LRC歌词 34:42
课时441 视频 完成自定义控件LRC歌词绘制 11:23
课时442 视频 将时间信息传递到自定义歌词View 14:40
课时443 视频 自定义KSC歌词绘制控件 27:53
课时444 视频 完成KSC歌词绘制控件 27:08
课时445 视频 如何给自定义控件添加属性 14:54

章节78: 完成音乐歌词相关功能
课时446 视频 完成歌词控件属性添加 05:11
课时447 视频 歌词控件添加位置属性 09:23
课时448 视频 迷你播放控制器添加歌词控件 31:51
课时449 视频 歌词相关功能总结和重构 03:26

章节79: 如何实现桌面歌词
课时450 视频 全局桌面歌词效果演示 05:54
课时451 视频 如何获取全局浮窗权限 20:10
课时452 视频 将桌面歌词放到管理器中 09:53
课时453 视频 如何显示一个简单的浮窗 16:42
课时454 视频 将全局歌词封装到View中 13:47
课时455 视频 实现全局歌词控件布局 16:40
课时456 视频 如何接收显示全局歌词事件 08:44

章节80: 继续实现桌面歌词
课时457 视频 保存是否显示全局歌词 08:00
课时458 视频 第一次是否显示全局歌词 22:45
课时459 视频 给全局歌词控件添加点击事件 11:01
课时460 视频 将全局歌词事件代理到外部 09:54
课时461 视频 实现音乐控制相关按钮功能 05:07
课时462 视频 实现歌词精简模式和正常模式 11:43
课时463 视频 完成全局歌词控件歌词显示 34:35

章节81: 进阶全局桌面歌词
课时464 视频 添加嵌套RadioGroup框架 03:06
课时465 视频 完成全局歌词样式布局 16:19
课时466 视频 显示或隐藏歌词样式容器 03:33
课时467 视频 实现更改歌词文本大小 11:09
课时468 视频 使用偏好设置保存歌词大小 10:22
课时469 视频 如何自定义单选按钮样式 14:27
课时470 视频 实现更改歌词高亮颜色 12:31

章节82: 增强全局桌面歌词
课时471 视频 如何保存歌词高亮颜色 11:10
课时472 视频 实现全局歌词锁定功能 36:13
课时473 视频 实现应用后台才示歌词 17:28
课时474 视频 如何实现触摸移动全局歌词 03:38
课时475 视频 实现触摸移动全局歌词 26:22
课时476 视频 完成触摸移动全局歌词 16:53
课时477 视频 实现保存全局歌词位置功能 06:16

章节83: 与播放相关的周边功能
课时478 视频 长按封面跳转到封面大图界面 09:51
课时479 视频 添加手势缩放图片框架 00:50
课时480 视频 完成图片手势缩放功能 05:44
课时481 视频 添加Apache文件框架依赖 01:02

章节84: 如何处理Android中的权限
课时482 视频 Android整体权限处理概述 07:35
课时483 视频 添加动态权限处理框架 01:46
课时484 视频 实现动态获取存储卡权限 32:25
课时485 视频 实现下载音乐封面图片功能 17:30
课时486 视频 如何将音乐封面保存到相册 25:48

章节85: 如何实现歌词分享
课时487 视频 歌词分享相关功能演示 03:27
课时488 视频 长按歌词跳转到选择歌词界面 10:26
课时489 视频 如何显示选择歌词列表 13:33
课时490 视频 如何实现歌词选中功能 12:46
课时491 视频 如何获取选中的歌词 16:34
课时492 视频 如何实现分享文本歌词 13:23
课时493 视频 跳转到分享图片歌词界面 09:26

章节86: 完成歌词分享功能
课时494 视频 实现分享歌词图片界面 22:40
课时495 视频 如何添加右上角菜单 06:12
课时496 视频 如何在应用内对View截图 10:41
课时497 视频 如何保存Bitmap到手机 33:23
课时498 视频 实现歌词图片分享功能 25:29

章节87: 实现评论相关功能
课时499 视频 评论相关功能效果演示 08:52
课时500 视频 查看评论相关网络接口 02:56
课时501 视频 创建评论相关模型 04:34
课时502 视频 从网络请求评论数据 07:56
课时503 视频 添加列表框架依赖 01:30
课时504 视频 实现评论界面布局 13:58
课时505 视频 如何显示评论列表 20:56
课时506 视频 实现评论Item布局 14:15

章节88: 继续实现评论相关功能
课时507 视频 显示评论相关数据 12:43
课时508 视频 添加日期时间框架 02:52
课时509 视频 实现评论时间格式化 20:21
课时510 视频 适配器中如何使用View框架 02:56
课时511 视频 完成重构Adapter功能 21:52
课时512 视频 使用重构后的Adapter 03:09
课时513 视频 实现Item点击事件功能 04:17

章节89: 增强评论相关功能
课时514 视频 如何实现发送评论功能 18:19
课时515 视频 如何显示Mention和HashTag 02:21
课时516 视频 通过正则实现查找Mention 16:22
课时517 视频 通过正则实现查找HashTag 07:33
课时518 视频 重构正则表达式查找方法 03:53
课时519 视频 实现评论关键内容高亮 10:09
课时520 视频 给高亮内容添加点击事件 19:10
课时521 视频 如何去除点击文本下划线 04:14

章节90: 发布评论相关功能
课时522 视频 如何获取点击的评论文本 08:41
课时523 视频 实现点击@跳转到用户详情 08:10
课时524 视频 实现点击话题跳转到话题详情 06:32
课时525 视频 显示评论更多操作对话框 19:23
课时526 视频 如何显示被回复的评论 19:36

章节91: 完成发布评论相关功能
课时527 视频 如何回复一条评论 09:33
课时528 视频 如何实现拷贝评论 06:01
课时529 视频 添加评论点赞接口 09:38
课时530 视频 实现评论点赞功能 20:31

章节92: 实现评论列表选择话题
课时531 视频 如何监听文本输入框 06:08
课时532 视频 实现跳转到选择话题界面 05:39
课时533 视频 修复选择话题选择问题 05:13
课时534 视频 实现请求话题列表数据 06:17
课时535 视频 实现显示话题列表 06:40
课时536 视频 完成话题数据显示 10:08
课时537 视频 完成选择话题功能 12:16
课时538 视频 完成选择好友功能 31:36

章节93: 增强好友列表功能
课时539 视频 好友列表增强功能演示 02:22
课时540 视频 添加汉语拼音框架 00:53
课时541 视频 实现获取汉语全拼 13:26
课时542 视频 实现获取汉语全拼首字母 05:26
课时543 视频 实现处理用户数据拼音 22:22
课时544 视频 实现用户数据分组功能 21:15

章节94: 如何实现用户数据过滤
课时545 视频 显示用户分组数据 29:12
课时546 视频 Toolbar搜索配置 18:31
课时547 视频 实现本地数据过滤 10:09
课时548 视频 如何实现好友字母索引 02:12
课时549 视频 快速入门字母索引框架 20:18
课时550 视频 完成用户字母索引功能 05:41
课时551 视频 完成字母索引提示功能 09:20

章节95: 下拉刷新和上拉加载更多
课时552 视频 下拉刷新和上拉加载更多效果 06:29
课时553 视频 完成下拉刷新功能 05:52
课时554 视频 完成上拉加载更多功能 31:35
课时555 视频 实现评论列表分组功能 16:55

章节96: Android中显示emoji
课时556 视频 什么是emoji 02:54
课时557 视频 添加emoji兼容包依赖 02:04
课时558 视频 实现Android中显示emoji 05:44

章节97: 实现首页我的界面
课时559 视频 我的界面相关功能演示 03:37
课时560 视频 实现请求歌单数据 17:19
课时561 视频 显示我的歌单列表 34:00
课时562 视频 完成歌单列表数据展示 21:58
课时563 视频 自定义展开图标和默认展开 09:23
课时564 视频 实现标题右侧更多按钮 06:48
课时565 视频 实现创建歌单对话框 17:07

章节98: 完善我的界面功能
课时566 视频 实现创建歌单功能 07:18
课时567 视频 收藏歌曲到歌单相关功能演示 08:54
课时568 视频 显示选择歌单对话框 19:56
课时569 视频 完成歌曲收藏到歌单功能 22:40
课时570 视频 完成从歌单中删除音乐功能 18:08
课时571 视频 实现头部快捷按钮功能 17:47

章节99: 实现本地音乐相关界面
课时572 视频 本地音乐功能演示 04:15
课时573 视频 跳转到本地音乐界面 03:39
课时574 视频 更改音乐模型 04:43
课时575 视频 实现从数据库查询本地音乐 07:05
课时576 视频 跳转到扫描本地音乐界面 04:24
课时577 视频 实现本地音乐菜单 08:39
课时578 视频 实现扫描本地音乐布局 18:50

章节100: 实现扫描本地音乐
课时579 视频 如何扫描本地音乐 06:34
课时580 视频 准备本地音乐数据 05:40
课时581 视频 实现本地音乐扫描 35:17
课时582 视频 完成本地音乐扫描 27:33
课时583 视频 扫描完成和扫描进度 19:05
课时584 视频 如何保存本地音乐 10:56
课时585 视频 显示本地音乐列表 06:37

章节101: 增强本地音乐功能
课时586 视频 实现播放本地音乐 10:25
课时587 视频 显示音乐排序对话框 15:23
课时588 视频 如何保存排序选项 05:44
课时589 视频 实现本地音乐排序功能 05:09
课时590 视频 实现批量编辑功能界面 11:08
课时591 视频 进入和退出编辑模式 11:57
课时592 视频 实现适配器编辑模式 09:04

章节102: 实现本地音乐多选功能
课时593 视频 实现多选音乐功能 12:41
课时594 视频 实现全选反选功能 09:23
课时595 视频 实现多选删除功能 10:50
课时596 视频 实现扫描线移动动画 19:33
课时597 视频 扫描音乐结果通知 07:01
课时598 视频 实现放大镜扫描动画 13:11
课时599 视频 复习数学中三角函数 11:36
课时600 视频 本地音乐相关功能总结 01:33

章节103: 如何实现下载功能
课时601 视频 实现跳转到下载管理页面 06:48
课时602 视频 下载功能实现概述 03:47
课时603 视频 集成第三方下载框架 03:22
课时604 视频 实现下载管理器实例 07:27
课时605 视频 播放界面显示下载状态 23:16
课时606 视频 实现播放界面创建下载任务 13:58
课时607 视频 歌单详情显示下载状态 09:13

章节104: 继续实现下载功能
课时608 视频 播放下载完成的音乐 05:30
课时609 视频 创建下载相关Fragment 07:47
课时610 视频 实现下载界面框架结构 06:26
课时611 视频 实现下载界面指示器 13:36
课时612 视频 实现下载完成音乐布局 08:40
课时613 视频 显示下载完成的任务 13:42

章节105: 增强下载相关功能
课时614 视频 如何播放下载完成的音乐 04:30
课时615 视频 实现通用确认对话框 09:20
课时616 视频 实现删除下载完成的音乐 07:42
课时617 视频 实现下载中音乐布局 12:34
课时618 视频 显示下载中的音乐 14:37
课时619 视频 显示下载相关数据 18:10
课时620 视频 实现单首音乐下载和暂停 03:18

章节106: 完成下载相关功能
课时621 视频 实现删除下载中的音乐 07:15
课时622 视频 实现下载完成音乐通知 11:53
课时623 视频 实现下载中辅助按钮布局 08:55
课时624 视频 显示第一次下载按钮状态 10:57
课时625 视频 实现全部暂停或下载功能 06:46
课时626 视频 实现全部删除功能 06:08
课时627 视频 测试多用户下载功能 07:05
课时628 视频 下载相关功能总结 01:00

章节107: 实现用户详情界面
课时629 视频 请求用户详情数据 07:51
课时630 视频 用户详情界面分析 03:57
课时631 视频 创建用户详情相关Fragment 05:29
课时632 视频 显示用户详情滚动界面 13:42
课时633 视频 实现用户详情指示器 10:51
课时634 视频 实现用户详情歌单界面 03:53
课时635 视频 对歌单详情数据分组 13:13

章节108: 继续用户详情界面
课时636 视频 显示用户详情歌单列表 11:24
课时637 视频 实现用户信息布局 13:48
课时638 视频 实现指示器悬浮功能 17:41
课时639 视频 实现歌单点击事件 03:09
课时640 视频 显示用户信息 17:17
课时641 视频 实现关于用户布局 13:06
课时642 视频 显示用户更多信息 11:10

章节109: 完善用户详情功能
课时643 视频 好友社交关系简介 02:30
课时644 视频 实现关注取消关注用户 11:29
课时645 视频 实现跳转到发送消息界面 05:17

章节110: 实现视频相关功能
课时646 视频 如何显示视频列表 06:58
课时647 视频 完善视频列表布局 29:58
课时648 视频 完成视频列表数据显示 10:26
课时649 视频 点击视频跳转到详情 04:02
课时650 视频 如何使用Glide实现圆角 08:18
课时651 视频 视频详情功能演示和分析 09:21
课时652 视频 请求视频列表数据 08:45

章节111: 完善视频播放功能
课时653 视频 实现视频详情布局 27:19
课时654 视频 请求视频详情数据 04:52
课时655 视频 显示视频详情基本数据 07:19
课时656 视频 快速入门视频播放 07:56
课时657 视频 显示视频总时长数据 02:59
课时658 视频 隐藏和显示播放控制器 04:52
课时659 视频 显示播放视频进度 10:22

章节112: 增强视频播放功能
课时660 视频 动态计算视频容器高度 17:29
课时661 视频 实现视频拖拽播放 03:12
课时662 视频 转屏功能实现概述 04:06
课时663 视频 完成屏幕的自动旋转功能 10:18
课时664 视频 如何监听屏幕方向 11:29
课时665 视频 实现播放界面手动转屏 06:20
课时666 视频 返回按钮逻辑优化 09:16

章节113: 实现视频转屏功能
课时667 视频 请求相关视频和评论数据 05:53
课时668 视频 实现列表的显示 26:12
课时669 视频 显示相关视频数据 15:50
课时670 视频 如何显示视频头部 04:13
课时671 视频 添加标签流框架 01:09
课时672 视频 实现视频头部布局 14:55
课时673 视频 显示视频头部数据 11:10

章节114: 完善视频播放界面功能
课时674 视频 实现视频播放界面常亮 11:29
课时675 视频 如何监听视频缓冲进度 07:58
课时676 视频 实现视频播放错误处理 12:12
课时677 视频 如何显示播放完毕布局 12:14
课时678 视频 关于视频相关功能优化说明 02:44
课时679 视频 显示视频标签流数据 14:36

章节115: 实现用户动态功能
课时680 视频 用户动态相关功能演示 03:19
课时681 视频 从网络请求动态数据 10:47
课时682 视频 如何显示动态列表 06:24
课时683 视频 实现动态布局文件 21:57
课时684 视频 添加图片显示控件 09:41
课时685 视频 完成动态图片显示 06:14
课时686 视频 实现动态计算图片列数 03:46

章节116: 继续实现用户动态
课时687 视频 添加图片预览框架 01:45
课时688 视频 实现预览动态图片 20:09
课时689 视频 如何使用浮动按钮 09:38
课时690 视频 跳转到发布动态界面 08:15
课时691 视频 实现发布动态界面 19:27
课时692 视频 实现发布文本动态 13:02

章节117: 继续实现发布动态
课时693 视频 实现输入框字数统计 04:55
课时694 视频 添加图片选择框架 04:34
课时695 视频 如何实现多选图片功能 13:35
课时696 视频 如何显示选择的图片 23:39
课时697 视频 实现删除选择的图片 05:24
课时698 视频 实现添加图片按钮 13:32

章节118: 如何实现上传图片
课时699 视频 媒体资源存储概述 09:29
课时700 视频 安装阿里云OSS SDK 02:38
课时701 视频 初始化阿里云OSS 15:31
课时702 视频 实现上传图片到阿里云OSS 38:40
课时703 视频 实现发布图片动态 03:53

章节119: 如何使用高德地图
课时704 视频 定位实现概述 03:33
课时705 视频 获取签名文件唯一标识 04:40
课时706 视频 获取高德地图配置信息 04:41
课时707 视频 如何集成高德定位SDK 02:13
课时708 视频 添加定位权限和初始化SDK 05:35
课时709 视频 实现基础单次定位 17:20
课时710 视频 发送动态带上定位信息 06:25
课时711 视频 动态相关功能总结 02:38

章节120: 如何实现编辑用户资料
课时712 视频 查看编辑用户信息效果 05:36
课时713 视频 添加用户资料编辑按钮 09:41
课时714 视频 跳转到编辑资料页面 07:40
课时715 视频 实现编辑资料界面布局 32:52
课时716 视频 关联资料界面控件和方法 12:00
课时717 视频 获取用户资料并显示 12:24
课时718 视频 实现选择图片并裁剪 04:53

章节121: 继续实现更新用户资料
课时719 视频 实现上传头像功能 08:06
课时720 视频 实现更新用户头像 15:02
课时721 视频 更新昵称和个人介绍 05:43
课时722 视频 实现用户性别选择 14:34
课时723 视频 实现日期选择器 15:12
课时724 视频 添加城市选择器框架 06:16
课时725 视频 实现城市选择功能 06:44

章节122: 完成用户资料相关功能
课时726 视频 绑定解绑第三方账号概述 01:03
课时727 视频 实现QQ账号绑定 16:28
课时728 视频 实现QQ账户解绑 07:55
课时729 视频 实现微博绑定和解绑 03:17
课时730 视频 用户相关功能总结 04:05

章节123: 实现好友和粉丝功能
课时731 视频 实现跳转到好友列表 07:21
课时732 视频 如何实现粉丝列表 12:24
课时733 视频 请求好友和粉丝数据 07:33
课时734 视频 实现用户列表界面 12:56
课时735 视频 显示添加好友按钮 07:07

章节124: 修复用户自动退出问题
课时736 视频 实现登录过期自动退出功能 06:08
课时737 视频 什么是ActivityLifecycle 06:22
课时738 视频 如何修复用户退出问题 13:13

章节125: 进阶响应式编程
课时739 视频 将我的界面歌单获取改为并发 14:45
课时740 视频 关于响应式编程的总结 05:36

章节126: 实现二维码相关功能
课时741 视频 二维码相关功能演示 04:25
课时742 视频 实现跳转到我的二维码界面 08:28
课时743 视频 实现我的二维码界面布局 12:17
课时744 视频 显示用户信息到界面 03:46
课时745 视频 添加二维码框架依赖 00:38
课时746 视频 生成二维码相关概述 04:12

章节127: 继续实现二维码相关功能
课时747 视频 使用自带二维码扫描界面 10:37
课时748 视频 实现跳转到扫描界面 04:41
课时749 视频 实现扫描界面布局 17:13
课时750 视频 实现扫描二维码 09:57
课时751 视频 实现二维码结果解析 13:49
课时752 视频 二维码实现总结 01:32

章节128: 实现商城相关功能
课时753 视频 商城相关功能概述 06:28
课时754 视频 实现跳转到商品列表 05:55
课时755 视频 请求商品列表数据 06:10
课时756 视频 显示商品列表数据 12:23
课时757 视频 实现跳转到商品详情 04:06
课时758 视频 实现商品详情布局 10:54
课时759 视频 请求数据和显示数据 08:36

章节129: 实现商品和订单功能
课时760 视频 实现创建订单功能 14:28
课时761 视频 创建订单后跳转到订单详情 04:44
课时762 视频 创建商品订单模型 15:10
课时763 视频 实现订单详情布局 35:15
课时764 视频 关联详情界面控件和方法 07:44
课时765 视频 显示订单详情数据 18:16

章节130: 如何实现支付宝支付
课时766 视频 什么是第三方支付 02:53
课时767 视频 支付宝支付准备工作(服务端知识,客户端了解即可) 12:00
课时768 视频 如何集成支付宝SDK 05:13
课时769 视频 使用测试数据发起支付 18:28
课时770 视频 请求支付宝支付参数 15:09
课时771 视频 请求服务端判断是否支付成功 15:55
课时772 视频 支付宝支付客户端问题排查 01:05

章节131: 继续实现支付宝支付
课时773 视频 如何集成微信支付 03:47
课时774 视频 实现切换订单支付方式 03:57
课时775 视频 实现跳转到我的订单界面 06:59
课时776 视频 显示订单列表数据 05:35
课时777 视频 完善订单列表显示 12:58
课时778 视频 实现点击订单进入订单详情 01:56
课时779 视频 订单列表监听支付成功状态 07:57
课时780 视频 商城订单支付功能总结 02:21

章节132: 实现应用设置相关功能
课时781 视频 实现设置界面布局 40:27
课时782 视频 增强用户退出功能 01:47
课时783 视频 使用偏好设置保存配置 08:31
课时784 视频 添加网络状态监听框架 01:01
课时785 视频 快速入门网络状态监听 09:29
课时786 视频 实现移动网络暂停视频 22:05

章节133: 使用可视化实现关于我们
课时787 视频 跳转到关于我的云音乐 05:45
课时788 视频 可视化实现关于我的云音乐界面 13:55
课时789 视频 如何显示应用版本号 14:17
课时790 视频 实现显示关于爱学啊 01:53

章节134: 使用代码实现关于我们
课时791 视频 跳转到代码实现关于界面. 03:40
课时792 视频 实现代码关于界面标题 08:04
课时793 视频 实现代码关于我的云音乐布局 25:41
课时794 视频 完成代码关于我的云音乐布局 19:16

章节135: 实现全局搜索功能
课时795 视频 全局搜索功能演示 03:54
课时796 视频 跳转到全局搜索界面 05:49
课时797 视频 菜单显示搜索状态 11:38
课时798 视频 实现搜索界面布局 17:15
课时799 视频 创建搜索结果相关Fragment 05:45
课时800 视频 显示搜索结果框架界面 11:22
课时801 视频 搜索结果界面接收搜索关键字 16:55
课时802 视频 实现搜索歌单功能 14:10

章节136: 增强全局搜索功能
课时803 视频 实现搜索用户功能 09:03
课时804 视频 添加其他数据库框架 03:24
课时805 视频 如何配置数据库模型 06:14
课时806 视频 快速入门数据库使用 06:44
课时807 视频 封装数据库使用功能 09:25
课时808 视频 保存和查询搜索历史 06:03
课时809 视频 显示搜索历史列表 10:14

章节137: 继续实现搜索相关功能
课时810 视频 实现搜索历史和结果切换 11:47
课时811 视频 完成搜索历史功能 15:03
课时812 视频 实现搜索历史头部布局 10:52
课时813 视频 显示热门搜索数据 07:28
课时814 视频 请求搜索建议数据 11:47
课时815 视频 显示搜索建议数据 21:30
课时816 视频 搜索建议接口限流 07:39

章节138: 常用哈希和加密算法
课时817 视频 什么是Base64编码 04:20
课时818 视频 添加加密算法依赖库 04:10
课时819 视频 实现Android版Base64编码 20:12
课时820 视频 什么是SHA1签名算法 03:09
课时821 视频 SHA1签名算法实现 11:49
课时822 视频 什么是AES加密算法 02:23
课时823 视频 AES加密解密算法实现 23:59

章节139: 如何让网络接口更安全
课时824 视频 如何让接口更安全 03:19
课时825 视频 实现接口签名和加密概述 03:59
课时826 视频 实现签名加密测试界面 20:39
课时827 视频 查看签名加密的接口 13:56
课时828 视频 实现订单列表响应签名接口 05:31
课时829 视频 创建修改网络拦截器 12:06

章节140: 继续实现接口安全
课时830 视频 实现验证接口响应签名 12:20
课时831 视频 测试接口响应签名 15:20
课时832 视频 实现创建订单参数签名接口 06:28
课时833 视频 实现请求参数签名 11:57
课时834 视频 测试请求参数签名 01:56
课时835 视频 实现订单列表响应加密接口 04:01

章节141: 完成接口安全相关功能
课时836 视频 实现解密接口响应内容 14:43
课时837 视频 实现创建订单参数加密接口 04:19
课时838 视频 实现请求参数加密功能 10:52
课时839 视频 接口安全功能总结和优化 03:36

章节142: 企业级项目日志解决方案
课时840 视频 企业级日志解决方案简介 06:35
课时841 视频 常用第三方日志框架 04:24
课时842 视频 如何集成日志框架 03:31
课时843 视频 初探企业级日志框架 23:15
课时844 视频 如何定制日志规则 25:32
课时845 视频 多学一点Logback 04:27
课时846 视频 日志功能总结和优化 02:22

章节143: 项目打包和分发
课时847 视频 如何更改软件名称 02:14
课时848 视频 如何制作应用图标 08:25
课时849 视频 生成多尺寸图标 06:48
课时850 视频 如何更改APP图标 07:28
课时851 视频 使用自带图标更改APP图标 07:27
课时852 视频 Android应用版本标识 04:08
课时853 视频 可视化打包项目 06:56

章节144: 完成项目打包和分发
课时854 视频 命令行打包项目 04:49
课时855 视频 混淆压缩和安全相关 10:50
课时856 视频 如何分发APK应用 03:05
课时857 视频 如何上传到360市场 05:06

章节145: 如何实现异常上报功能
课时858 视频 什么是腾讯Bugly服务 04:31
课时859 视频 在腾讯Bugly后台创建应用 03:31
课时860 视频 如何集成异常上报SDK 13:52
课时861 视频 初始化异常上报SDK 03:33
课时862 视频 测试异常上报功能 10:22
课时863 视频 查看崩溃日志信息 07:13

章节146: 如何实现应用内升级功能
课时864 视频 集成应用内升级SDK 06:52
课时865 视频 测试应用内升级效果 10:38
课时866 视频 实现手动检测更新功能 03:05

章节147: 如何使用第三方统计服务
课时867 视频 为什么要添加统计 12:36
课时868 视频 创建第三方平台应用 01:37
课时869 视频 集成第三方统计SDK 10:01
课时870 视频 添加页面统计事件 16:14
课时871 视频 添加登录统计事件 26:37
课时872 视频 添加注册统计事件 16:15
课时873 视频 添加购买统计事件 12:50
课时874 视频 实现统计跳过广告次数 05:56

章节148: 网络请求缓存相关功能
课时875 视频 网络缓存功能概述 02:23
课时876 视频 如何实现网络请求结果缓存 02:50
课时877 视频 HTTP缓存相关知识 07:17
课时878 视频 OkHttp如何实现请求结果缓存 08:27
课时879 视频 网络缓存功能总结和优化 01:06

章节149: 即时通讯相关功能
课时880 视频 聊天相关功能演示 11:36
课时881 视频 聊天概念和实现原理 05:27
课时882 视频 集成第三方聊天SDK 04:37
课时883 视频 如何初始化聊天SDK 09:02
课时884 视频 实现聊天注册登录和退出 23:57

章节150: 实现聊天相关功能
课时885 视频 实现跳转到聊天界面 07:20
课时886 视频 测试聊天SDK是否集成成功 08:06
课时887 视频 实现跳转到我的消息界面 06:34
课时888 视频 如何获取会话列表数据 04:08
课时889 视频 如何显示我的消息列表 04:50
课时890 视频 完成会话列表Item布局 21:52
课时891 视频 实现显示用户信息 20:29

章节151: 继续实现聊天相关功能
课时892 视频 完成聊天界面布局 21:21
课时893 视频 如何显示聊天的消息 02:00
课时894 视频 创建聊天界面适配器 05:23
课时895 视频 实现文本消息布局 07:04
课时896 视频 实现文本消息ViewHolder 07:33
课时897 视频 显示聊天历史消息列表 12:36
课时898 视频 实现文本消息背景 03:54

章节152: 继续实现消息发送功能
课时899 视频 如何使用9-Patch图片 03:04
课时900 视频 如何制作9-Patch图片 21:44
课时901 视频 实现发送文本消息 04:20
课时902 视频 显示自己发送的消息 08:08
课时903 视频 如何滚动列表到底部 05:54
课时904 视频 如何显示发送来的消息 01:34

章节153: 增强聊天消息功能
课时905 视频 聊天界面接收消息 11:31
课时906 视频 不显示正在聊天消息到通知栏 03:41
课时907 视频 实现点击消息通知进入聊天界面 08:13
课时908 视频 创建图片消息布局 10:27
课时909 视频 实现显示图片消息 08:25
课时910 视频 实现发送图片消息 12:55
课时911 视频 应用中如何提示有消息 02:56

章节154: 完成聊天消息提示功能
课时912 视频 添加红点框架依赖 01:57
课时913 视频 在我的消息消息未读消息数 11:57
课时914 视频 首页实时显示消息数 02:24
课时915 视频 实现首页按钮显示未读消息数 09:21
课时916 视频 即时聊天相关功能总结和优化 02:10

章节155: 实现应用内推送功能
课时917 视频 添加第三方推送SDK 00:40
课时918 视频 配置和初始化第三方推送 05:39
课时919 视频 实现接收自定义消息 05:18
课时920 视频 在后台测试第三方推送 10:10

章节156: 实时挤掉用户实现
课时921 视频 查看实时挤掉用户效果 02:28
课时922 视频 实时挤掉用户原理 01:53
课时923 视频 实现解析退出事件 11:11
课时924 视频 如何显示全局弹窗 01:29
课时925 视频 获取当前显示的Activity 04:33
课时926 视频 实现全局显示弹窗 11:14
课时927 视频 实现实时挤掉用户 17:55

章节157: 真实项目中的最佳实践
课时928 视频 真实项目中如何添加注释 07:15

章节158: 使用SpringBoot课程API
课时929 视频 SpringBoot课程API区别 05:44
课时930 视频 更改项目网络相关功能 24:34

章节159: 项目重构和Bug修复
课时931 视频 如何升级项目一些依赖版本 09:50
课时932 视频 输入框自定义背景问题 03:24

章节160: 微信登录相关准备工作
课时933 视频 查看微信相关平台概述 07:53
课时934 视频 认证微信开放平台账号 05:56
课时935 视频 如何创建移动APP应用 10:41

章节161: 实现微信登录相关功能
课时936 视频 实现微信第三方登录功能 13:28

章节162: 微信支付相关准备工作(服务端)
课时937 视频 微信支付总体流程概述 18:38
课时938 视频 注册并开通微信商户平台 11:05
课时939 视频 应用和商户平台关联 11:03

章节163: 继续实现微信支付功能
课时940 视频 实现调用微信支付SDK 13:37
课时941 视频 实现微信支付结果处理 18:17
课时942 视频 测试整体微信支付流程 02:23

章节164: 项目总结和后续学习计划
课时943 视频 这不是结束而是新的开始 03:44