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然后彈出了一個對話框,在里面輸入
然后可以選擇配置整個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。
為了方便管理實際工作中我是這樣配置的
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开发:Kotlin下配置DataBinding的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DBA巡检常用的SQL语句
- 下一篇: 为什么开发人员从Java转到Go