作者: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>