使用Kotlin开发Android应用

简介: 作者:snowdream Email:yanghui1986527#gmail.com QQ 群: 529327615原文地址:https://snowdream.github.io/blog/2016/08/13/android-develop-with-kotlin/ 目标 本文

作者:snowdream
Email:yanghui1986527#gmail.com
QQ 群: 529327615
原文地址:https://snowdream.github.io/blog/2016/08/13/android-develop-with-kotlin/

目标

本文旨在引导开发者使用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你遇到过哪些坑?
相关文章
|
5天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
2天前
|
数据库 Android开发 开发者
安卓应用开发:构建高效用户界面的策略
【4月更文挑战第24天】 在竞争激烈的移动应用市场中,一个流畅且响应迅速的用户界面(UI)是吸引和保留用户的关键。针对安卓平台,开发者面临着多样化的设备和系统版本,这增加了构建高效UI的复杂性。本文将深入分析安卓平台上构建高效用户界面的最佳实践,包括布局优化、资源管理和绘制性能的考量,旨在为开发者提供实用的技术指南,帮助他们创建更流畅的用户体验。
|
2天前
|
移动开发 Java Android开发
构建高效Android应用:采用Kotlin协程优化网络请求
【4月更文挑战第24天】 在移动开发领域,尤其是对于Android平台而言,网络请求是一个不可或缺的功能。然而,随着用户对应用响应速度和稳定性要求的不断提高,传统的异步处理方式如回调地狱和RxJava已逐渐显示出局限性。本文将探讨如何利用Kotlin协程来简化异步代码,提升网络请求的效率和可读性。我们将深入分析协程的原理,并通过一个实际案例展示如何在Android应用中集成和优化网络请求。
|
2天前
|
调度 Android开发 开发者
构建高效Android应用:探究Kotlin协程的优势与实践
【4月更文挑战第24天】随着移动开发技术的不断演进,提升应用性能和用户体验已成为开发者的核心任务。在Android平台上,Kotlin语言凭借其简洁性和功能性成为主流选择之一。特别是Kotlin的协程功能,它为异步编程提供了一种轻量级的解决方案,使得处理并发任务更加高效和简洁。本文将深入探讨Kotlin协程在Android开发中的应用,通过实际案例分析协程如何优化应用性能,以及如何在项目中实现协程。
|
3天前
|
存储 缓存 安全
Android系统 应用存储路径与权限
Android系统 应用存储路径与权限
6 0
Android系统 应用存储路径与权限
|
3天前
|
存储 安全 Android开发
Android系统 自定义系统和应用权限
Android系统 自定义系统和应用权限
19 0
|
8天前
|
缓存 移动开发 Android开发
构建高效Android应用:从优化用户体验到提升性能表现
【4月更文挑战第18天】 在移动开发的世界中,打造一个既快速又流畅的Android应用并非易事。本文深入探讨了如何通过一系列创新的技术策略来提升应用性能和用户体验。我们将从用户界面(UI)设计的简约性原则出发,探索响应式布局和Material Design的实践,再深入剖析后台任务处理、内存管理和电池寿命优化的技巧。此外,文中还将讨论最新的Android Jetpack组件如何帮助开发者更高效地构建高质量的应用。此内容不仅适合经验丰富的开发者深化理解,也适合初学者构建起对Android高效开发的基础认识。
9 0
|
8天前
|
移动开发 Android开发 开发者
构建高效Android应用:采用Kotlin进行内存优化的策略
【4月更文挑战第18天】 在移动开发领域,性能优化一直是开发者关注的焦点。特别是对于Android应用而言,由于设备和版本的多样性,确保应用流畅运行且占用资源少是一大挑战。本文将探讨使用Kotlin语言开发Android应用时,如何通过内存优化来提升应用性能。我们将从减少不必要的对象创建、合理使用数据结构、避免内存泄漏等方面入手,提供实用的代码示例和最佳实践,帮助开发者构建更加高效的Android应用。
14 0
|
10天前
|
缓存 移动开发 Java
构建高效的Android应用:内存优化策略
【4月更文挑战第16天】 在移动开发领域,尤其是针对资源有限的Android设备,内存优化是提升应用性能和用户体验的关键因素。本文将深入探讨Android应用的内存管理机制,分析常见的内存泄漏问题,并提出一系列实用的内存优化技巧。通过这些策略的实施,开发者可以显著减少应用的内存占用,避免不必要的后台服务,以及提高垃圾回收效率,从而延长设备的电池寿命并确保应用的流畅运行。
|
1月前
|
安全 Android开发 开发者
构建高效Android应用:Kotlin与协程的完美结合
【2月更文挑战第30天】在移动开发领域,性能优化和流畅的用户体验是关键。本文深入探讨了如何通过结合Kotlin语言和协程技术来提升Android应用的性能和响应能力。我们将分析Kotlin的优势,介绍协程的基本概念,并通过实际案例展示如何在应用中实现协程以简化异步编程,从而提供更加高效的解决方案。