Google IO大會(huì)將Kotlin定位為Android開(kāi)發(fā)第一語(yǔ)言,作為一個(gè)合格的Android程序猿,是時(shí)候?qū)W習(xí)一波來(lái)一波kotlin
教程了:
-
AndroidStudio 3.0將內(nèi)置對(duì)kotlin的支持,但是暫時(shí)還是個(gè)預(yù)覽版,正式版需要等待幾個(gè)月之后,鑒于大部分還是2.x版本,需要安裝最新的
kotlin插件
打開(kāi)AndroidStudio plugins,搜索
Kotlin
,安裝插件即可(注:很多教程上需要裝Kotlin Android Extensions
,但是如今kotlin
插件已經(jīng)集成了Kotlin Android Extensions
,只需要裝一個(gè)kotlin
即可)
2.創(chuàng)建一個(gè)Android項(xiàng)目,選擇空模板即可.
3.在項(xiàng)目的build.gradle(Project gradle) 加上kotlin
編譯支持,寫(xiě)這篇博客時(shí)最新版本的kotlin
為1.1.2-3
,
為了統(tǒng)一管理版本,我們定義
ext.kotlin_version = "1.1.2-3"
最終如下:
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
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
dependencies中加入了
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- 在項(xiàng)目的build.gradle(Module)加入
kotlin
支持
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
同時(shí)引入kotlin
的jar包
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
- 最終的項(xiàng)目完整的
build.gradle
如下
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
buildscript {
repositories {
jcenter()
}
}
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "me.chunyu.spike.wcl_kotlin_demo"
minSdkVersion 14
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
配置完成后,build一下項(xiàng)目,即可開(kāi)始kotlin代碼的編寫(xiě),這回能好好的出去裝X了
將Java代碼轉(zhuǎn)換成kotlin代碼
打開(kāi)MainActivity,選擇code -->convert java file to kotlin(可以順便記一下快捷鍵),將Java代碼轉(zhuǎn)換成kotlin代碼;
轉(zhuǎn)換后如下:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
tv.text="Hello kotlin"
tv.textSize=20.0f
tv.setTextColor(Color.BLACK)
}
}
十分簡(jiǎn)潔,再也沒(méi)有findViewById
,再也沒(méi)有setText
等十分繁瑣的代碼,如果你之前學(xué)過(guò)Python
,發(fā)現(xiàn)他們是如此的相像,語(yǔ)法相似度超過(guò)90%;
示例代碼 GitHub KotlinStudio
歡迎start,issue我的GitHub,
- 便捷的利用fragment替代Activity創(chuàng)建頁(yè)面,自帶任務(wù)棧,返回棧;
- 高效讀取序列幀,序列幀動(dòng)畫(huà)必備,內(nèi)存復(fù)用,千張圖片只使用一張圖片的內(nèi)存;