Kotlin(1) - 初探与集成Android项目

本文介绍如何在Android项目中集成Kotlin,包括配置项目、安装插件、转换Java代码为Kotlin代码,并提供了一个简单的示例。

Kotlin是基于JVM的编程语言, 由JetBrains公司开发, 目前已经开源.
IntelliJ IDEA, PyCharm, Android Studio等IDE, 就是出自于JetBrains公司.

Kotlin介绍:
Statically typed programming language for the JVM, Android and the browser. 100% interoperable with Java™

用于JVM, Android, 网页等的静态类型编程语言, 完全兼容Java.


Kotlin

Kotlin作为Android社区当前比较热的讨论内容, 已经发布了1.0.0-rc版本, 并且得到了一些Google开发者的关注, 毕竟Android Studio是基于JetBrains的框架. Java文件可以直接转换为Kotlin文件, 两者具有非常强的互操作性.

更多关于Kotlin 1.0-rc的介绍, 参考.

分为两个部分:
基础参考初探与集成Android项目
扩展参考优雅地扩展类的方法和属性

Talk is cheap, show you the code. 让我们来看看如何在已有Android项目中集成Kotlin.

本文示例的Github下载地址


1. 配置项目

新建一个空的Android项目.
项目gradle:
添加Kotlin的版本号, 使用最新的1.0.0-rc, 保持版本一致.

buildscript {
    ext.kotlin_version = "1.0.0-rc-1036"
}

模块gradle:
添加类的路径, 必须在模块中添加, 因为kotlin-android-extensions插件会使用依赖.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$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.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

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

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "me.chunyu.spike.wcl_kotlin_demo"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    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'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

2. 安装插件

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


Plugin

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


3. 转换代码

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


Convert


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

把.kt的文件剪切到kotlin文件夹下, 即可使用.

推荐Kotlin文件和Java文件分开存放, 不过放在一起也可以使用.


4. 添加资源

Kotlin的代码非常简洁, 设置属性也比较方便.

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

/**
 * Kotlin的主类, 添加设置属性.
 */
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等脚本语言非常类似, 容易编写.


显示


效果

官方提供了关于Kotlin比较丰富的讲解, 大家也可以阅读源码. Just for fun.

OK, that's all! Enjoy it!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值