Kotlin 系统入门到进阶 视频教程

文章来源

Kotlin 系统入门到进阶 视频教程

这是什么?这是作者最新制作的系统讲解 Kotlin 的视频教程,相比较早录制的视频,这套视频在专业团队的协助下完成,内容更适合初学者入门学习;另外,由于 Kotlin 版本更新非常快,新视频也结合了 1.1 的新特性为大家展开讲解,希望能对大家有帮助~

视频地址: http://coding.imooc.com/class/108.html

第1章 课程介绍

本章主要介绍什么是Kotlin,课程安排,以及开发环境的配置。

第2章 数据类型

本章主要讲解 Kotlin 的基本词法,从类型系统入手为大家介绍 Kotlin 中都存在哪些类型,以及相关的特性。(知识点:基本类型、类与对象、空类型、智能类型转换、包、区间、数组)

第3章 程序结构

本章主要讲解 Kotlin 的句法,从程序结构入手为大家介绍 Kotlin 有哪些表达式,有哪些语句,如何定义常量、变量以及函数等等。(知识点:常量与变量 、函数、Lambda表达式、类成员、运算符、分支表达式、循环语句、异常捕获 、函数的具名参数、函数的变长参数、函数的默认参数、案例:一个命令行计算器、导出可执行程...

第4章 面向对象

本章深入探讨 Kotlin 的面向对象的知识,包括抽象、继承,扩展成员、属性代理以及常见类的概念及特性。(知识点:面向对象的基本概念、抽象类与接口、 子承父业的故事、类及其成员的可见性、object、伴生对象与静态成员、方法重载和默认参数、扩展成员、属性代理、数据类、内部类、枚举、密封类)...

第5章 高阶函数

本章深入探讨 Kotlin 的高阶函数的知识,学习常见的内置高阶函数的用法,并对常见高阶函数的相关概念如闭包、复合、科里化等做简要介绍。(知识点:基本概念、常见高阶函数、尾递归优化、闭包、函数复合、科里化 Currying、 偏函数、一个统计字符个数的小例子)...

第6章 领域特定语言 DSL

本章介绍领域特定语言 DSL 的概念,以及如何使用 Kotlin 编写 DSL。(知识点:DSL 的基本概念、案例:HTML DSL、Gradle Kotlin 脚本)

第7章 协程 Coroutine

本章介绍 Kotlin 的协程,主要包括基本 API 的使用,协程执行流程的分析,以及协程相关应用的案例和框架介绍。(知识点:基本概念、案例:异步下载图片、 协程的原理剖析、序列生成器、Kotlinx.coroutines框架简介)

第8章 Kotlin与 Java 混合开发

本章主要对 Kotlin 与 Java 混合开发常见的问题进行了梳理。(知识点:基本互操作、SAM转换、正则表达式、集合框架、IO操作、装箱和拆箱、注解处理器)

第9章 Kotlin的应用与展望

本章主要为大家演示如何编写 Kotlin 脚本,如何开发服务端程序, 如何开发 Android 应用,如何开发前端程序,以及如何使用 Kotlin-Native 将 Kotlin 直接编译为可执行程序并在操作系统上直接运行。(知识点:Kotlin的应用场景、 Kotlin-Script的例子、Kotlin-Android的例子、Kotlin-JavaScript的例子、 Kotlin-springboot的例子、Kotlin-Native 的例子)

<已过时>Kotlin从入门到『放弃』系列 视频教程

发现有人在淘宝店上卖这套视频哈,大家不要去买。。。直接在这里下载多好

随着Kotlin越来越成熟稳定,作者已经开始在生产环境中使用它。考虑到目前国内资料较少,作者录制了一套视频教程,希望以此抛砖引玉,让 Kotlin 在国内火起来。

个人水平有限,不足之处欢迎大家发邮件到 [bennyhuo@println.net](mailto: bennyhuo@println.net),谢谢大家!

介绍

视频从2016年10月初开始发布,更新至12月中旬完结。精力有限,后续暂时每周一通过公众号推送 Kotlin 及 Java 生态的一些文章,大家有选题也可以直接联系作者,目前已经有两篇是基于大家的反馈撰写的,反馈也比较不错,谢谢大家的关注与支持。

在线收看全部视频(腾讯视频)

下载全部视频(百度云)

关注微信公众号:Kotlin, 获取最新视频更新动态

<img src="arts/Kotlin.jpg" width="250px"/>

加入 QQ 群 Kotlin ,162452394:

<img src="arts/e_group.png" width="250px"/>

目录

01 Kotlin 简介

简要介绍下什么是 Kotlin,新语言太多了,大家为什么要接触 Kotlin 呢?因为它除了长得与 Java 不太像以外,其他的都差不多~

02 Hello World

千里之行,始于Hello World!

03 使用Gradle编写程序简介(可选)

这年头,写 Java 系的代码,不知道 Gradle 怎么行呢?

04 集合遍历 map

放下 i++,你不知道 map 已经占领世界了么?以前作者以为 map-reduce 很牛逼,后来才知道就是数据迭代处理嘛。

05 集合扁平化 flatMap

这个可以说是 map 的一个加强版,返回的仍然是开一个可迭代的集合,用哪个您自己看需求~

06 枚举类型与When表达式

Kotlin 丢掉了 switch,却引进了 when,这二者看上去极其相似,不过后者却要强大得多。至于枚举嘛,还是 Java 枚举的老样子。

07 在 RxJava 中使用 Lambda

这一期通过一个统计文章中字符数的小程序进一步给大家呈现 Lambda 的威力,也向大家展示一下如何在 Kotlin 当中优雅地使用 RxJava。作者不做教科书,所以如果大家对概念感兴趣,可以直接阅读官方 API

RxJava 是一个非常流行的 Java Reactive 框架,函数式的数据操作使得 Lambda 表达式可以充分体现自己的优势,比起 Java 的冗长,你会看到一段非常漂亮简洁的代码。建议大家先阅读 RxJava 的官方文章以对其有一些基本的认识。

08 使用 Retrofit 发送 GET 请求

Retrofit 是 Square 的 Jake 大神开源的RESTful 网络请求框架,用它发送请求的感觉会让你感觉爽爆的。作者这里还有几篇文章,以及一个作者 hack 过的分支 HackRetrofit,有兴趣的童鞋可以一起探讨下~

09 尾递归优化

尾递归,顾名思义,就是递归中调用自身的部分在函数体的最后一句。我们知道,递归调用对于栈大小的考验是非常大的,也经常会因为这个导致 StackOverflow,所以尾递归优化也是大家比较关注的一个话题。Kotlin 支持语法层面的尾递归优化,这在其他语言里面是不多见的。

10 单例

单例大家一定都不陌生,只要你动手写一个程序,就免不了要设计出一些全局存在且唯一的对象,他们就适合采用单例模式编写。在 Java 里面,单例模式的写法常见的有好几种,虽然简单却也是涉及了一些有意思的话题,那么在 Kotlin 当中我们要怎么设计单例程序呢?

11 Sealed Class

枚举类型可以很好的限制一个类型的实例个数,比如 State 枚举有两种类型 IDLE 和 BUSY 两种状态,用枚举来描述再合适不过。不过,如果你想要设计子类个数有限的数据结构,比如指令,指令的类型通常是确定的,不过对于某些有参数的指令每一次都使用同一个实例反而不合适,这时候就需要 Sealed Class。

12 Json数据引发的血案

Json 数据可真是大红大紫一番,它实在是太容易理解了,随着 Js 的火爆它就更加『肆无忌惮』起来。我们在 Java/Kotlin 当中解析它的时候经常会用到 Gson 这个库,用它来解析数据究竟会遇到哪些问题?本期主要围绕 Json 解析的几个小例子,给大家展示一下 Java/Kotlin 的伪泛型设计的问题,以及不完整的数据的解析对语言本身特性的冲击。

13 kapt 以及它的小伙伴们

首先感谢 @CodingPapi,这一期的内容主要来自于他的建议。

Kotiln 对于注解的支持情况在今年(2016)取得了较大的成果,现在除了对 @Inherited 这个注解的支持还不够之外,试用了一下没有发现太大的问题。关于 kapt,官方的文章罗列下来,其中

本期主要通过一个简单的 Dagger2 实例给大家展示了注解在 Kotlin 当中的使用,看上去其实与在 Java 中使用区别不大,生成的源码也暂时是 Java 代码,不过这都不重要了,反正是要编译成 class 文件的。

后面我们又简单分析了一下 Dagger2 以及 ButterKnife 的源码(有兴趣的话也可以看下作者直接对后者进行分析和 Hack 的一篇文章:深入浅出 ButterKnife,听说你还在 findViewById?),其实自己实现一个注解处理器是非常容易的,类似的框架还有androidannotations,它的源码大家可以自行阅读。


通过这个例子,我们其实发现 kapt 还是有一些不完善的地方,主要是:

  1. 不支持 @Inherited
  2. 生成的源码需要手动添加到 SourceSets 中
  3. 编译时有时候需要手动操作一下 gradle 的 build 才能生成源码(这一点大家注意下就行了,我在视频中并没有提到)

不过总体来讲,kapt 的现状还是不错的,相信不久的将来这些问题都将不是问题。


14 Kotlin 与 Java 共存 (1)

你想要追求代码简洁、美观、精致,你应该倾向于使用 Kotlin,而如果你想要追求代码的功能强大,甚至有些黑科技的感觉,那 Java 还是当仁不让的。

说了这么多,还是那句话,让他们共存,各取所长。

那么问题来了,怎么共存呢?虽然一说理论我们都知道,跑在 Jvm 上面的语言最终都是要编成 class 文件的,在这个层面大家都是 Java 虚拟机的字节码,可他们在编译之前毕竟还是有不少差异的,这可如何是好?

正所谓兵来将挡水来土掩,有多少差异,就要有多少对策,这一期我们先讲在 Java 中调用 Kotlin

15 Kotlin 与 Java 共存 (2)

上一期我们简单讨论了几个 Java 调用 Kotlin 的场景,这一期我们主要讨论相反的情况:如何在 Kotlin 当中调用 Java 代码。

除了视频中提到的点之外还有一些细节,比如异常的捕获,集合类型的映射等等,大家自行参考官方文档即可。在了解了这些之后,你就可以放心大胆的在你的项目中慢慢渗透 Kotlin,让你的代码逐渐走向简洁与精致了。

声明:该文章系转载,登载该文章目的为更广泛的传递

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259