今天Google IO大会宣布Kotlin成为一种开源编程语言,很多用过的人都觉得很好,没用过的也想试试,正好现在闲着,所以我也来写一个HelloKotlin 看看代码风格有何不同
1.插件准备
要让Android Studio 支持 Kotlin需要安装一个Kotlin插件,打开 File->Settings->Plugins->搜索 Kotlin
然后点击安装重启Android Studio即可,我这里已经安装了,就不卸载演示了。。
2.环境配置
然后需要在项目的build.gradle 配置如下代码,选中文字复制即可
buildscript { ext.kotlin_version = '1.1.2-2'//1.kotlin版本 repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.3'//2.依赖kotlin 相关classpath
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 }}allprojects { repositories { jcenter() }}task clean(type: Delete) { delete rootProject.buildDir}
在model的build.gradle 添加如下代码
apply plugin: 'kotlin-android'
dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" }
在model的最外层或者最下面配置如下代码
repositories { mavenCentral() }
到此初始配置完毕,可以开始写代码了
但是...
如果代码里面需要用到类似findViewById操作,额,kolin不需要再findViewById
需要在modle的build.gradle添加
apply plugin: 'kotlin-android-extensions'
还需要在代码页面引入,后面的activity_hello_kotlin是自己的activity的布局文件名,我直接使用id,就直接自己配置了下面这个代码,如果不能自动导包,就手动配置如下代码即可
import kotlinx.android.synthetic.main.activity_hello_kotlin.*
就不需要每次都findviewByid了,直接用id做操作即可
创建Activity方式和以前没什么不一样
最好选择第3项即 KotlinActivity方式创建代码,可以自动生成xml布局文件
看看kotlin的代码风格确实变了,和Java的代码确实不太一样,不再用";"结束,类的继承直接由以前的extends换成了 :: 两个冒号,Java里面父类的注解override 也没有了,方法用fun标识(当然,这只是到现在为止的表面差异,具体还得以后用了才知道)
package com.test.hellokotlin import android.os.Bundle import android.support.v7.app.AppCompatActivity class FirstKotlinActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_first_kotlin) } }
然后就可以运行HelloKotlin了,注意查看清单文件activity是否配置。
运行效果如下
注意:如果发生类找不到异常,可能是因为没有在项目里面配置kotlin,按照上面的方法配置再试试,(我刚开始没配置build.gradle的时候就发生了ClassNotFoundException)
参考 http://stackoverflow.com/questions/43902679/compilereleasekotlin-fails-with-java-lang-classnotfoundexception-com-sun-tools