美文网首页
Kotlin初探

Kotlin初探

作者: 大卫王王王 | 来源:发表于2017-06-05 11:08 被阅读0次

    在 Google I/O 2017 大会上,Google 正式宣布 Android Studio 3.0 完全支持 Kotlin,Kotlin 成为正式的 Android 编程语言,也将从 JetBrain 移交给独立的非盈利组织来进行后续的开发。
    Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度可互操作,可以同时用在一个项目中。
    按照JetBrains的说法,根据他们多年的Java平台开发经验,他们认为Java编程语言有一定的局限性和问题,而且由于需要向后兼容,它们不可能或很难得到解决。因此,他们创建了Kotlin项目,主要目标是:
    •创建一种兼容Java的语言
    •编译速度至少同Java一样快
    •比Java更安全
    •比Java更简洁
    •比最成熟的竞争者Scala还简单
    闲话少说,下面开始用一下这家伙。
    Google是准备在android studio 3.0正式推出Kotlin,那么现在我们要用Kotlin就必须安装插件了。打开android studio>File>Settings>Plugins>Browse Repositoies 搜索Kotlin,点击install然后等待,安装成功restart android studio。

    QQ截图20170605100741.jpg

    下面开始新建项目,配置gradle
    在project的gradle dependencies里面添加

    buildscript {
        dependencies {
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-3"
        }
    }
    

    app的gradle里面添加

    dependencies {
        compile 'org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3'
    }
    

    下面是Activity的代码,看起来简洁了很多

    class MainActivity : AppCompatActivity() {
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            initView()
        }
    
        fun initView() {
            val txt : String = "toast message"
            btn_test.setOnClickListener {
                toast(txt)
            }
        }
    
        fun AppCompatActivity.toast(message: CharSequence, duration: Int = Toast.LENGTH_SHORT) {
            Toast.makeText(this, message, duration).show()
        }
    }
    

    在build.gradle(Module:app)中添加如下代码

    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'
    

    就可以和findViewById说再见了。另外,每一行语句后的冒号都没有了,Button点击的事件也少了,让人眼前一亮的感觉。使用ctrl+alt+shift+k快捷键可以把java代码转换成kotlin,也是挺方便的。
    这篇文章写得不错,想深入了解的可以看一下
    http://droidyue.com/blog/2017/05/18/why-do-i-turn-to-kotlin/
    from java to kotlin
    https://github.com/MindorksOpenSource/from-java-to-kotlin/blob/master/README-ZH.md

    相关文章

      网友评论

          本文标题:Kotlin初探

          本文链接:https://www.haomeiwen.com/subject/avhifxtx.html