Kotlin插件包括一個讓我們配置Gradle的工具。但是我還是傾向於保持我對Gradle文件讀寫的控制權,否則它只會變得混亂而不會變得簡單。不管怎么樣,在使用自動工具之前知道它是怎么工作的是個不錯的主意。所以這次,我們將手動去做。
首先,你需要如下修改父build.gradle
:
buildscript {
ext.support_version = '23.1.1' ext.kotlin_version = '1.0.0' ext.anko_version = '0.8.2' repositories { jcenter() dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } } allprojects { repositories { jcenter() } }
正如你看到的,我們創建了一個變量來存儲當前的Kotlin版本。你讀到這里的時候去檢測一下最新版本,因為可能會有更新的版本已經發布了。我們需要在幾個不同的地方用到那個版本號,比如你需要加上新的Kotlin插件的dependency
。你會在你指定的那些模塊中的build.gradle
中再次需要到Kotlin標准庫。
我們對於support library
也是如此,Anko
庫也是同樣的做法。用這個方式可以更方便地在一個地方修改所有的版本號。並且使用相同的版本號,更新的時候也不需要每個地方都修改。
我們會增加Kotlin
標准庫,Anko
庫,以及Kotlin
和Kotlin Android Extensions plugin
插件到dependencies。
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { ... } dependencies { compile "com.android.support:appcompat-v7:$support_version" compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "org.jetbrains.anko:anko-common:$anko_version" } buildscript { repositories { jcenter() } dependencies { classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" } }
Anko是一個用來簡化一些Android任務的很強大的Kotlin庫。我們之后將會學習部分anko,但是現在來說僅僅增加anko-common
就足夠了。這個庫被分割成了一系列小的部分以至於我們不會把沒用到的部分加進來。
然后,手動在Activity中增加一個import語句(不要擔心你現在對這個還不太理解)。
import kotlinx.android.synthetic.main.activity_main.*
在onCreate
中,你現在可以直接得到並訪問這個TextView了。
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) message.text = "Hello Kotlin!" }