Kotlin初探

来源:互联网 发布:铁路四等站 知乎 编辑:程序博客网 时间:2024/05/16 14:45

Kotlin语言

在上周末召开的谷歌IO大会上,谷歌宣布:将Kotlin语言作为安卓开发的官方编程语言。
这里写图片描述
Kotlin由JetBrains公司开发一个基于 JVM 的新的编程语言,它的最大特点之一就是与Java 100%互通,并具备诸多Java尚不支持的新特性。在这里就不在多说,要想了解更多戳下面链接:https://www.kotlincn.net/

Kotlin语言会不会取代Java呢

将Kotlin语言作为安卓开发的官方编程语言这个消息宣布后,好多人认为Kotlin将会取代Java在安卓编程上的应用。对于这个说法我是不太赞同的,Kotlin从来就没有打算取代java,而且Kotlin是基于JVM的。Kotlin在安卓上的推出,只能说是给开发者提供了更加适合安卓的开发语言,因为Kotlin比起Java更加简介、安全。对于要不要入手Kotlin的问题,其实我觉得个人开心就好,不过既然谷歌已经决定Kotlin已经成为安卓的开发语言,无论如何都是要学学的,至于最后要用什么语言开发完全看个人爱好。

Kotlin for Android

Kotlin插件的安装

要使用Kotlin编写安卓程序只需要在Android Studio里面安装Kotlin插件即可。

第一种方法:如果你是稳定版的AS

依次打开:Android Studio > Preferences > Plugins,然后选择『Browse repositories』,在搜索框中搜索Kotlin。
选择『Kotlin』点击安装,安装完成之后,重启Android Studio。

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

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

第一次创建Kotlin类的时候IDE会提示配置Kotlin
这里写图片描述
这里写图片描述

配置完成后,会在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"    }}
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"}

配置完成后

Kotlin有一个很实用的操作,就是将Java源代码转化为Kotlin代码:

执行code–> Convert Java File to Kotlin File

会把java代码转化成Kotlin代码。
这是转换后Activity的代码

class MainActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)    }}

第二种方法:官方下载AS 3.0尝鲜版,AS 3.0默认配置了Kotlin插件

网址:https://developer.android.com/studio/preview/index.html?utm_source=android-studio

从这个网站可以下载AS 3.0 尝鲜版,尝鲜版AS可以与你以前安装的稳定版AS共同运行,下载的压缩包解压就能直接使用。
在这之前你要保证你已经翻墙了,如果你没有翻墙可以找我要压缩包。

安装之后好多人都遇到这个错误,这是因为Kotlin的版本错误导致的

这里写图片描述

把build.gradle里面的ext.kotlin_version = ‘1.1.2-3’改为ext.kotlin_version = ‘1.1.2-4’同步一下就行了

新建Kotlin安卓程序

如果你不是用的3.0,那么你就直接把你的java程序利用代码转换转换为Kotlin就行了。
只介绍一下AS 3.0的使用方法

这里写图片描述

新建过程跟以前是一样一样的,并没有太大差别,只有这个步骤,勾选上Kotlin支持

这里写图片描述

新建之后的项目默认是有的就是Kotlin

这里写图片描述

具体的Kotlin使用方法戳官方链接:https://www.kotlincn.net/docs/reference/android-overview.html

Kotlin有一个很实用的功能

这里写图片描述

这里写图片描述

Kotlin可以省略findViewById的方式绑定控件,可以直接用控件的id来操作控件。

要使用这个功能,首先在app:build.gradle里面添加 apply plugin: ‘kotlin-android-extensions’

apply plugin: 'com.android.application'apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'android {    ...    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }}dependencies {    compile fileTree(dir: 'libs', include: ['*.jar'])    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {        exclude group: 'com.android.support', module: 'support-annotations'    })    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"    compile 'com.android.support:appcompat-v7:25.3.0'    testCompile 'junit:junit:4.12'    compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'}

然后在你的Activity添加
import kotlinx.android.synthetic.main.你绑定的Layout.*
然后你就可以在Activity直接使用id来操作控件了

这里写图片描述