Android Kotlin

目录

一、什么是Android Kotlin?

二、为什么谷歌选择kotlin为Android开发官方语言?

三、Kotlin对新手开发者友好吗?

四、Kotlin有什么特点?

五、为何使用 Kotlin 精简掉那么多代码?

六、为什么要优先使用 Kotlin 进行 Android 开发?

七、Kotlin Android 环境搭建

八、创建新工程

九、将 Kotlin 添加到现有项目

十、小结


一、什么是Android Kotlin?

Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

二、为什么谷歌选择kotlin为Android开发官方语言?

1.Kotlin 更接近 Java,容易上手;

2.Kotlin 代码能与 Java 代码共存,还能无缝兼容 Java 库,迁移成本低;

3.Kotlin 有官方的 Android 开发库和大量第三方库,还专门为 Android 开发设计了 DSL,切实降低了开发成本;

4.Kotlin + Android Studio 的 JetBrains 全家桶体验优秀。

三、Kotlin对新手开发者友好吗?

答案是肯定的。Kotlin对新手开发者还是相当友好的。主要体现再以下几点:

简洁:大大减少样板代码的数量。

安全:避免空指针异常等整个类的错误。

互操作性:充分利用 JVM、Android 和浏览器的现有库。

工具友好:可用任何 Java IDE 或者使用命令行构建。

综上所述,Kotlin在很多方面都简化了Android的开发工作。它会提升你的生产力,并且可以通过非常不同且更加简单的方式来解决一些常见的问题。

四、Kotlin有什么特点?

简洁:大量重复的模版代码不用写了,如 JavaBean/POJO 可以用 Kotlin 的 data class 替代。

安全:空指针等异常在语言层面被处理掉了,不用去写各种判空操作。

函数式编程:lambda,filter,map,reduce。有了这些特性,效率又提高了不少。

与 Java 完美结合:Kotlin 可以完美复用现有 Java 代码,不用去重写,反过来也适用。

针对 Android 开发:终于可以不用一遍又一遍的去写 findViewById 了(也不需要用注解的方式)。

五、为何使用 Kotlin 精简掉那么多代码?

首先就是我们的 layout 文件中所有的控件被当成类一样 import 进来。import kotlinx.android.synthetic.main.activity_main.*控件的 id 就是其变量名,我们再也不用像以前一样先要声明这个控件,然后再去 findViewById 了。

在 Kotlin 中lambda 表达式是自带的,我们可以用 lambda 表达式去写各种 Listener 来减少代码量。

六、为什么要优先使用 Kotlin 进行 Android 开发?

我们查看了直接来自与会开发者、我们的客户顾问委员会 (CAB)、Google Developers 专家 (GDE) 的反馈,以及我们通过开发者调研获得的反馈。许多开发者已喜欢上使用 Kotlin,且提供更多 Kotlin 支持的呼声很高。下面介绍了开发者喜欢用 Kotlin 编写代码的原因:

  • 富有表现力且简洁:您可以使用更少的代码实现更多的功能。表达自己的想法,少编写样板代码。在使用 Kotlin 的专业开发者中,有 67% 的人反映其工作效率有所提高。
  • 更安全的代码:Kotlin 有许多语言功能,可帮助您避免 null 指针异常等常见编程错误。包含 Kotlin 代码的 Android 应用发生崩溃的可能性降低了 20%。
  • 可互操作:您可以在 Kotlin 代码中调用 Java 代码,或者在 Java 代码中调用 Kotlin 代码。Kotlin 可完全与 Java 编程语言互操作,因此您可以根据需要在项目中添加任意数量的 Kotlin 代码。
  • 结构化并发:Kotlin 协程让异步代码像阻塞代码一样易于使用。协程可大幅简化后台任务管理,例如网络调用、本地数据访问等任务的管理。

七、Kotlin Android 环境搭建

安装 Kotlin 插件:Android Studio 从 3.0(preview)版本开始将内置安装 Kotlin 插件。

打开 Settings ( Mac 为 Preferences) 面板,在右侧找到 Plugins 选项 (快捷键 Ctrl+, Mac 下为 command+),搜索框输入 "Kotlin" 查找,点击 Search in repositories(仓库中搜索),然后安装即可,安装完成之后需要重启 Android Studio。

八、创建新工程

选择 Start a new Android Studio project 或者 File | New project,大多数选项均有默认值 ,只需要按几次"回车"键即可。

九、将 Kotlin 添加到现有项目

如需将 Kotlin 添加到项目,可以执行以下操作:

  1. 依次点击 File > New,然后从各种 Android 模板中选择一个,例如一个新的空白 Fragment,如图 1 所示。如果未在此菜单中看到模板列表,请先打开 Project 窗口,然后选择你的应用模块。

    图 1    从可用模板中进行选择,例如 fragment 或 activity。

  2. 在随即显示的向导中,选择 Kotlin 作为 Source Language。图 2 显示了当您要创建新 activity 时使用的 New Android Activity 对话框。

    图 2. New Android Activity 对话框,选择 Kotlin 作为 Source Language

十、小结

由于篇幅所限,Kotlin 还有诸多特性并未介绍,请期待后续分享。

Kotlin 有诸多的优点,我们该不该学习、使用呢?答案是肯定的,Kotlin 是无疑是值得我们学习的。有兴趣的小伙伴可去官网继续学习有关Kotlin 的教程使用 Kotlin 开发 Android 应用

作者:张斌彪

原文链接:原文链接

Android Kotlin相关推荐

  1. Android Kotlin Exception处理

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/118386817 本文出自[赵彦军的博客] 往期精彩文章 Android Corou ...

  2. Android Kotlin协程和Retrofit结合使用

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/118085035 本文出自[赵彦军的博客] 往期精彩文章: Kotlin实战指南二十 ...

  3. Android Kotlin之Flow数据流

    文章目录 Flow介绍 使用举例 常用操作符 创建操作符 回调操作符 变换操作符 过滤操作符 组合操作符 功能性操作符 末端操作符 冷流 vs 热流 SharedFlow shareIn将普通flow ...

  4. Android kotlin 大全

    Android kotlin 大全 前言 kotlin 学习目录 总结 前言 在学习之前,我们先来了解一下kotlin,在这里,我不会再去介绍kotlin 的发展史,我们直接来说一下我个人对于kotl ...

  5. Android Kotlin - 监听耳机的插入和拔出

    Android Kotlin - 监听耳机的插入和拔出 开发音乐应用时需要监听耳机的插入和拔出,用以调整音量或暂停播放. 采用注册广播的方式. 新建 HeadsetChangeReceiver 类 i ...

  6. Android Kotlin okhttp Retrofit 线程协程那些事

    这篇文章不是用来讲概念的, 只是用来谈论一些关于Android 进程\协程那些问题 1. android 子线程中的异常会引发crash闪退吗? 答案是会的 Thread{throw RuntimeE ...

  7. android kotlin扩展添加域名

    android kotlin扩展添加域名? 你是否常为和系统方法变量起名冲突而烦恼? 你是否常为过多的方法名查找起来而而困惑? 你是否常为不知道谁写出的垃圾代码而头痛? 今天,给大家介绍一种添加域名的 ...

  8. Android kotlin run函数学习

    继续来看一下kotlin中run函数的应用,首先看一下源码: /*** Calls the specified function [block] and returns its result.** F ...

  9. Android: Kotlin 材料设计入门

    原文:Android: Kotlin 材料设计入门 作者:Joe Howard 译者:kmyhy 更新说明:本教程由 Joe Howard 升级为 Kotlin.原教程作者是 Megha Bambra ...

最新文章

  1. UITableView数据的添加、删除、移动
  2. 图像Stride求取
  3. 碗都交出去了,能不能分到羹?
  4. MySQL计算在线时长(超过2分钟未上传不在计算范围)
  5. 费用流:spfa Dijkstra
  6. 机器学习week9 ex8 review
  7. 如何映射本地虚拟机或远程服务器磁盘到本地
  8. 你愿意隐姓埋名一辈子吗?
  9. vue 请求在子组件加载后了_从零单排vue第九课--Vue实例及生命周期
  10. 调用外部 DLL 中的函数(显示调用)
  11. oracle 表列统计信息,Oracle中收集表与列统计信息
  12. 一起写一个Android图片轮播控件
  13. 北理计算机学院接受转专业条件,【知乎北理】在北理珠,我能转专业吗?
  14. 生物特征识别:小面积指纹识别算法(二)
  15. 货币战争悲壮的英雄:帕潘德里欧
  16. 华为HarmonyOS系统搭载了POKERTIME129263和AOMAHA的汉印智能打印新升级
  17. 微信小游戏-CocosCreator教学系列--Sprite教学
  18. 10#Windows注册表的那些事儿
  19. centos7安装yearning
  20. pix2code: Generating Code from a Graphical UserInterface Screenshot

热门文章

  1. IIS——实现局域网访问本地网站
  2. 使用Ansible管理您的OpenStack云:第二天的操作
  3. Java基础之《JVM性能调优(3)—堆》
  4. 诺基亚宣布将在芬兰裁员280人 低于此前计划裁员数
  5. MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)
  6. CoSOD之Re-thinking Co-Salient Object Detection
  7. 软考知识点笔记之----制订项目管理计划
  8. 深圳白领辞职开办“淘智网”
  9. Android开发板 MTK 4g/5g 安卓开发板定制
  10. 网件R7800刷OpenWrt固件单臂路由设置经历