使用Kotlin开发Android应用

Posted 天道酬勤!!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Kotlin开发Android应用相关的知识,希望对你有一定的参考价值。

目标

本文旨在引导开发者使用Kotlin来开发android应用。

至于Kotlin语言的语法和教程等,不在本文讨论范围,请参考以下官网文档和网上的开发教程。

  1. kotlin-android
  2. 《Kotlin for android Developers》中文翻译
  3. Kotlin-in-Chinese
  4. Kotlin 官方参考文档 中文版
  5. Kotlin 官方文档中文翻译版

简介

名词解释

Kotlin

Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。
Kotlin可以编译成Java字节码,也可以编译成javascript,方便在没有JVM的设备上运行。
JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。

官方网站:http://kotlinlang.org/

Github仓库: https://github.com/JetBrains/kotlin

教程

本节介绍如何使用Kotlin开发android应用。

以下几点需要谨记:

  1. 所有Kotlin类文件,以.kt为后缀。
  2. Kotlin的源码目录规则和默认的是一样的。分别放在src/main/kotlin, src/test/kotlin, src/androidTest/kotlin 和任意的src/${buildVariant}/kotlin。

Kotlin and Java

使用Kotlin来开发android,需要经过以下几个步骤进行配置。
1.在项目根目录下的build.gradle文件中添加以下代码:

buildscript {
    ext.kotlin_version = ‘1.0.1-2‘

    repositories {
        jcenter()
    }
    dependencies {
        classpath ‘com.android.tools.build:gradle:2.1.2‘
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

2.在模块目录下的build.gradle文件中添加以下代码:

apply plugin: ‘kotlin-android‘
apply plugin: ‘kotlin-android-extensions‘
dependencies {
  compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

3.配置完成,你可以在src/main/kotlin目录下愉快地使用Kotlin来写Android应用了。

实例展示:

  1. https://github.com/JetBrains/kotlin-examples
  2. https://github.com/snowdream/test/tree/master/android/kotlin/HelloWorld

Java 2 Kotlin

上面是手动给android项目增加kotlin支持。
其实还有一种自动转换的方法,也可以添加kotlin支持。

  1. 通过菜单“ Help | Find Action”或者快捷键“Ctrl+Shift+A”调出动作查询窗口
  2. 输入"Configure Kotlin in Project",回车,按照提示操作,即可添加Kotlin配置。
  3. 重复第一步,调出动作查询窗口。输入“Convert Java File to Kotlin File”。即可将现有的Java文件自动转换成Kotlin文件。当然,如果只想转换某一个java文件,方法就是,打开改Java文件,然后选择菜单“ Code | Convert Java File to Kotlin File”,即可将当前打开的Java文件自动转换成Kotlin文件。
  4. 转换完成。

总结

根据Kotlin官网描述,Kotlin是一种适用于JVM,Android
根据个人的开发实践,总结出使用Kotlin开发Android应用的优缺点:

优点

  1. 和Java相比,更简洁,更安全。
  2. 和Java无缝集成,官网宣称kotlin可以100%和java混合使用。
  3. 由jetbrains推出,Idea可以更好的进行支持。

缺点

  1. 会将支持kotlin的相关jar包打散,打包到apk中。这部分内容最终会给apk增加700k左右的大小。这个和前面的groovy相比,情况要好很多,勉强还是可以接受的。
  2. 和java相比,使用Kotlin的开发者还太少。
  3. 诞生时间较晚,有待时间的检验。

结论

  1. 使用Kotlin是可以更快,更有效地开发Android应用的。
  2. 在应用于生产实践之前,还需要更多的评估,包括稳定性,运行效率,耗电量,兼容性,研发的接受程度等。

参考

    1. Kotlin名词解释
    2. Kotlin官网
    3. kotlins-android-roadmap
    4. Getting started with Android and Kotlin
    5. Kotlin Android Extensions
    6. kotlin-examples
    7. HelloWorld
    8. 如何评价 Kotlin 语言
    9. Kotlin:Android世界的Swift
    10. 初见Kotlin
    11. Android开发中使用kotlin你遇到过哪些坑?

以上是关于使用Kotlin开发Android应用的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin 中使用 Hilt 的开发实践

Android 上的 Kotlin:如何在片段中使用数据库中的 LiveData?

如何使用 Kotlin 从 Android 中的片段访问另一个片段?

如何隐藏默认片段 actionBar 在 android & kotlin 中创建我们自己的 actionBar

Kotlin Android Studio - setContenView - 绑定(片段)

使用 Kotlin 优雅的开发 Android 应用