天天看點

使用Kotlin開發Android應用

作者:snowdream email:yanghui1986527#gmail.com qq 群: 529327615

本文旨在引導開發者使用kotlin來開發android應用。

至于kotlin語言的文法和教程等,不在本文讨論範圍,請參考以下官網文檔和網上的開發教程。

<a href="https://kotlinlang.org/docs/tutorials/kotlin-android.html">kotlin-android</a>

<a href="https://wangjiegulu.gitbooks.io/kotlin-for-android-developers-zh/content/">《kotlin for android developers》中文翻譯</a>

<a href="https://huanglizhuo.gitbooks.io/kotlin-in-chinese/content/">kotlin-in-chinese</a>

<a href="https://hltj.gitbooks.io/kotlin-reference-chinese/content/">kotlin 官方參考文檔 中文版</a>

<a href="https://drakeet.gitbooks.io/the-kotlin-programming-language/content/">kotlin 官方文檔中文翻譯版</a>

kotlin 是一個基于 jvm 的新的程式設計語言,由 jetbrains 開發。

kotlin可以編譯成java位元組碼,也可以編譯成javascript,友善在沒有jvm的裝置上運作。

jetbrains,作為目前廣受歡迎的java ide intellij 的提供商,在 apache 許可下已經開源其kotlin 程式設計語言。

本節介紹如何使用kotlin開發android應用。

以下幾點需要謹記:

所有kotlin類檔案,以.kt為字尾。

kotlin的源碼目錄規則和預設的是一樣的。分别放在src/main/kotlin, src/test/kotlin, src/androidtest/kotlin 和任意的src/${buildvariant}/kotlin。

使用kotlin來開發android,需要經過以下幾個步驟進行配置。

1.在項目根目錄下的build.gradle檔案中添加以下代碼:

2.在子產品目錄下的build.gradle檔案中添加以下代碼:

3.配置完成,你可以在src/main/kotlin目錄下愉快地使用kotlin來寫android應用了。

執行個體展示:

<a href="https://github.com/jetbrains/kotlin-examples">https://github.com/jetbrains/kotlin-examples</a>

<a href="https://github.com/snowdream/test/tree/master/android/kotlin/helloworld">https://github.com/snowdream/test/tree/master/android/kotlin/helloworld</a>

上面是手動給android項目增加kotlin支援。

其實還有一種自動轉換的方法,也可以添加kotlin支援。

通過菜單“ help | find action”或者快捷鍵“ctrl+shift+a”調出動作查詢視窗

輸入"configure kotlin in project",回車,按照提示操作,即可添加kotlin配置。

重複第一步,調出動作查詢視窗。輸入“convert java file to kotlin file”。即可将現有的java檔案自動轉換成kotlin檔案。當然,如果隻想轉換某一個java檔案,方法就是,打開改java檔案,然後選擇菜單“ code | convert java file to kotlin file”,即可将目前打開的java檔案自動轉換成kotlin檔案。

轉換完成。

根據kotlin官網描述,kotlin是一種适用于jvm,android

根據個人的開發實踐,總結出使用kotlin開發android應用的優缺點:

和java相比,更簡潔,更安全。

和java無縫內建,官網宣稱kotlin可以100%和java混合使用。

由jetbrains推出,idea可以更好的進行支援。

會将支援kotlin的相關jar包打散,打包到apk中。這部分内容最終會給apk增加700k左右的大小。這個和前面的groovy相比,情況要好很多,勉強還是可以接受的。

和java相比,使用kotlin的開發者還太少。

誕生時間較晚,有待時間的檢驗。

使用kotlin是可以更快,更有效地開發android應用的。

在應用于生産實踐之前,還需要更多的評估,包括穩定性,運作效率,耗電量,相容性,研發的接受程度等。

<a href="http://baike.baidu.com/view/9189237.htm">kotlin名詞解釋</a>

<a href="https://kotlinlang.org">kotlin官網</a>

<a href="https://blog.jetbrains.com/kotlin/2016/03/kotlins-android-roadmap/">kotlins-android-roadmap</a>

<a href="https://kotlinlang.org/docs/tutorials/kotlin-android.html">getting started with android and kotlin</a>

<a href="https://kotlinlang.org/docs/tutorials/android-plugin.html">kotlin android extensions</a>

<a href="https://github.com/jetbrains/kotlin-examples">kotlin-examples</a>

<a href="https://github.com/snowdream/test/tree/master/android/kotlin/helloworld">helloworld</a>

<a href="http://www.zhihu.com/question/25289041">如何評價 kotlin 語言</a>

<a href="http://www.infoq.com/cn/news/2015/06/android-jvm-jetbrains-kotlin">kotlin:android世界的swift</a>

<a href="http://www.2gua.info/post/53">初見kotlin</a>

<a href="http://www.zhihu.com/question/36735834">android開發中使用kotlin你遇到過哪些坑?</a>