Android使用Kotlin初探

1猪勇、官方支持的Kotlin

谷歌在今年舉行的I/O開發(fā)者大會上宣布设褐,將Kotlin語言作為安卓開發(fā)的一級變成語言。Kotlin現(xiàn)在算是得到官方的支持泣刹。這一支持將在AndroidStudio發(fā)布3.0之后直接內(nèi)置支持≈觯現(xiàn)在我們可以通過安裝插件的方式使用Kotlin來進行Android程序的開發(fā)。

Kotlin 是一個基于 JVM 的新的編程語言椅您,由JetBrains開發(fā)外冀。Kotlin 非常適合開發(fā) Android 應(yīng)用程序,將現(xiàn)代語言的所有優(yōu)勢帶入 Android 平臺而不會引入任何新的限制:

兼容性:Kotlin 與 JDK 6 完全兼容掀泳,保障了 Kotlin 應(yīng)用程序可以在較舊的 Android 設(shè)備上運行而無任何問題雪隧。Kotlin 工具在 Android Studio 中會完全支持西轩,并且兼容 Android 構(gòu)建系統(tǒng)。

性能:由于非常相似的字節(jié)碼結(jié)構(gòu)脑沿,Kotlin 應(yīng)用程序的運行速度與 Java 類似藕畔。 隨著 Kotlin 對內(nèi)聯(lián)函數(shù)的支持,使用 lambda 表達式的代碼通常比用 Java 寫的代碼運行得更快庄拇。

互操作性:Kotlin 可與 Java 進行 100% 的互操作注服,允許在 Kotlin 應(yīng)用程序中使用所有現(xiàn)有的 Android 庫 。這包括注解處理措近,所以數(shù)據(jù)綁定和 Dagger 也是一樣溶弟。

占用:Kotlin 具有非常緊湊的運行時庫,可以通過使用 ProGuard 進一步減少瞭郑。在實際應(yīng)用程序中可很,Kotlin 運行時只增加幾百個方法以及 .apk 文件不到 100K 大小。

編譯時長:Kotlin 支持高效的增量編譯凰浮,所以對于清理構(gòu)建會有額外的開銷,增量構(gòu)建通常與 Java 一樣快或者更快苇本。

學(xué)習(xí)曲線:對于 Java 開發(fā)人員袜茧,Kotlin 入門很容易。包含在 Kotlin 插件中的自動 Java 到 Kotlin 的轉(zhuǎn)換器有助于邁出第一步瓣窄。Kotlin還提供了通過一系列互動練習(xí)提供了語言主要功能的指南笛厦。

2、Kotlin引入Android項目

現(xiàn)在有兩種方式可以在Android工程中使用Kotlin俺夕。1裳凸、使用Android Studio的3.0的預(yù)覽版。2劝贸、安裝插件的方式姨谷。由于Android Studio的3.0預(yù)覽版還不穩(wěn)定,所以我們采用安裝插件的方式來使用Kotlin映九。
打開Android的Setting梦湘,找到Plugins,點擊Install JetBrains plugin...


然后手動輸入Kotlin件甥,找到對應(yīng)的插件安裝重啟捌议。

創(chuàng)建一個空的工程, 工程帶一個默認(rèn)的空的MainActivity引有。
使用AS帶的Find Action功能瓣颅,吊起命令快捷輸入,輸入convert java file to kotlin譬正,沒必要輸入完整宫补,就會有提示選擇了檬姥。或者使用菜單欄code中的convert java file to kotlin或者快捷鍵守谓。這樣java文件就被轉(zhuǎn)化成了kotlin文件穿铆。


工程中配置 Kotlin
在開始編輯此文件時,Android Studio 會提示當(dāng)前工程還未配置 Kotlin斋荞,根據(jù)提示完成操作即可荞雏;或者可以在菜單欄中選擇 Tools-Kotlin-Configure Kotlin 。

選擇配置時有如下對話框平酿,選擇已安裝的最新版本即可凤优。

image.png

Kotlin 配置完成后,應(yīng)用程序的 build.gradle 文件會更新蜈彼。 你能看到新增了 apply plugin: 'kotlin-android' 及其依賴筑辨。

3、認(rèn)識Kotlin

我們先看下MainActivity.java文件轉(zhuǎn)化成的MainActivity.kt文件幸逆。內(nèi)容變成了這樣的形式:

package com.example.administrator.myapplication

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

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

我們根據(jù)這幾行簡單的代碼看看Kotlin有哪些特性吧棍辕。

  • 沒有分號了
  • public消失了
  • 繼承變成了:XXX的形式
  • 類的聲明上就竟然有個構(gòu)造的()
  • void變成了fun
  • 變量名在前,類型在后
  • @nullable的注解變成了一個还绘?

當(dāng)然簡單的幾行并不能了解Kotlin的全部楚昭。下一篇文章我們一起了解下Kotlin的一些基礎(chǔ)語法和編程規(guī)范吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拍顷,一起剝皮案震驚了整個濱河市抚太,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌昔案,老刑警劉巖尿贫,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異踏揣,居然都是意外死亡庆亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進店門呼伸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來身冀,“玉大人,你說我怎么就攤上這事括享÷Ц” “怎么了?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵铃辖,是天一觀的道長剩愧。 經(jīng)常有香客問我,道長娇斩,這世上最難降的妖魔是什么仁卷? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任穴翩,我火速辦了婚禮,結(jié)果婚禮上锦积,老公的妹妹穿的比我還像新娘芒帕。我一直安慰自己,他們只是感情好丰介,可當(dāng)我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布背蟆。 她就那樣靜靜地躺著,像睡著了一般哮幢。 火紅的嫁衣襯著肌膚如雪带膀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天橙垢,我揣著相機與錄音垛叨,去河邊找鬼。 笑死柜某,一個胖子當(dāng)著我的面吹牛嗽元,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播喂击,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼还棱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了惭等?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤办铡,失蹤者是張志新(化名)和其女友劉穎辞做,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寡具,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡秤茅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了童叠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片框喳。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖厦坛,靈堂內(nèi)的尸體忽然破棺而出五垮,到底是詐尸還是另有隱情,我是刑警寧澤杜秸,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布放仗,位于F島的核電站,受9級特大地震影響撬碟,放射性物質(zhì)發(fā)生泄漏诞挨。R本人自食惡果不足惜莉撇,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惶傻。 院中可真熱鬧棍郎,春花似錦、人聲如沸银室。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粮揉。三九已至巡李,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扶认,已是汗流浹背侨拦。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辐宾,地道東北人狱从。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像叠纹,于是被迫代替她去往敵國和親季研。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,937評論 2 361

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