Android開發:Kotlin下配置DataBinding
近日,隨著Google召開了Google I/O 2017,Kotlin大火一把。因為Google宣佈Kotlin為First-class開發語言作 為一名Kotlin忠實粉絲,高興地很呀。雖然短
時間內不太可能替代Java,但這次官宣意味承認了Kotlin在Android開發中的合法地位,讓想嘗試Kotlin卻有顧率的開發者可以放心地使用Kotlin(比如說我)。
有人說沒必要嘗試Ktolin,Kotlin沒有什麼吸引人的地方,相比java沒簡潔多少,只不是多一些語法糖而已。對我而言,我就是喜歡這些語法糖。當然了,此時也
應該回想回想Eclipse。Kotlin有諸如kotlin-android-extensions 以及Anko這種優秀的外掛或者庫,但是我也很偏愛Databinding。下面就講如何讓kotlin與databinding合諧並存
開發環境
AndroidStudio 2.3.2
Kotlin:1.1.2-3
安裝Kotlin外掛
開啟settings去plugin裡面搜尋kotlin,然後install就可以了。以在tools裡面我們就可以檢視kotlin了,在這裡可以進行檢查更新什麼的。
安裝完之後,可以雙擊shift然後彈出了一個對話方塊,在裡面輸入
configure kotlin in project
然後可以選擇配置整個project還是單個Module。
gradle配置
經歷過以上步驟,你會發現你的Project下面的build.gradle
變成這樣的了
buildscript {
ext.kotlin_version = `1.1.2-3`
repositories {
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:2.3.2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
而module的build.gradle
是這樣的
apply plugin: `com.android.application`
apply plugin: `kotlin-android`
android {
....
dataBinding {
enabled true
}
}
dependencies {
compile fileTree(include: [`*.jar`], dir: `libs`)
androidTestCompile(`com.android.support.test.espresso:espresso-core:2.2.2`, {
exclude group: `com.android.support`, module: `support-annotations`
})
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:kotlin_version"
testCompile `junit:junit:4.12`
}
正常來說,經過以上步驟我們就可以正常使用kotlin了,但是等等!!!今天的主角好像不是怎麼配置kotlin,我們的目的是讓kotlin與databinding共存。所以在你的Module的build.gradle
還要加上一句:
apply plugin: `kotlin-kapt`
...
dependencies {
compile fileTree(include: [`*.jar`], dir: `libs`)
androidTestCompile(`com.android.support.test.espresso:espresso-core:2.2.2`, {
exclude group: `com.android.support`, module: `support-annotations`
})
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:kotlin_version"
kapt `com.android.databinding:compiler:2.3.2`
testCompile `junit:junit:4.12`
}
其中databinding complier的版本也就是2.3.2其實是和Project下的gradle版本是一樣的,當然了可以不一樣,如用2.3.1。
為了方便管理實際工作中我是這樣配置的
buildscript {
ext.kotlin_version = `1.1.2-3`
ext.gradle_version = `2.3.2`
repositories {
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:$gradle_version"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
dependencies {
compile fileTree(include: [`*.jar`], dir: `libs`)
androidTestCompile(`com.android.support.test.espresso:espresso-core:2.2.2`, {
exclude group: `com.android.support`, module: `support-annotations`
})
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:kotlin_version"
kapt "com.android.databinding:compiler:$rootProject.ext.gradle_version"
testCompile `junit:junit:4.12`
}
AndroidStudio3.0
AndroidStudio3.0預設整合了kotlin,我們只需要configure一下就好了。但是3.0用的kotlin用的應該是1.1.2-4,這個版本和as3.0可能有衝突,可能會出一個circular dependencies的錯誤。這個時候你需要在```gradle.properties
或者 local.properties
加入:kotlin.incremental=false
如果依然不好用可能需要降低kotlin或者databinding compiler的版本了。
相關文章
- Android Studio: Kotlin使用DataBinding異常AndroidKotlin
- Windows下Android開發環境配置WindowsAndroid開發環境
- Kotlin Android 開發小技巧KotlinAndroid
- Android開發教程-使用DataBinding(五)資料繫結Android
- 使用Kotlin開發Android應用KotlinAndroid
- Android開發教程-使用DataBinding(六)RecyclerViewAdapter中的使用AndroidViewAPT
- 雞你太美之 Kotlin 和 DatabindingKotlin
- Android kotlin中配置protobufAndroidKotlin
- Kotlin on Android 開發環境介紹KotlinAndroid開發環境
- Android Jetpack - DataBindingAndroidJetpack
- Android鬼點子 Kotlin+DataBinding+LiveData+Lifecycle的奇妙反應AndroidKotlinLiveData
- Android鬼點子-Kotlin+DataBinding+LiveData+Lifecycle的奇妙反應AndroidKotlinLiveData
- Android開發框架Collection-kotlin(更新篇)Android框架Kotlin
- Android開發中的Kotlin Coroutine VS RxJavaAndroidKotlinRxJava
- 開發Android應用用Kotlin還是Java?AndroidKotlinJava
- 使用Kotlin高效地開發Android App(四)KotlinAndroidAPP
- 使用Kotlin高效地開發Android App(一)KotlinAndroidAPP
- 使用Kotlin高效地開發Android App(二)KotlinAndroidAPP
- 使用Kotlin高效地開發Android App(三)KotlinAndroidAPP
- 【翻譯】ANDROID KTX – 使用Kotlin進行Android開發AndroidKotlin
- Kotlin對決Java:Android開發的選擇?KotlinJavaAndroid
- 使用Kotlin優雅的開發Android應用KotlinAndroid
- 在 Android 開發中使用 Kotlin 協程 (一) -- 初識 Kotlin 協程AndroidKotlin
- Android版kotlin協程入門(四):kotlin協程開發實戰AndroidKotlin
- Android NDK學習(2)Windows下NDK開發環境配置AndroidWindows開發環境
- Android DataBinding之初體驗Android
- Android:DataBinding的一二事Android
- [Android開發]Mac下NDK開發(JNI)AndroidMac
- 如何優雅地使用 Kotlin 開發 Android 應用KotlinAndroid
- Android開發基礎08-掌握kotlin語言AndroidKotlin
- Kotlin-first - 谷歌宣佈Kotlin成為Android開發首選語言Kotlin谷歌Android
- android studio配置ndk開發Android
- Android JNI開發系列之配置Android
- Ubuntu下android開發環境配置與奇葩錯誤解決UbuntuAndroid開發環境
- 使用Kotlin高效地開發Android App(五)完結篇KotlinAndroidAPP
- 優化使用kotlin開發Android app的編譯速度優化KotlinAndroidAPP編譯
- 大事件:Kotlin 成了 Android 開發的官方語言事件KotlinAndroid
- Android工程常用配置和開發技巧Android