一、课程介绍、学习指南
略
二、Kotlin、IDEA、AS 的渊源
1、Kotlin
Kotlin
是一种在 Java 虚拟机
上运行的静态类型编程语言,被称之为 Android 世界的 Swift,由 JetBrains
公司设计开发并开源。
Kotlin
语言是一门新兴语言,因此它集成了其他语言的众多优点,没有历史包袱,因此更强大!
(1)全栈
Kotlin
语言在设计之初就有一个明确的目标,那就是能够在所有平台上使用,能够使用 Kotlin
开发任意平台的应用。
Kotlin
不仅可以编译为 JVM
平台的字节码文件,也可以编译成 JavaScript
,方便在没有 JVM
的设备上运行
更有甚者,它还能够直接编译成各平台的二进制文件
Kotlin 走的是全栈开发之路,可以支持 JVM、JavaScript、Android/iOS、Windows/Linux/Mac,甚至像 STM32 这样的嵌入式系统的开发
(2)优于 Java
Android 程序是运行在 JVM
之上的,因此从技术上来说,可以运行在 JVM
之上的一切都可用于开发 Android 应用
Kotlin 语言大火,源于 Google 的支持,自从 Google I/O 2019 大会之后,Kotlin 已经成为 Android 开发的首先语言
那么 Kotlin 相比于 Java 有哪些优势呢?
- 简洁
Kotlin
的语法更加简洁,对于同样的功能,使用Kotlin
开发的代码量可能会比使用Java
开发的减少50%
,甚至更多。 - 高级语法
Kotlin
的语法更加高级,相比于Java
比较 老旧的语法,Kotlin
增加了很多现代高级语言的语法特性,使得开发效率大大提升。 - 安全
Kotlin
在语言安全性方面下了很多工夫,几乎杜绝了空指针这个全球崩溃率最高的异常。 - 互操作
最为重要的是,Kotlin
和Java
是100%
兼容的。Kotlin
可以直接调用使用Java
编写的代码,也可以无缝使用Java
第三方的开源库。这使得Kotlin
在加入了诸多新特性的同时,还继承了Java
的全部财富。
2、IDEA 与 Android Studio
(1)AS 源于 IDEA
由于 IDEA
社区版是开源免费的,因此谷歌基于 IDEA 社区版开发了 Android Studio
比如,打开 Android Studio
的关于,可以看到它依赖的 IDEA 的版本
(2)Android 开发用哪个工具?
Android Studio
是一个纯粹的 Android
开发环境,它把 IDEA
社区版中支持的 Groovy
,Scale
等剔除了;
虽然 IDEA 社区版也原生支持 Android
开发,但对于 Android
开发的支持上肯定不如 Android Studio
来的彻底,毕竟 AS 是谷歌的亲儿子。
总结:所以如果你做 Android
开发选 Android Studio
就对了
三、Kotlin 开发环境搭建
1、Kotlin 开发方式
(1)命令行
编译工具官方下载地址:https://github.com/JetBrains/kotlin/releases/
这种方式,太笨了,写代码也没有代码自动补全和错误提示功能,直接略过
(2)IntelliJ IDEA
Kotlin
和 IntelliJ IDEA
都是 JetBrains
公司设计并开发的,IntelliJ IDEA
对 Kotlin
提供了强大的支持,
在安装的 IDEA 中,可以看到 IDEA 已经内置了支持 Kotlin
的插件,它提供了对 Kotlin
语言的支持,还拥有强大的代码补全、错误提示等功能
因此,Kotlin
开发环境首选 IntelliJ IDEA
(3)Android Studio
对于 Android
开发者来说,习惯使用 Android Studio
,由于它是基于 IDEA
社区版开发的,因此可以直接打开 IDEA
创建的 Kotlin
项目
但是 Android Studio
无法创建基于 Kotlin
的项目
综上所诉:如果是仅仅学习 Kotlin
的语法,推荐直接使用官方提供的集成开发环境 IDEA
2、项目构建方式
新建项目时,在 Build System
处,有如下几种构建方式:
(1)IntelliJ
直接创建了 Kotlin
项目,适合简单的项目,依赖需要手动管理
直接点击 main
左侧的绿色箭头就可以运行
(2)Gradle/Groovy、Gradle/Kotlin
用 Gradle
来管理和构建项目
Gradle
使用特定领域语言 (DSL)
来描述项目配置,抛弃了 Maven
那种基于 XML
的繁琐配置方式;
在 Android Studio 中,就是使用 Gradle 作为自动化的构建工具,做 Android 开发的朋友应该很熟悉了,在此就不展开来讲了,我有一门课程,专门讲解 Gradle,包括从 Groovy 迁移到 Kotlin,感兴趣的同学可以去看下!
前期:
Gradle
使用基于 Groovy
的特定领域语言 (DSL)
来描述项目配置
现在:
Gradle 从 5.0
开始就支持 Kotlin 来描述项目配置,Gradle 团队已经拥抱 Kotlin
了,相信 Kotlin
在 Gradle的 使用中会愈来愈多的,相信很快 Android Studio 项目会使用 Kotlin
做为默认的 Gradle 脚本的,毕竟 Kotlin
已是 Android 开发的首推语言了
新创建的基于 Gradle/Kotlin
的项目,如下:
-
名词解释
Gradle:自动化构建工具,平行产品是 Maven
Groovy:编程语言,编译后变为JVM byte code,兼容Java平台
DSL:Domain Specific Language,领域特定语言Groovy DSL:Gradle 的 API 是 Java 的,Groovy DSL 是在其之上的脚本语言。Groovy DSL脚本文件后缀:.gradle
Kotlin DSL:和前者类似,同样根据 Gradle 的 Java API 构建,只是替换了语言:Groovy -> Kotlin。Kotlin DSL 脚本文件后缀:.gradle.kts
(3)Maven
Maven
使用 XML
来配置项目,比较繁琐;
再加上 Android Studio 中默认使用 Gradle 来构建项目
基于以上两点,在以后的学习中,我们使用 Gradle 构建的项目
(4)第一个 Kotlin 程序说明
-
程序入口
Kotlin
程序的入口函数,是main
函数,从Kotlin1.3
开始,main
函数如果不需要参数,也可以不写,这和C/C++
一致;
可以通过 Run/Debug configuration 来给main
函数传参,如下:
-
打印
print
和println
,用于向标准输出打印内容,区别是println
会输出一个换行,print
不会
3、用 Android Studio 打开 IDEA 创建的项目
前面已经说了,虽然 Android Studio
无法创建基于 Kotlin
的项目;
但是,Android Studio
是基于 IDEA 社区版开发的,因此可以直接打开 IDEA 创建的 Kotlin
项目,
如下: