基于GitHub App 深度讲解Kotlin高级特性与框架设计 基于GitHub App 深度讲解Kotlin高级特性与框架设计 基于GitHub App 深度讲解Kotlin高级特性与框架设计

 

 

基于GitHub App 深度讲解Kotlin高级特性与框架设计
【Kotlin中文社区负责人亲授】本课程以GitHub APP业务为主线,将Kotlin高级特性与关键技术贯穿始末,让你更深入的掌握Kotlin特性,写出更具Kotlin风格的android APP;同时结合真实场景,带你设计与实现高质量的通用框架,让你的编程思维得到充分的训练和质的提升。总之通过这门课程的学习,为你扫清Kotlin In Android开发障碍,快速完成Kotlin技能升级。
适合人群
有1年以上 Android 开发经验
想要掌握Kotlin高级特性并提升框架设计能力的开发者
技术储备要求
至少有一个Android项目开发经验
有Kotlin 基础
了解反射、泛型,并发概念
试看链接:https://pan.baidu.com/s/1OgPxA1hXRwOelQfJK77WoQ
提取码:q0nk
章节目录:

第1章 课程介绍(提供问答区答疑解惑)

本章主要介绍课程安排,以及开发环境的配置.如无Kotlin基础,可以学习老师的另一门课程:https://coding.imooc.com/class/108.html
1-1 课前必读(不看会错过一个亿)
1-2 课程学习指南 试看
1-3 课程简介 试看
第2章 小试牛刀

本章主要完成一个基于扩展方法、Lambda 表达式和运算符 Boolean 的扩展、 以及基于属性代理的 SharedPreferences 和 Properties 的扩展,一方面为课程的后续内容做铺垫,另一方面也帮助学院能够快速进入状态。
2-1 项目初始化
2-2 Boolean扩展
2-3 SharedPreferences 扩展
2-4 Properties扩展
2-5 本章小结
第3章 Mvp 框架的开发

本章主要运用泛型和反射的知识开发一个基于运行时反射获取泛型实参来完成 View与Presenter 绑定以及实例注入的框架,对比 Java 反射以及 Kotlin 反射在 Kotlin 当中的运用,同时对泛型的型变作进一步深入的讲解。
3-1 Mvp 框架介绍
3-2 Mvp 框架接口定义
3-3 Mvp 接口的抽象实现
3-4 获取泛型实参实例化 Presenter_1
3-5 Java 反射版本以及生命周期调用
3-6 BaseActivity 实现
3-7 泛型型变回顾
3-8 本章小结
第4章 登录模块及页面的开发

本章主要梳理 GitHub Api 的鉴权流程,完成登录页面的开发。其中涉及到使用 Kotlin-android-extensions 来简化 findViewById 的操作以及 Parcelable 接口实现的模板代码,使用 Retrofit 处理网络请求,并完成第一次对 RxJavaCallAdapter 的定制以支持对 RxJava 中 observeOn 的通用配置。…
4-1 GitHub API 使用入门
4-2 登录流程
4-3 添加 GitHub 登录相关接口
4-4 开发登录鉴权拦截器
4-5 开发账号管理模块
4-6 开发登录页面
4-7 登录演示及开发环境用户名密码配置
4-8 使用 KAE 合成 View及存在的问题
4-9 使用 Anko 简化我们的代码
4-10 定制 RxJavaCallAdapter 添加默认的 Scheduler
4-11 本章小结
第5章 使用 Anko Dsl 布局关于页面

本章重点讲解如何使用 Anko Dsl 编写布局,其中包括如何支持第三方 View 和 ViewGroup,DSL 布局与 XML 布局的性能对比,两种布局方案在各个方面的对比和使用建议。本章最后也仿照 Anko Dsl 从零开始开发一套 Dsl 的布局框架,并介绍 Dsl 中涉及到的隐式 Receiver 的问题以及 DslMarker 注解的使用。…
5-1 本章概述
5-2 搭建主页面 试看
5-3 使用 Anko Dsl 布局关于页面
5-4 预览 Anko Dsl 布局
5-5 在 DSL 中使用主题
5-6 如何支持自定义
5-7 如何支持自定义 ViewGroup
5-8 DSL 与 XML 性能对比
5-9 DSL 还是 XML
5-10 自己动手写 DSL 布局框架
5-11 使用@DslMarker
5-12 自己动手写 DSL 布局框架 II
5-13 本章小结
第6章 通用列表及分页的解决方案

本章主要对 GitHub 的接口分页进行分析和调研,并以此再次对 RxJavaCallAdapter 做定制和扩展,完成对 GitHub 接口分页的通用支持;梳理了 Gson 的对象实例化流程,分析了在数据类中使用 lazy 导致的空指针的问题的原因;同时也对 FragmentPagerAdapter 不能正常清空数据的问题做了分析和解决。…
6-1 本章概述
6-2 GitHub 接口分页调研
6-3 RxJavaCallAdapter 的执行流程
6-4 实现分页类型 GitHubPaging
6-5 添加对 GitHubPaging 的支持
6-6 在数据类中使用 Lazy
6-7 开发通用分页的数据模块
6-8 开发通用列表页面-1
6-9 开发通用列表页面-2
6-10 完成仓库列表页
6-11 为列表添加 Tab
6-12 根据登录状态更新 Tab 及列表
6-13 解决 ViewPager 数据刷新的问题
6-14 本章小结
第7章 仓库详情页面的开发

本章中实现了 GitHub App 的昼夜模式切换,开发了支持头像与 ActionBar 联动的 Behavior,处理了对 5.0 以下的版本的兼容性问题,分别完成了仿 QQ 和 微信的聊天页面右滑返回上一页的效果,除此之外,还运用属性代理开发了 ObjectPropertyDelegate 这个框架优化代码。…
7-1 本章概述
7-2 主题配色方案
7-3 实现夜间模式
7-4 开发通用 DetailItem
7-5 开发仓库详情页面
7-6 Behavior: 头像与 ActionBar 联动
7-7 Android 4.4 兼容性问题解决
7-8 实现仿 QQ 右滑返回
7-9 实现仿微信右滑返回
7-10 小结
第8章 Retrofit 的原理及 RetroApollo 的实现

GraphQL Api 相比 RESTFul Api 有更灵活更稳健的特点,本章主要涉及认识和使用 GraphQL 来请求 GitHub Api。在深入剖析 Retrofit 的原理之后,参考 Retrofit 开发 RetroApollo 框架来简化请求操作,这其中涉及到了对注解、泛型和反射知识的灵活运用。…
8-1 GraphQL 简介
8-2 GraphQL 初体验
8-3 接入 GraphQL 框架 Apollo-Android
8-4 接入 RetroApollo-Android 框架
8-5 RetroApollo 动态代理处理请求
8-6 RetroApollo 解析注解和泛型返回值
8-7 RetroApollo 返回类型适配
8-8 RetroApollo 适配 RxJava
8-9 本章小结
第9章 使用协程重构我们的代码

本章主要阐述协程的概念,分析 suspend 函数的原理,用实例讲解了官方协程框架的使用方法,开发一个 Golang 风格的 Deferred 扩展,实现一个协程风格的对话框扩展,最后从零开始使用标准库的协程 Api 来带着大家开发一个高仿官方协程框架的简化版本,完成包括启动协程、线程调度、协程等待等功能,让学员真正了解 …
9-1 协程的基本概念
9-2 协程框架的使用-1
9-3 协程框架的使用-2
9-4 协程框架的使用-3
9-5 Android 的第一行协程代码
9-6 协程风格的对话框实现
9-7 为 RetroApollo 添加协程支持
9-8 实现自己的协程框架 – 协程的基本实现
9-9 实现自己的协程框架 – 线程调度
9-10 实现自己的协程框架- Delay
9-11 实现自己的协程框架- runBlocking
9-12 实现自己的协程框架- Deferred
9-13 本章小结
第10章 课程总结

本章将带大家一起回顾和总结本次进阶课程所学到的内容重点,难点等。
10-1 课程总结

本课程已完结

超清,完整,加入自学IT网会员一起学习吧~
自学it666 » 基于GitHub App 深度讲解Kotlin高级特性与框架设计

常见问题FAQ

课程清晰度怎么样?
本站所有课程均为超清原画!
视频资料都完整吗?
#是的,完整,官方同步体验!
年费会员是什么意思?
#是指开通年费会员后站内所有资源一年内均可免费畅想学习下载!包括后续上传的所有课程!
终身会员是什么意思?
#是指开通终身会员后站内所有课程终身均可免费畅想学习下载,包括后续上传的所有课程!另外赠送网盘会员SVIP账号,畅想下载不限速!
终身会员赠送网盘SVIP账号吗?怎么领取呢?
#是的!终身会员赠送网盘SVIP账号,开通终身会员后找客服发一下站内会员用户名领取会员福利即可!
© 2018 Theme by - 自学IT网 & WordPress Theme. All rights reserved 粤ICP备569812478号