Kotlin 在android studio下的初次使用

一觉醒来,发现微信群和qq群里不再是各种斗图了,而是谷歌在今日举行的I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言。Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性。。那么你知道Kotlin是什么吗?如果还不知道那就赶紧自行百度一下。 
好了咱们言归正传,首先看下Kotlin的基本语法片段:
fun main(args: Array<String>) {
var x = 5 // 变量推导出Int类型
val a: Int = 1 // 常量立即初始化
val b = 2 // 推导出Int型
val c: Int // 当没有初始化值时必须声明类型
c = 3 // 赋值
println("a = $a, b = $b, c = $c")
}

class MyView : View { //继承关系
constructor(ctx: Context) : super(ctx) {
}
constructor(ctx: Context, attrs: AttributeSet) : super(ctx,attrs) {
}
}
这只是代码中的一小部分摘出来的,想要了解更多,请大家去移步官方给出的基本语法中文版Kotlin的基本语法

Kotlin作为Android社区当前比较热的讨论内容, 已经发布了1.1.1版本, 并且得到了一些Google开发者的关注, 毕竟android Studio是基于JetBrains的框架. Java文件可以直接转换为Kotlin文件, 两者具有非常强的互操作性. 
现在咱们的目的是用Kotlin写出 Hello Kotlin!那么现在咱们的问题是如何集成Kotlin在android studio中,大家都知道android studio 3.0默认支持Kotlin ,可是现在同学们使用的大部分是2.2~2.3,所以需要集成插件。怎么配置呢?别着急,Follow me 

1.配置项目 

新建一个空的Android项目. 
项目gradle: 
添加Kotlin的版本号, 使用目前最新的1.1.1, 保持版本一致.大家可以自行去看下最新版本。
buildscript {
ext.kotlin_version = "1.1.1"
}
模块gradle: 
添加类的路径, 必须在模块中添加, 因为kotlin-android-extensions插件会使用依赖.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
}
}
添加Kotlin支持Android的插件
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
kotlin-android用于编译Android代码, kotlin-android-extensions用于扩展绑定关系.
 
添加Java的编译路径, 在main中创建kotlin文件夹, 用于存放kotlin代码(建议).
 sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
添加maven的依赖.
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
完整的支持Kotlin的模块build.gradle.
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.example.jmf.kotlin"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
}

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 'com.android.support:appcompat-v7:25.3.0'
testCompile 'junit:junit:4.12'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

 2. 安装插件 

Android Studio的Kotlin插件, 用于支持Kotlin的语言特性. 
选择: Preferences -> Plugins -> Install JetBrains plugin -> kotlin

 
只需要安装Kotlin即可, 因为Kotlin Extensions已经包含在Kotlin中了
 
3. 转换代码 

选中需要转换的Java文件, 如MainActivity.java, 
使用Ctrl+Shift+A, 启动Action, 输入Convert, 找到命令, 即可转换, 如

或 
选择Code -> Convert java File to Kotlin File, 也可以使用快捷键.

把.kt的文件剪切到kotlin文件夹下, 即可使用.
 
推荐Kotlin文件和Java文件分开存放, 不过放在一起也可以使用.
 
4. 添加资源 

Kotlin的代码非常简洁, 设置属性也比较方便.
 
import android.os.Bundle
import android.support.v7.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
main_tv_message.text = "Hello Kotlin!"
main_tv_message.textSize = 20.0f
}
}
id是main_tv_message的TextView, 设置text为”Hello Kotlin”. 
代码风格与Python等脚本语言非常类似, 容易编写.
 

 
到这里,你已经不知不觉的写出了Hello Kotlin。庆祝一下吧
 
在学习Kotlin中难免会遇到一些不懂的和一些坑,这时候就需要大家相互分享和提点,这里推荐一下Kotlin社区,欢迎大家来交流。 

下面附上qq群:302755325

0 个评论

要回复文章请先登录注册