本章主要介绍课程安排,以及开发环境的配置.如无Kotlin基础,可以学习老师的另一门课程:https://coding.imooc.com/class/108.html
共 3 节 (16分钟) 收起列表
本章主要完成一个基于扩展方法、Lambda 表达式和运算符 Boolean 的扩展、 以及基于属性代理的 SharedPreferences 和 Properties 的扩展,一方面为课程的后续内容做铺垫,另一方面也帮助学院能够快速进入状态。
共 5 节 (42分钟) 收起列表
本章主要运用泛型和反射的知识开发一个基于运行时反射获取泛型实参来完成 View与Presenter 绑定以及实例注入的框架,对比 Java 反射以及 Kotlin 反射在 Kotlin 当中的运用,同时对泛型的型变作进一步深入的讲解。
共 8 节 (46分钟) 收起列表
本章主要梳理 GitHub Api 的鉴权流程,完成登录页面的开发。其中涉及到使用 Kotlin-android-extensions 来简化 findViewById 的操作以及 Parcelable 接口实现的模板代码,使用 Retrofit 处理网络请求,并完成第一次对 RxJavaCallAdapter 的定制以支持对 RxJava 中 observeOn 的通用配置。...
共 11 节 (85分钟) 收起列表
本章重点讲解如何使用 Anko Dsl 编写布局,其中包括如何支持第三方 View 和 ViewGroup,DSL 布局与 XML 布局的性能对比,两种布局方案在各个方面的对比和使用建议。本章最后也仿照 Anko Dsl 从零开始开发一套 Dsl 的布局框架,并介绍 Dsl 中涉及到的隐式 Receiver 的问题以及 DslMarker 注解的使用。...
共 13 节 (93分钟) 收起列表
本章主要对 GitHub 的接口分页进行分析和调研,并以此再次对 RxJavaCallAdapter 做定制和扩展,完成对 GitHub 接口分页的通用支持;梳理了 Gson 的对象实例化流程,分析了在数据类中使用 lazy 导致的空指针的问题的原因;同时也对 FragmentPagerAdapter 不能正常清空数据的问题做了分析和解决。...
共 14 节 (119分钟) 收起列表
本章中实现了 GitHub App 的昼夜模式切换,开发了支持头像与 ActionBar 联动的 Behavior,处理了对 5.0 以下的版本的兼容性问题,分别完成了仿 QQ 和 微信的聊天页面右滑返回上一页的效果,除此之外,还运用属性代理开发了 ObjectPropertyDelegate 这个框架优化代码。...
共 10 节 (141分钟) 收起列表
GraphQL Api 相比 RESTFul Api 有更灵活更稳健的特点,本章主要涉及认识和使用 GraphQL 来请求 GitHub Api。在深入剖析 Retrofit 的原理之后,参考 Retrofit 开发 RetroApollo 框架来简化请求操作,这其中涉及到了对注解、泛型和反射知识的灵活运用。...
共 9 节 (86分钟) 收起列表
本章主要阐述协程的概念,分析 suspend 函数的原理,用实例讲解了官方协程框架的使用方法,开发一个 Golang 风格的 Deferred 扩展,实现一个协程风格的对话框扩展,最后从零开始使用标准库的协程 Api 来带着大家开发一个高仿官方协程框架的简化版本,完成包括启动协程、线程调度、协程等待等功能,让学员真正了解 ...
共 13 节 (127分钟) 收起列表
本章将带大家一起回顾和总结本次进阶课程所学到的内容重点,难点等。
共 1 节 (8分钟) 收起列表
欢迎光临 优百课栈 (https://www.ubkz.com/) | Powered by Discuz! X3.4 |