Kotlin编写你的HelloKotlin

来源:互联网 发布:新疆旅游知乎 编辑:程序博客网 时间:2024/05/16 17:45

今天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.hellokotlinimport android.os.Bundleimport android.support.v7.app.AppCompatActivityclass 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


原创粉丝点击