文档章节

Android Studio配置Kotlin开发环境

s
 sdycyzzzl
发布于 2016/12/29 16:21
字数 907
阅读 66
收藏 0

新的产品开发中Android端已经完全使用Kotlin作为开发语言了,目前为止还没有发现什么不适的地方。所以今天我们将讲解一下如何在Android Studio中配置Kotlin开发环境,算是为Kotlin讲解一下入门知识,后续会慢慢更新kotlin相关知识。

  • 什么是Kotlin?

这里暂时引用一下百度百科中对Kotlin的讲解:

Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。

Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。

JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。

  • Kotlin的特性

Kotlin是一种兼容Java的语言;

Kotlin比Java更安全,能够静态检测常见的陷阱。如:引用空指针;

Kotlin比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现;

Kotlin可与Java语言无缝通信。这意味着我们可以在Kotlin代码中使用任何已有的Java库;同样的Kotlin代码还可以为Java代码所用;

Kotlin在代码中很少需要在代码中指定类型,因为编译器可以在绝大多数情况下推断出变量或是函数返回值的类型。这样就能获得两个好处:简洁与安全;

  • Kotlin相关网址

Kotlin官网 
http://kotlinlang.org

l Kotlin-github地址 
https://github.com/JetBrains/kotlin

  • 使用Android Studio下载Kotlin相关插件

执行 Settings -> plugins -> BrowseRepositories中搜索“Kotlin”

这里写图片描述

安装Kotlin和Kotlin Extensions…

  • 使用Kotlin创建Kotlin File/Class或者是Kotlin Activity

Kotlin插件安装成功后,执行new操作,会发现弹窗多出了两个Kotlin相关选项:

1)“KotlinFile/Class”:一般Kotlin类

2)“Kotlin Activity”:Activity类

这里写图片描述

2.3配置Kotlin

当我们第一次创建一个Kotlin类后,会弹出一个Configure Kotlin的弹窗:

这里写图片描述

点击as Kotlin module,则会进入Kotlin配置页面,如下图:

这里写图片描述

根据需求你可以选择配置某个模块或全部的模块,以及Kotlin编译器的版本,点击OK即可。

配置完成之后在项目的跟build.gradle中:

buildscript {
    ext.kotlin_version = '1.0.4'
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

会多出这样两样代码,而在module的build.gradle中:

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

android {
    ...
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    ...
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

这样表示当前的module已经支持kotlin语言了,然后我们看一下我们创建的Kotlin类:MKotlin

/**
 * Created by aaron on 2016/10/25.
 */
class MKotlin {
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

很简单有木有,后续我们会跟进关于Kotlin相关语法的解释说明。然后创建一个Activity呢?

class MActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_m)
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

似乎和创建普通的Java Activity也类似,这样我们开发Android项目的时候就可以直接使用Kotlin类或者是Kotlin Activity了。

Android Studio中还有一个关于Kotlin很实用的操作,就是将Java源代码转化为Kotlin代码:

执行code–> Convert Java File to Kotlin File

这里写图片描述

这样你的Java代码就转化成了Kotlin代码了,若有Kotlin相关语法不熟悉的时候一个小技巧是先写Java代码,然后将其转化为Kotlin代码。

本文转载自:http://blog.csdn.net/qq_23547831/article/details/52857346

s
粉丝 0
博文 26
码字总数 1593
作品 0
私信 提问
Android -------- kotlin插件神器Json直接生成javaBean

这是一个从JSON字符串生成Kotlin 的插件,换句话说,是一个将JSON字符串转换为Kotlin (Json到Kotlin)的插件 在使用Kotlin进行开发的时候,我们需要经常对Json数据做解析和处理, Java开发的时...

切切歆语
2019/09/19
77
0
高手问答第 197 期 —— Kotiln “上位”一周年,Kotlin 问答专场等你提问!

OSCHINA 本期高手问答(2018 年 5 月 15 日 — 5 月 21 日)我们邀请到了欧阳燊老师@ouyangshen 和大家一起探讨有关 Kotlin 开发的问题。 Kotlin 诞生于 2011 年,作为后起之秀的它虽然拥有代码...

局长
2018/05/14
3.6K
31
Android Studio中如何支持使用Lambda表达式

Java8引入了lambda表达式,Lambda 表达式”(lambda expression)是一个匿名函数,本质上就是可以传递给其他函数的一小段代码。 下面来看一下如何让自己的项目支持使用lambda表达式,以达到简化...

懂音乐码虫
2018/04/20
0
0
浅谈Kotlin(一):简介及Android Studio中配置

浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型、基本语法、代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 前言:   今日新闻:谷歌宣布,将Kotli...

听着music睡
2017/05/18
0
0
Kotlin详解:第三章,实战

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangyonghui_1234/article/details/81476954 一,搭建开发环境 1,安装Android Studio 3.0及以上版本 2,升级...

wang_yong_hui_1234
2018/10/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 谨以此文怀念逝去的人

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 今天没歌曲 手机党少年们想听歌,请使劲儿戳(这里) 今天是周六, 刚想开始写乱弹的时候, 翻到了巴叔新建的话题上, @ 巴拉迪维:宏哥,一路...

小小编辑
今天
25
4
判断php变量是否定义,是否为空,是否为真的一览表

使用 PHP 函数对变量 $x 进行比较 表达式 gettype() empty() is_null() isset() boolean : if($x) $x = ""; string TRUE FALSE TRUE FALSE $x = null; NULL TRUE TRUE FALSE FALSE var $x; N......

Grayk
今天
19
0
服务器监控

1. 服务器监控内容有哪些? 答: 主要有服务监控 和 流量监控 2. 监控重点是? 答: 是 磁盘 和 流量,cpu是浮动的,意义不大 3. 怎样 实现 监控? 答:将 服务器 分为:监控者 和 被监管协议...

杨凯123
昨天
246
0
Apollo开发指南

一、准备工作 二、本地启动 2.1 Apollo Config Service和Apollo Admin Service 2.2 Apollo-Portal 2.3 Java样例客户端启动 2.4 .Net样例客户端启动 三、开发 3.1 Portal 实现用户登录功能 3....

Ciet
昨天
307
0
英文词汇 计算机网络中的专业英语单词及其缩写

学习计算机网络时,会阅读相关的专业文献。对于文献中经常出现的缩写形式的专业名词,做了一些积累。现于此博文中做个简单的分享,希望能对后来人有所帮助,平稳地入门计算机网络。 注:博文...

志成就
昨天
186
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部