使用Kotlin開發Android應用

snowdream86發表於2016-08-15

1、Kotlin介紹

 [Kotlin](https://kotlinlang.org/)
 Kotlin是一門基於JVM的程式語言,它正成長為Android開發中用於替代Java語言的繼承者。Java是世界上使用最多的程式語言之中的一個,當其它程式語言為更加便於開發人員使用而不斷進化時,Java並沒有像預期那樣及時跟進。

  Java缺失的非常多特性在最新的修訂版中逐漸覆蓋到了,但Android開發人員臨時還沒能夠使用它們。這就使得相似Kotlin這種語言有了用武之地了:在舊的開發環境中使用現代語言的特性。

  Kotlin是什麼?

  Kotlin是由JetBrains建立的基於JVM的程式語言,IntelliJ正是JetBrains的傑作,而Android Studio是基於IntelliJ改動而來的。Kotlin是一門包括非常多函數語言程式設計思想的物件導向程式語言。

  Kotlin生來就是為了彌補Java缺失的現代語言的特性,並極大的簡化了程式碼,使得開發人員能夠編寫儘量少的樣板程式碼。

2、配置工程

新建一個Project “MyKotlin”
在專案的build.gradle上加入kotlin版本

// Top-level build file where you can add configuration options common to all sub-projects/modules.
ext.kotlin_version = "1.0.0-rc-1036"
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

在module中的build.gradle加入kotlin的依賴

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

再加入對android的支援

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

再加入java的編譯路徑。在main下建立kotlin資料夾 並在gradle檔案寫上
完整的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.1"

    defaultConfig {
        applicationId "com.example.mykotlin"
        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"
}

程式碼如圖所看到的
這裡寫圖片描寫敘述

3、程式碼轉換

能夠選擇MainActivity 然後選擇code–>>Convert Java File to Kotlin File …
然後將生成的檔案kt 剪下到kotlin資料夾下。
kt 程式碼例如以下

package com.example.mykotlin

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

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        tv.text = "Hello MyKotlin"
        tv.textSize = 20.0f
    }
}

終於執行如圖所看到的:
執行效果

4、樣例下載

點選檢視

相關文章