一. 在Android Studio上安装Kotlin插件
按快捷键Command+,
-> 在Preferences界面找到Plugins -> 点击Browse repositories ...
-> 输入Kotlin
-> 安装Kotlin
(老版本需要安装 Kotlin
和Kotlin Extensions For Android
两个插件, 最新版本的Kotlin插件包含了Android Extensions
, 因此不需要再安装Kotlin Extensions For Android
插件了), 如图:
从插件信息上可以看到Kotlin Extensions For Android
插件已经被淘汰掉了, 它被合并到Kotlin插件中, 请看下图:
二. 配置构建脚本
在构建脚本中配置kotlin插件和kotlin库
- (1) 在project目录下的build.gradle文件中定义kotlin的版本
buildscript {repositories {jcenter()}dependencies {classpath 'com.android.tools.build:gradle:2.1.0' // 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 } //可以在module的build.gradle文件中使用, 使用方式为: "$key" ext.kotlin_version = '1.0.3'
- (2) 在module的build.gradle文件中配置kotlin插件和kotlin库
build.gradle文件内容如下:
buildscript {repositories {jcenter()}dependencies {//1. 添加插件到classpathclasspath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } apply plugin: 'com.android.application' //2. 应用kotlin插件 apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.stone.kotlin_demo" minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { //3. 将kotlin源文件添加到编译路径下 main.java.srcDirs += 'src/main/kotlin' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' //4. 使用kotlin库 compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" }
三. 编写Kotlin Hello Kotlin
程序
- (1) Kotlin插件可以让我们把.java文件转换为.kl文件. 操作如下:
在AS选中MainActivity的Java文件, 然后找到菜单Code->Convert Java File to Kotlin File, 这样Java源文件(*.java
)就变成了Kotlin源文件*.kl
, 如图:
转换后的MainActivity.kl内容如下:
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) tv.text = "Hello Kotlin" tv.textSize = 20.0f } }
activity_main文件内容如下:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.stone.kotlin_demo.MainActivity"> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> </RelativeLayout>
除了转换已有的Java源文件外, Kotlin插件可以让我们直接创建Kotlin源文件, 操作如下:
选择源文件所在的包 -> 右键 -> New -> Kotlin Activity
或者 Kotlin File/Class
,
如图:
- (2) 运行
Hello Kotlin
程序, 界面如下:
至此使用kotlin开发android应用, 环境搭建已经讲完
欲知后事如何, 请听下回讲解......
=======================================================
更新(2017-02-13): 使用图形界面配置Kotlin (更详细的内容请参考官网文档)
-
安装Kotlin插件
-
创建一个安卓项目, 将其中的一个Activity文件转换为Kotlin文件.
选中默认生成的MainActivity.java将java源码转换成Kotlin源码(MainActivity.kt), 如图:
还有一种方法是在AS中打开MainActivity.java -> 然后按两次Shift键, 调出 "Search Everywhere" 输入框 -> 再在输入框中输入Convert -> 点击 "Convert Java File to Kotlin File", 即可完成转换, 如下:
或者按"Shift+Command+A" 组合键, 然后在对话框中输入"Convert", 再点击"Convert Java File to Kotlin File", 即可, 如下:
-
配置项目 (就是在build.gradle中使用kotlin插件和其标准库)
在转换好的MainActivity.kt文件中, 双击Shift键 (或者按"Shift+Command+A"组合键), 调出 "Search Everywhere" 输入框, 在输入框中输入 "Configure", 点击"Configure Kotlin in Project", 如图:
或 ("Shift+Command+A"组合键操作图)
这时候出现下面的配置面板
在此配置面板中你可以选择在哪些module中加入kotlin配置以及选择kotlin的版本.
配置完之后会在项目根目录下的build.gradle中添加kotlin插件, 而在module的build.gradle中应用kotlin插件并添加kotlin标准库的依赖.
如下:
其实和手动配置没有多大区别, 都是在gradle配置中使用kotlin插件和依赖kotlin标准库, 只是用图形界面操作更加方便 !!
-