初次尝试Kotlin

为Android Studio安装kotlin插件

在Android Studio中打开Settings->Plugins->Browse Repositories,输入kotlin搜索

创建Android项目并配置kotlin

创建Android工程

在Android Studio新建一个Android 工程“KotlinDemo”,跟普通Android工程创建一样。

配置工程

在工程的build.gradle中添加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
25
26
27
28
29
30

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

ext.kotlin_version = '1.0.2' //kotlin版本

repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
//kotlin依赖
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
jcenter()
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

kotlin_version为kotlin的版本,因为要保持一直,所以这里配置成一个全局变量,方便在其他地方使用。版本最好使用kotlin官方文档中的最新版本。

然后在module中的build.gradle文件中使用kotlin插件以及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
25
26
27
28
29
30

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android' //使用kotlin插件

android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

defaultConfig {
applicationId "com.mymoney.kotlindemo"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" //添加kotlin依赖
}

将Java代码转换成Kotlin

新建Android工程中默认MainActivity.java代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

package com.mymoney.kotlindemo;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

打开该文件,使用快捷键Ctrl+Shift+Alt+K即可将该Java代码转换为Kotlin代码,也可以在Android Studio的菜单中使用Code->Convert Java File to Kotlin File进行转换。转换后的Kotlin代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13

package com.mymoney.kotlindemo

import android.app.Activity
import android.os.Bundle

class MainActivity : Activity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}

完了之后点击Gradle的Sync按钮进行构建,就可以正常运行了。

​​