使用Kotlin開發(fā)Android應(yīng)用

MyKotlin

1药磺、Kotlin介紹

 [Kotlin](https://kotlinlang.org/)
 Kotlin是一門基于JVM的編程語言,它正成長為Android開發(fā)中用于替代Java語言的繼承者忌怎。Java是世界上使用最多的編程語言之一,當(dāng)其他編程語言為更加便于開發(fā)者使用而不斷進化時,Java并沒有像預(yù)期那樣及時跟進衍慎。

Java缺失的很多特性在最新的修訂版中逐漸覆蓋到了,但Android開發(fā)者暫時還沒能夠使用它們皮钠。這就使得類似Kotlin這樣的語言有了用武之地了:在舊的開發(fā)環(huán)境中使用現(xiàn)代語言的特性稳捆。

Kotlin是什么?

Kotlin是由JetBrains創(chuàng)建的基于JVM的編程語言麦轰,IntelliJ正是JetBrains的杰作乔夯,而Android Studio是基于IntelliJ修改而來的。Kotlin是一門包含很多函數(shù)式編程思想的面向?qū)ο缶幊陶Z言款侵。

Kotlin生來就是為了彌補Java缺失的現(xiàn)代語言的特性末荐,并極大的簡化了代碼,使得開發(fā)者可以編寫盡量少的樣板代碼新锈。

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下創(chuàng)建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壕鹉、代碼轉(zhuǎn)換

可以選擇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、例子下載

點擊查看

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晾浴,一起剝皮案震驚了整個濱河市负乡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脊凰,老刑警劉巖抖棘,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異狸涌,居然都是意外死亡切省,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門帕胆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來朝捆,“玉大人,你說我怎么就攤上這事懒豹≤脚蹋” “怎么了驯用?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長儒老。 經(jīng)常有香客問我蝴乔,道長,這世上最難降的妖魔是什么驮樊? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任薇正,我火速辦了婚禮,結(jié)果婚禮上囚衔,老公的妹妹穿的比我還像新娘挖腰。我一直安慰自己,他們只是感情好佳魔,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布曙聂。 她就那樣靜靜地躺著晦炊,像睡著了一般鞠鲜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上断国,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天贤姆,我揣著相機與錄音,去河邊找鬼稳衬。 笑死霞捡,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的薄疚。 我是一名探鬼主播碧信,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼街夭!你這毒婦竟也來了砰碴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤板丽,失蹤者是張志新(化名)和其女友劉穎呈枉,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體埃碱,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡猖辫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了砚殿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啃憎。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖似炎,靈堂內(nèi)的尸體忽然破棺而出荧飞,到底是詐尸還是另有隱情凡人,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布叹阔,位于F島的核電站挠轴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏耳幢。R本人自食惡果不足惜岸晦,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望睛藻。 院中可真熱鬧启上,春花似錦、人聲如沸店印。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽按摘。三九已至包券,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間炫贤,已是汗流浹背溅固。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留兰珍,地道東北人侍郭。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像掠河,于是被迫代替她去往敵國和親亮元。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容