1.1 开发环境配置
开发环境的配置仅需两步:安装JDK;安装IDE。
1.1.1 安装JDK
在地址“https://www.oracle.com/technetwork/java/javase/downloads/index.html”中选择要下载的JDK,见图1-1。
单击图1-1箭头所指图标,进入新页面,在最下面能看到图1-2所示的内容。
图1-1
图1-2
注意一定要选择“Accept License Agreement(同意许可协议)”,才可以用鼠标单击下面的文件链接。
如果是Windows,建议选择可执行文件(它是安装包,可以自动设置很多配置),并且在安装过程中不要改变默认安装路径,这样不会引起不必要的麻烦。
需要注意的是,JDK安装到的路径中不能有中文,否则会引起莫名其妙的问题。默认安装位置一般是“系统盘:\Program files”。
1.1.2 安装IDE
仅有JDK虽然可以开发软件,但是要手动维护一切,可以借助开发工具来提高编程效率。Kotlin是JetBrains开发出来的,而JetBrains的主业为开发工具,所以选择JetBrains家的IDEA。
IDEA可以说是Java编程的首选IDE,当然也是Kotlin的首选,它的官网地址是“https://www.jetbrains.com/idea/”。下载IDEA很简单,在页面中单击图1-3所指的“DOWNLOAD”图标即可。进入下载页面,如图1-4所示。
图1-3
图1-4
有两个版本可供选择:Ultimate(旗舰版)和Community(社区版)。旗舰版功能强大,但是要收费;社区版功能少,是免费的。选择社区版来学习Kotlin就足够了。
下载的文件是一个安装包,运行它即可安装IDEA。安装过程最好保持默认设置,安装完就可以用。
跟JDK一样,注意IDEA所安装到的路径中不能有中文,否则亦会引起莫名其妙的问题,它的默认安装位置一般是“系统盘:\Program files”。
1.1.3 创建第一个Kotlin工程
其实Android的IDE Android Studio就是IDEA。Google为IDEA开发了Android插件,把它和IDEA绑定在一起(取名为Android Studio)供我们下载,所以Android Studio的界面与IDEA的界面是一样的。
第一次运行IDEA,会出现如图1-5所示的页面。
IDEA的功能项有“创建新工程”(Create New Project)“引入工程”(Import Project)“打开已有工程”(Open)“从版本控制系统导入工程”(Check out from Version Control)。要创建新工程,选择第一项之后出现创建工程向导,如图1-6所示。
图1-5
图1-6
可以创建多种类型的工程,仅Kotlin工程就有多种形式,那么选择哪一种呢?推荐创建基于Gradle的Kotlin/JVM工程。Gradle是当前如日中天的工程管理软件之一(另一个与它齐名的是Maven),主要用于管理Java工程,但是Kotlin与Java是同一“种族”,所以也适合使用Gradle管理。使用Kotlin可以开发多种程序:
- Kotlin/JS表示用Kotlin开发JavaScript程序,其实是把Kotlin代码翻译成JavaScript代码,然后才能在浏览器或Node.js环境中执行。
- Kotlin/JVM表示用Kotlin开发基于JVM的程序,也就是基于Java虚拟机运行的程序,其实就是以Kotlin代替Java编写代码,编译出的就是class文件。
建议选择Kotlin/JVM类型的工程,因为Kotlin对此类型支持得最好,在此类型的工程中可以使用Kotlin的所有特性。选好后单击Next(下一步)按钮,出现如图1-7所示的内容。
在图1-7中可以设置程序的名字,在GroupId(组名)中一般填入的是颠倒的域名,这里主要用于区分不同组织发布的程序,因为域名肯定是唯一的,所以都填写域名。本例中填的是“com.niuedu”,随手写的,只是为了演示一下。
ArtifactId(产品名)指的是程序名,默认与工程同名,所以最好不要用中文,中间也不能用空格等非常规字符,比如取名“HelloKotlin”就合乎规则和习惯。填完后,单击Next按钮,进入图1-8所示的页面。
图1-7
图1-8
可以修改工程的名字和工程所保存到的路径,这里就用默认的路径,单击Finish(完成)按钮,Gradle会根据配置自动生成一个工程,同时IDEA会进入编辑模式,如图1-9所示。
图1-9
整个工作区的构成非常主流化,左边是工程目录,右边是内容编辑区(现在没有打开任何文件)。注意下面的状态栏,左边这个小图标是切换左右竖向工具条的开关,初用者如果不小心点,就会找不着某些窗口。右边是进度条,要十分注意这个地方,如果此处有进度条或文字出现,则表示IDEA正在忙着做什么事,此时最好不要动工程中的文件,等IDEA忙完了,再编辑文件。尤其是第一次创建工程,可能需要很长时间,因为Gradle工程会严重依赖网络,自动下载很多文件,包括管理工程的插件以及工程所依赖的库,如果网速慢(这是很可能的,因为文件仓库服务器在国外),就可能需要漫长的等待。如果工程创建不成功,十有八九是因为网络问题导致某些文件没有下载成功,这时就需要重试(IDEA会提示重试)下载。
下面了解一下工程的组织结构。
1.1.4 工程组织结构
当工程创建成功后,可以看到图1-10这样的目录结构。
稍微解释一下:.gradle、.idea、gradle这三个文件夹是IDEA自己产生的,用于工程管理,我们不用它们。
src下是工程源码和非源码文件的保存地,但是不能随便放这些文件,src/main下存放的是源码,java下存放的是Java源码,kotlin下存放的是kotlin源码,resources下存放的是非源码文件,比如图片、配置文件等。test与main的目录结构相同,test起什么作用呢?它下面存放的是单元测试代码。
图1-10
注意!这种目录结构是固定的,不要试想通过一些配置来改变目录的名字或作用,这种理念名曰“约定大于配置”。
根目录下的build.gradle文件是整个工程管理的核心文件,因为它是工程的配置文件,当前它的内容是这样的:
这些代码是用Groovy语言编写的,配置了工程的一些工具或参数,比如工程管理所需插件(Plugins)、源码兼容性(Source Compatibility)、仓库(Repositories)、依赖的库(Dependencies)等。改动比较多的是依赖库。
至于根目录下的其他文件,都是与Gradle相关的配置文件或脚本工具,也是自动生成的,我们不需要关心。
虽然工程下有这么多文件,但是这个工程是空工程,因为没有实质的程序代码,下面就来添加代码完成第一个程序。
1.1.5 添加代码
与Java相似,先创建一个包,在包下再创建文件,与Java不同,main函数不用写在类中,直接作为全局函数即可。
首先创建一个包,见图1-11。
图1-11
用鼠标右击“kotlin”目录,在弹出的快捷菜单中选择“New”→“Package”,出现图1-12所示的界面。在这里填上包名,单击“OK”按钮,会在main/java下创建com.niuedu包,在包上右击,弹出如图1-13所示的快捷菜单。
图1-12
图1-13
选择“Kotlin File/Class”之后,出现图1-14所示的界面。
接下来选择所创建文件的类型,填入文件名“HelloApp”,选择“File”并双击,会在main/kotlin/com.niuedu下添加文件HelloApp.kt。编辑此文件,最终内容如下:
package com.niuedu
fun main() { println("Hello world!") }
图1-14
Main()函数很简单,其内容是打印一条文本。代码有了,如何运行呢?请看下节讲解。
1.1.6 运行程序
与Java工程一样,需要先配置运行方式。单击图1-15所示的位置,进入配置页面。
图1-15
图1-16是运行方式的配置页面。
图1-16
单击左上角的“+”图标,添加一条运行方式。选择正确的方式,这里应选“Kotlin”,如图1-17所示。
图1-17
选择后则会出现如图1-18所示的界面。
将运行方式取名为“app”。在“Main class”字段填入的类名对应着HelloApp.kt文件,虽然main函数是全局函数,但是因为Kotlin代码最终要转成class,所以它必然会有一个主类,从这里的类名可以看出Kotlin文件是如何与Java类对应的。
最后要注意的是,“Use classpath of module”字段需选择“HelloKotlin.main”,否则找不到HelloAppKt类。完成后单击“OK”按钮,回到主页面,此时可以看到运行方式旁边的图标变成绿色了,如图1-19所示。
图1-18
此时可以单击此图标以运行程序,程序的运行结果就是在控制台窗口中输出一行文本,如图1-20所示。
图1-19
图1-20
至此,第一个程序运行成功,下面就快速学习一下Kotlin的语法。