1.6开发环境搭建(Android studio)

开发Android的IDE常见的有Eclipse和Android Studio,Eclipse已经被Google抛弃,您仍然可以在EC上编写Kotlin代码,但是需要下载Kotlin的插件,具体的实现可参照官网

Android Studio作为Google新推荐的开发Android的IDE,是基于IDEA的,最新的Android Studio(3.0)也加入了对Kotlin的支持,新版的Android Studio可在此下载

如果你还在使用早期版本的AS,可按照下面步骤下载安装Kotlin插件 File->Settings...->Plugins->Browse repositories... 搜索Kotlin,下载安装重启IDE:

我是用Android Studio 3.0 Canary 3,创建Android项目与旧版本一样,唯一要注意的是需要勾上Include Kotlin support加入Kotlin支持。旧版本需要创建完成后手动设置,后续再说

一路Next,直到最后Finish,稍等片刻项目就创建好了,BUT,这是什么鬼?报如下错误:

Try again也没用,上网查了下,有人说需要将项目的Build.gradle里Kotlin的版本号1.1.2-3改成1.1.2-4,尝试一把,果然可以,并且在Exernal Libraries下生成了一堆引用库,包括我们要用到的kotlin-stdlib-1.1.2-4kotlin-stdlib-jre7-1.1.2-4,后面应该会改进吧。

二话不说,先运行一把:

布局预览:

Android Studio 上运行Kotlin的Android项目成功了。

下面有必要提到一个插件,有助于我们快速开发Android,忘记findViewById吧。

Kotlin Android (Anko)扩展是一个编译器扩展, 可以让你摆脱代码中的 findViewById() 调用,并将其替换为合成的编译器生成的 属性。

在app Moudle的Build.gradle文件加入

apply plugin: 'kotlin-android-extensions'

神奇的事情就发生了,首先我们在布局文件里新加入一个TextView命其ID为txtHelloKotlin

回到MainActivity.kt我们直接输入txtHelloKotlin出现这样的提示:

按键Alt+Enter,发现多了一句引入import kotlinx.android.synthetic.main.activity_main.*,并且txtHelloKotlin无需再强制转换为TextView可以直接作为TextView使用。

总的来说,app Moudle的Build.gradle文件加入apply plugin: 'kotlin-android-extensions'后,在Activity里直接引入import kotlinx.android.synthetic.main.<layout>.*,其中layout是你当前activity的主布局文件名,例如activity_main 指的是 activity_main.xml文件。

附:

旧版本Android Studio配置Kotlin

之前说过旧版本的AS需要下载安装Kotlin插件并重启使插件生效。我们只需要改动两个build.gradle:

项目根build.gradle中:

buildscript {
    ext.kotlin_version = '1.1.2-4' //增加
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"  //增加

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

而在module的build.gradle中:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'  //增加

android {
    ...
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    ...
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"  //增加
}

这样表示当前的module已经支持kotlin语言了。

最后附上示例项目Github


[上一篇:1.5开发环境搭建(JetBrains IntelliJ IDEA)] [返回目录] [下一篇:2.1数据类型(准备)]