Kotlin + Android的第一印象

我是Android的忠实粉丝,自从Nexus One推出以来,我就是一个。 Android操作系统已经发展了许多变化。 大约一年前,我在Twitter上关注的一位Android开发人员正在推动Kotlin成为Android的主要语言。 更有意思的是,它是由Google的Android开发者转发的。 快进到这个时候,IntelliJ团队宣布了Kotlin 1.0。

我决定看看对Kotlin的大肆宣传。 将此博客视为第一印象而不是评论。

从Java到Kotlin

Kotlin (大部分情况下)与Groovy和Scala相似,因为它在JVM上运行。 也可以将其编译为JavaScript。

我花时间先去它的官方网站学习语法。 宣传说,如果您已经使用Java编写代码,那么Kotlin应该很容易上手,并且可以与现有Java框架互操作。 我一生中一直是Java开发人员,因此我认为学习Kotlin并不难。

官方网站上有一个不错的教程部分。 以下是有关我喜欢的语法的一些有趣信息:

  • 类型在变量名之后定义。
    在Java中,您首先要声明类型的变量,然后再声明变量名,例如private int x; 而Kotlin等效项是var x: Int 。 也可以推断类型var x = 1 //is Int initialized to 1
  • 可以使用?将变量声明为可为空?
    例如: y?.length 。 如果y为null,则返回null。 否则返回y.length
  • 聪明的演员! 如果变量是某种类型,则它已经被强制转换为该类型。
    例如: if (a is String) print(a.length)

我还有很多喜欢的东西,但是为了简短起见,建议您访问官方网站

Android Studio中的Kotlin

自从我使用Android API已有一段时间了。 上次我弄乱Android应用程序的时间是在Android被称为“果冻豆”的时候。

因此,我不得不熟悉更新的API,例如RecyclerView和设计支持库中的新UI元素。 幸运的是,由于Android Studio来自Kotlin的开发者,因此很容易将Kotlin集成到SDK中。

首先,我在Android Studio中创建了一个新项目,该项目创建了默认的主要活动。 然后使用Android Studio Kotlin插件,我可以调用一个将Java转换为Kotlin的动作。 这会将MainActivity.java中自动生成的Java代码转换为MainActivity.kt中的Kotlin。 还将Kotlin依赖项添加到build.gradle中。

收起那把刀

值得一提的Kotlin一个不错的功能是,在Activity或Fragment中,您不必调用findViewById即可获取View小部件。 只需通过id引用即可。

因此,您可以直接通过myTextView引用TextView小部件,而不是TextView myTextView = (TextView) findViewById(R.id.myTextView) 。 Kotlin将获得对该视图的引用。

那么,总体而言?

我决定不尝试制作一个Hello World应用程序或具有常规List视图的应用程序,而是尝试创建一个使用MediaPlayer API播放声音的应用程序来挑战自己。

Kotlin

在我对活动进行编码,扩展布局和RecyclerView适配器的过程中,我认为与Kotlin相比,我花了更多的时间回到Android API文档上。 起初,我不得不参考Kotlin文档来查找内容,直到我习惯了语法。

我最喜欢Kotlin的地方是更少的代码行。 在比较我在Java中需要花费几行代码的事情时,我可以只用一行就可以在Kotlin中完成相同的工作。 疲惫的眼睛使更少的代码行令人愉悦。 此外,样板更少,这很有用,尤其是在Android中。

安科

您还可以使用Anko ,这是用Kotlin编写的UI库。 Anko代替XML,而是使用DSL中的UI。 我对此工具赞不绝口。 但是当我开始使用Kotlin时,我想更加熟悉Android的默认XML布局UI。

也许有一天我会在Anko上写另一个博客:)。

未来…

那么,当用Android进行编码时,Kotlin确实有可能成为官方的主要选择吗?

有传言称谷歌正在寻求偏离Java进行Android开发,有报道称谷歌正在考虑采用苹果的Swift语言 。 但是,该报告还指出,由于构建时间长,Google并未考虑Kotlin。

综上所述,如果您是现有的Java开发人员,正在研究新事物或正在开发Android应用程序,我建议您研究一下Kotlin并尝试一下。

翻译自: https://www.javacodegeeks.com/2016/04/kotlin-android-first-impressions.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值