KotlinLearn

项目地址:Jetictors/KotlinLearn

简介: 这是一个关于 Kotlin 一系列的学习教程、文章。学好 Kotlin 从这里开始,争取做到最全、最详细。让没有编程经验的朋友也能通过这个系列教程用 Koltin 语言来开发项目

更多:作者   提 Bug

标签:

这是一个关于Kotlin教程的项目,学好Koltin从这里开始,当你看完这个系列的所有文章时,我相信你是绝对有收获的。

写这个系列教程的初衷

本人作为一个Android开发者,在Kotlin语言正式出现在人们面前的时候,或多或少的接触到了这门语言,并 自学了一部分,当谷歌宣布Kotlin成为Android开发的标准语言,才有打算用心的去学习这门语言,并能用于实际的开 发当中。在我学习的过程中,学的越深入越被Kotlin简洁的代码,良好的代码阅读性深深的折服。但是在官方的文档中,写 的很不想细,有些代码甚至看不懂其实现,基础性的东西几乎不存在。如果你没有一定的编程经验我相信你也是看不懂的。

但是请你不要放弃对这门语言的学习,我也是一点一点学习过来的,你在学习过程中遇到的坑,可能我也遇到过。我非常欢迎各位 一起学习,一起探索。共同的进步。

所以,我会根据自身的编程经验、技术。写完整个Kotlin系列文章。整个教程由浅如深,即使你没有编程经验你也能看懂,教程中会 介绍Koltin的特性,以及其和Java的差异性。让更多的朋友爱上这门语言。

开撸

话不多说,让我们忘记生活的烦恼、放下沉重的枷锁、沉浸在代码的世界中,打开音乐的分贝,迈开脚步开始学习Kotlin大法吧。

学习架构

我把这个教程命名为:从无到有系列,这个系列目前还没写完,故而下面的链接有一些是没有实际内容的,我会在后面持续的补齐,这里只是实现了整个教程的大纲。

整个项目根据学习的难以程度以及学习路线我分为了五个模块。我会按照的学习架构去排序。大家可以按照这个顺序去学习...

引言

  • 1、 17 位谷歌 Android 开发专家是如何看待 Kotlin 的?
  • 2、 用 Kotlin 开发 Android 项目是一种什么样的感受?(一)
  • 3、 用 Kotlin 开发 Android 项目是一种什么样的感受?(二)

初级篇

对于入门篇的内容不多,主要是讲解了Kotlin中的基础语法,涵盖了开发环境搭建变量常量注释数据类型控制语句操作符重载空安全基本函数字符串处理

  • 1、 开发环境搭建
  • 2、 变量、常量、注释
  • 3、 数据类型
  • 4、 逻辑控制语句
  • 5.1、 一元、二元操作符
  • 5.2、 比较、区间、未运算操作符(未完成)
  • 6、 可空类型、空安全、类型转换
  • 7、 基础函数使用
  • 8、 字符串的常用操作总结

中级篇

Kotlin是一门面向对象的开发语言。既然是面向对象,则在中级篇主要讲解其三大特性,以及类成员数据类抽象类接口类内部类继承类等关于Kotlin面向对象的方方面面的讲解

  • 1、 类的声明与使用
  • 2、 属性与字段(未完成)
  • 3、 可见性修饰符
  • 4、 继承类
  • 5、 接口类、枚举类
  • 6、 数据类、密封类
  • 7、 抽象类、内部类、嵌套类
  • 8、 类型别名与属性名冲突解决
  • 9、 解构声明(未完成)
  • 10、伴生对象与对象声明(未完成)

高级篇

高级篇的内容要多一些,只要是对Kotlin中的高级用法以及一些独特的东西。涵盖了lambda 表达式高阶函数集合泛型扩展委托异常处理注解反射协程

  • 1、 Lambda 表达式
  • 2、 高阶函数
  • 3、 内联函数(未完成)
  • 4.1、 集合的使用
  • 4.2、 集合的常用操作符总结
  • 5、 泛型(未完成)
  • 6、 扩展(未完成)
  • 7、异常处理(未完成)
  • 8、 委托(未完成)
  • 9、 注解(未完成)
  • 10、 反射(未完成)
  • 11、 协程(未完成)

进阶篇

进阶篇主要讲解的是在实际开发项目中的注意事项及一些高级操作,例如Kotlin中的设计模式编码规范

  • 1、 约定俗成的编码规范(未完成)
  • 2、 单列模式(未完成)
  • 3、 工厂方法模式(未完成)
  • 4、 抽象工厂模式(未完成)
  • 5、 建造者模式(未完成)
  • 6、 原型模式(未完成)
  • 7、 适配器模式(未完成)
  • 8、 桥接模式(未完成)
  • 9、 组合模式(未完成)
  • 10、 装饰模式(未完成)
  • 11、 外观模式(未完成)
  • 12、 享元模式(未完成)
  • 13、 代理模式(未完成)
  • 14、 职责链模式(未完成)
  • 15、 命令模式(未完成)
  • 16、 解释器模式(未完成)
  • 17、 迭代器模式(未完成)
  • 18、 中介者模式(未完成)
  • 19、 备忘录模式(未完成)
  • 20、 观察者模式(未完成)
  • 21、 状态模式(未完成)
  • 22、 策略模式(未完成)
  • 23、 模版方法模式(未完成)
  • 24、 访问者模式(未完成)

实战篇

实战篇主要向大家介绍使用Kotlin开发Android项目时,介绍一些常用和Kotlin一起开发的库,以及对他们的使用及讲解。 比如说AnkoDagger2RxKotlin、或者用Kotlin编写的一些自定义组件等等...

  • 1、 使用 Anko,让你告别 xml 布局
  • 2、 Kotlin 中使用 Dagger2 的坑
  • 3、 RxKotlin 总结(未完成)
  • 4、 使用 Koltin 编写一个竖行显示的 TextView(未完成)

其他

在这里我意思整合了一些关于Kotlin的学习资源,以供大家学习。

官网

  • Kotlin 官网文档
  • kotlin 中文官网文档
  • Kotlin 在线 IDE
  • Kotlin On Github

视频教程

  • Kotlin 系列视频教程

书籍

关于书籍的分享,这里有着官网的中英文PDF文档,Kotlin极简教程、Kotlin程序开发入门经验等等书籍。这些我都分享在了我的Kotlin交流群里面。这里就不一一的分享了。

更多

  • Kotlin 相关经验文章

开源项目

  • GankClient-Kotlin —— 用Koltin编写的Gank客户端
  • PoiShuhui-Kotlin —— 用Kotlin写的简单漫画 APP
  • KotlinMvp —— 基于Kotlin+MVP+Retrofit+RxJava+Glide等架构实现短视频类 APP 练手项目,UI 简约,详细注释
  • Eyepetizer-in-Kotlin —— 用Kotlin撸一款Eyepetizer

最后

我相信在你学完整个系列教程之后,一定是可以用Kotlin进行实际项目开发的。近期我也会用Koltin语言去编写我自己的Android项目,也会用Kotlin去实现后端用于我APP中的接口提供。
如果你在学习过程中遇到任何的问题,不管你是写后端Android以及前端的开发者都可以联系我,或者对于Android开发很有兴趣。都可以在项目Issuse我,或者加入在下的Koltin交流群一起学习、研究。

欢迎各位大佬进群共同研究、探索

QQ 群号:497071402

关于 Kotlin 一系列的学习教程、文章。学好 Kotlin 从这里开始,争取做到最全、最详细。让没有编程经验的朋友也能通过这个系列教程用 Koltin 语言来开发项目相关推荐

  1. Xilinx MicroBlaze系列教程(适用于ISE和Vivado开发环境)

    本文是Xilinx MicroBlaze系列教程的第0篇文章. 这个系列文章是我个人最近两年使用Xilinx MicroBlaze软核的经验和笔记,以Xilinx ISE 14.7和Spartan-6 ...

  2. EWSTM8系列教程06_工程节点选项配置(一)

    IAR最新全套教程: 1.EWSTM8系列教程01_IAR介绍.下载.安装和注册 2.EWSTM8系列教程02_新建基础软件工程 3.EWSTM8系列教程03_主窗口.工具栏的概述 4.EWSTM8系 ...

  3. EWSTM8系列教程02_新建基础软件工程

    IAR最新全套教程: 1.EWSTM8系列教程01_IAR介绍.下载.安装和注册 2.EWSTM8系列教程02_新建基础软件工程 3.EWSTM8系列教程03_主窗口.工具栏的概述 4.EWSTM8系 ...

  4. EWSTM8系列教程04_菜单概述(一)

    IAR最新全套教程: 1.EWSTM8系列教程01_IAR介绍.下载.安装和注册 2.EWSTM8系列教程02_新建基础软件工程 3.EWSTM8系列教程03_主窗口.工具栏的概述 4.EWSTM8系 ...

  5. 【建站系列教程】2.3、分享一些小说的api接口

    [建站系列教程]2.3.分享一些小说的api接口 一.追书神器api 二.资源二api 三.宜搜api 四.结语 写在前面:大家好,我是热爱编程的小泽. [建站系列教程]是我的亲身建站经历写给广大建站 ...

  6. EWSTM8系列教程03_主窗口、工具栏的概述

    IAR最新全套教程: 1.EWSTM8系列教程01_IAR介绍.下载.安装和注册 2.EWSTM8系列教程02_新建基础软件工程 3.EWSTM8系列教程03_主窗口.工具栏的概述 4.EWSTM8系 ...

  7. html标题线,html系列教程--标题,水平线,注释以及段落

    HTML标题 标题,用来显示文章重要性的文字,包含了文章的主旨,类似于作文题目. 标题(Heading)是通过 - 等标签进行定义的,由大到小一次排列,h1为最大. 注意: 浏览器会自动地在标题的前后 ...

  8. EWSTM8系列教程01_IAR介绍、下载、安装和注册

    推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!https://www.cnblogs.com/captainbed 正文: IAR最新全套 ...

  9. 【建站系列教程】5、谈一谈网站的静态化

    [建站系列教程]5.谈一谈网站的静态化[进阶] 动态页面?静态页面?伪静态页面? 三个页面有何优缺点? 为什么要让网页静态化 如何网页伪静态化? 写在前面:大家好,我是热爱编程的小泽. [建站系列教程 ...

最新文章

  1. Android 使用 ADB 命令录制屏幕上的视频
  2. 关于EXCEL超级链接被禁止的解决方法
  3. SLAM学习--帝国理工学院机器人课程slam部分讲义(附下载链接)
  4. oracle 12c dg新特性,Oracle 12c DG新特性---一键switchover
  5. C++:20---成员变量初始化方式
  6. 对话亲历者|鲁肃:我在支付宝“拧螺丝“的日子
  7. 路由器下一跳地址怎么判断_网络基本功三:细说路由器
  8. 创建ASPState数据库
  9. 【C++实现】HeadFirst策略模式设计模式
  10. [转载] 数组快速排序python_python实现快速排序
  11. @value 默认值_【Spring】只想用一篇文章记录@Value的使用,不想再找其它了(附思维导图)
  12. 数据结构与算法面试题(2022版本)
  13. 【软件工程】软件工程需求分析——结构化分析
  14. php酒店客房管理,基于PHP的酒店客房管理系统的设计与实现2.doc
  15. python 输入整数数组_Python 2中的整数数组输入
  16. Python - 面向对象编程 - 公共属性、保护属性、私有属性
  17. html5鼠标悬停下拉列表,HTML5与CSS3中鼠标悬停会有下拉列表
  18. 苹果手机相机九宫格怎么设置_用苹果手机拍照,这3个媲美单反的设置不会用,就别说自己用苹果...
  19. CC3200 TI RTOS LPDS模式
  20. spoolsv出错,无法使用打印服务的解决办法

热门文章

  1. 使用js控制readonly属性
  2. 如何优雅、机智地和新公司谈薪水?
  3. Android JNI操作Bitmap实现黑白图片
  4. retainAll()方法
  5. 【Java 环境搭建】(二)Maven
  6. PHP和ActiveMQ集成
  7. JavaScript变量与数据类型(三)
  8. Android actionBar复用
  9. 【源码解析】Activity之setResult工作原理
  10. c语言实训题目设计报告 模拟高考平行志愿投档,高考模拟平行志愿投档高考模拟平行志愿投档.doc...