温馨提示
写博客是为了记录在开发过程中所涉及到的技术以及遇到的问题的解决,如果该博客对您有所帮助,希望可以点个关注/喜欢;如果您对文章中的内容有什么不同的见解,欢迎留言进行讨论。谢谢!
一、Kotlin 的应用场景
1、Kotlin Script
- Gradle 脚本,Gradle3.0 开始部分支出,尚在完善中
2、Java 虚拟机应用
- Web 应用,完美支持
- JavaFx,jdk8开始完美支持
3、前端开发
- 1.1 开始正式支持 Kotlin-JavaScript
4、Android 应用开发
- Kotlin 目前的主要战场
5、Native 程序
- 直接编译 Kotlin 代码为机器码,不依赖Jvm
- 支持与 C 代码交互
- 技术预览版功能有限,前途无量
二、Kotlin Script 实例
1、安装 Kotlin 编译库
Windows下Kotlin命令行开发环境安装
- 安装环境准备
Kotlin编译器:从GitHub下载,截止2017-9-5 最新版本是1.1.4,
GitHub主页
Java JDK 8,可以从Oracle官网下载,下载JDK8
- 安装
在Windows操作系统完成JDK 8的安装以后,安装Kotlin编译器:
解压Kotlin安装包:kotlin-compiler-1.1.4.zip,本文解压到D盘kotlin目录下
将D:\kotlin\kotlinc\bin目录路径,添加到Windows系统环境变量即可
Windows 10环境变量设置:【控制面板】中直接搜索【环境变量】,然后【编辑系统环境变量】即可;
- 验证安装是否成功
打开windows的命令行窗口
输入命令:kotlinc -version,如果提示Kotlin 1.1.4版本号,安装成功
其它可选的安装平台
在Windows和Linux、OS X上通用的安装方法:
- Kotlin编译器,从GitHub下载,截止2017-9-5 最新版本是1.1.4,GitHub - Kotlin主页
下载Java JDK 环境安装
Linux,OS X,FreeBSB,Solaris等*Unix系统支持以下方法:
// sdkman 包管理工具
$ curl -s https://get.sdkman.io | bash
// 一定要新开终端窗口执行以下命令
$ sdk install kotlin
Max OS X 还支持以下方式:
// homebrew工具安装
$ brew update
$ brew install kotlin
2、编译执行Kotlin Script(.kts) 文件
// 编译.kts 脚本文件
kotlinc -script *.kts
// 编译源码为可运行的jar包
kotlinc D:\kotlin_code\hello.kt -include-runtime -d hello.jar
// 使用java执行hello.jar
java -jar D:\kotlin_code\hello.jar
// 使用java执行类名运行
java -cp D:\kotlin_code\hello.jar HelloKt
// 使用kotlin执行,需要指明main类,执行类名
kotlin -cp D:\kotlin_code HelloKt
// 或者直接运行jar包
kotlin D:\kotlin_code\hello.jar
三、Kotlin Android 实例
1、Kotlin Android 插件
- kotlin.android.extensions
apply plugin "kotlin.android.extensions"
使用该插件可以在代码中省去 findViewById ,可直接使用对应 xml 布局文件中对应 View 的 id 属性定义的名称来进行相应的操作
如:
main_layout.xml
MainActivity.kt
tvName.text="Hello World"
- anko 库
- 添加 anko 库
compile "org.jetbrains.anko:anko-sdk15:0.9.1"
- 改变 View 的setOnClickListener
tvName.onClick{view ->
(view!! as TextView).text="${System.currentTimeMilles()}"
}
- 改变 startActivity
val intent = Intent(this@MainAvtivity,Main2Activity::class.java)
intent.putExtra("key","From MainActivity")
[email protected](intent)
更改后为
startActivity("key" to "From MainActivity")
- 代码中定义View,可无需布局文件
Main2Activity.kt
override fun onCreate(savedInstanceState: Bundle?){
super.onCreate(savedInstanceState)
relativeLayout{
textView(intent.extras["key"]?.toString()?: "Hello"){
}.lparams(matchParent,matchParent){
gravity = Gravity.CENTER
}
}.lparams(matchParent,matchParent){
gravity = Gravity.CENTER
}
}
四、Kotlin javascript 实例
创建一个kotlin (javascript) 的项目
新建 Main.kt 文件
fun main(args:Array){
document.write("Hello World!")
}
build 该项目,会在out 下生成对应的js 文件
;页面引入对应的js文件,就可以在浏览器访问该页面了
index.html
Hello Kotlin javasicrpt
五、Kotlin SpringBoot 实例
1、配置插件
buildscript{
ext.springBootVersion = "1.5.9.RELEASE"
dependencies{
classpath "org.jetbrains.kotlin:kotlin-noarg:@kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-allopen:@kotlin_version"
classpath "org.springframework.boot:Spring-boot-gradle-plugin:@springBootVersion"
}
}
apply plugin: 'kotlin-spring'
apply plugin: 'kotlin-jpa'
apply plugin: 'org.springframework.boot'
dependencies{
compile "org.springframework.boot:spring-boot-starter-web"
compile "org.springframework.boot:spring-boot-starter-data-jpa"
compile "com.h2database:h2"
compile "com.fasterxml.jackson.module:jackson-module-kotlin:2.8.4"
}