在 Google I/O 2017 大會上,Google 正式宣布 Android Studio 3.0 完全支持 Kotlin,Kotlin 成為正式的 Android 編程語言,也將從 JetBrain 移交給獨立的非盈利組織來進行后續的開發。
Kotlin是一門與Swift類似的靜態類型JVM語言,由JetBrains設計開發并開源。與Java相比,Kotlin的語法更簡潔、更具表達性,而且提供了更多的特性,比如,高階函數、操作符重載、字符串模板。它與Java高度可互操作,可以同時用在一個項目中。
按照JetBrains的說法,根據他們多年的Java平臺開發經驗,他們認為Java編程語言有一定的局限性和問題,而且由于需要向后兼容,它們不可能或很難得到解決。因此,他們創建了Kotlin項目,主要目標是:
?創建一種兼容Java的語言
?編譯速度至少同Java一樣快
?比Java更安全
?比Java更簡潔
?比最成熟的競爭者Scala還簡單
閑話少說,下面開始用一下這家伙。
Google是準備在android studio 3.0正式推出Kotlin,那么現在我們要用Kotlin就必須安裝插件了。打開android studio>File>Settings>Plugins>Browse Repositoies 搜索Kotlin,點擊install然后等待,安裝成功restart android studio。
下面開始新建項目,配置gradle
在project的gradle dependencies里面添加
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-3"
}
}
app的gradle里面添加
dependencies {
compile 'org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3'
}
下面是Activity的代碼,看起來簡潔了很多
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
initView()
}
fun initView() {
val txt : String = "toast message"
btn_test.setOnClickListener {
toast(txt)
}
}
fun AppCompatActivity.toast(message: CharSequence, duration: Int = Toast.LENGTH_SHORT) {
Toast.makeText(this, message, duration).show()
}
}
在build.gradle(Module:app)中添加如下代碼
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
就可以和findViewById說再見了。另外,每一行語句后的冒號都沒有了,Button點擊的事件也少了,讓人眼前一亮的感覺。使用ctrl+alt+shift+k快捷鍵可以把java代碼轉換成kotlin,也是挺方便的。
這篇文章寫得不錯,想深入了解的可以看一下
http://droidyue.com/blog/2017/05/18/why-do-i-turn-to-kotlin/
from java to kotlin
https://github.com/MindorksOpenSource/from-java-to-kotlin/blob/master/README-ZH.md