Android Studio 3.0 原生支持kotlin 例子

Kotlin for Android

安卓虽然已经成为了移动设备第一操作系统,且影响力也延伸到了汽车和tv端,不过对于谷歌来说,需要依靠java来做安卓开发一直是一个心病,因为oracle公司因为java和谷歌在安卓系统上的诉讼搞得心力憔悴。
  现在好了,谷歌官方正式支持Kotlin(官方网站 https://kotlinlang.org/,居然没被墙)成为官方认可的安卓开发第一语言,而且从Android Studio 3.0开始,将直接集成Kotlin而无需安装任何的插件。这个语言是由JetBrains去年发明的,它受到欢迎,主要是因为它运行在Java虚拟机上,可以和java一起使用来构建应用程序。 这意味着开发人员可以使用现有的代码,轻松地构建新的功能或替代Java代码。 由于Kotlin依赖于Java,所以这两种语言都将继续得到支持。
  谷歌将致力于推动Kotlin相关安卓开发工具的发展,使得使用Kotlin来开发安卓应用更加高效。当然生态系统不是一天就可以创建好的,Kotlin何时可以取代Java成为安卓开发第一语言还需要时日。


开干吧

假设你已经下载好了android studio 3.0
1.创建项目,必须要选中include Kotlin 不然就还是默认java开发

这里写图片描述

2.下一步, 下一步 然后就完成了(第一次会很长的时间, 因为那些库基本上都在国外,你懂的)

这里写图片描述

val fab = findViewById(R.id.fab) as FloatingActionButton

这里的”findViewById”可以省略, 我们再添加一个, 在app/build.gradle里面

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

然后代码就可以写成

fab.setOnClickListener { view->
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show()
        }

有没有惊喜? 其实呢, kotlin我最喜欢的还是它的扩展特性, 这样就可以省略了很多工具类. 比如我们给View添加一个扩展方法.
新建一个kotlin文件:ViewEx, 添加上扩展函数
这里写图片描述
测试一下:

 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val toolbar = findViewById(R.id.toolbar) as Toolbar
        setSupportActionBar(toolbar)

        fab.setOnClickListener { view->
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show()

            view.log("测试扩展函数")
            println("扩展属性值:${view.type}")
        }
    }

打印出结果:
这里写图片描述

是不是很方便? 不用单独去写什么工具类了.

学习资源:
官网:https://kotlinlang.org/
中文文档:http://tanfujun.com/kotlin-web-site-cn/docs/reference
Android官网:https://developer.android.google.cn/kotlin/index.html

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值