Kotlin是一個(gè)基于JVM的新的編程語言,由JetBrains開發(fā),沒錯(cuò),沒看錯(cuò),編譯器Android Studio就是其其中一產(chǎn)品。Kotlin可以編譯成Java字節(jié)碼,也可以編譯成JavaScript,方便在沒有JVM的設(shè)備上運(yùn)行。這些都是后話,關(guān)鍵是聽說它還行,那就讓它在我們手機(jī)上跑一下才行。
學(xué)習(xí)一門語言,關(guān)鍵是知道它的特性,學(xué)習(xí)它的API,這是最根本的。
Kotlin的特性
- Kotlin兼容Java語言;
- Kotlin比Java更安全,能夠靜態(tài)檢測常見的陷進(jìn);
- Kotlin比Java更簡潔,通過支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等實(shí)現(xiàn);
- Kotlin可與Java無縫通信;
- Kotlin很少需要在代碼中指定類型,因?yàn)榫幾g器可以在絕大多數(shù)情況下推斷出變量或者函數(shù)返回值的類型;
總結(jié):安全、簡潔,學(xué)習(xí)成本低,可以嘗試。
Kotlin的語法
語法方面就不做過多介紹,以官方為準(zhǔn)。
Kotlin在Android Studio的配置
配置Gradle環(huán)境
- 首先在主工程配置引用
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.5-3"
}
}
- 在子工程配置
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
//...
}
dependencies {
//...
compile "org.jetbrains.kotlin:kotlin-stdlib:1.0.6"
}
安裝Android Studio插件
進(jìn)入File->Settings->Plugins->Browse Repositories輸入Kotlin,如圖

kotlin plugin.png
Kotlin的簡單使用
創(chuàng)建Activity
右鍵New->Kotlin Activity
package com.amos.kotlinandroid.activity
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.Toast
import com.amos.kotlinandroid.R
import kotlinx.android.synthetic.main.activity_main.*
/**
* Author : lkuan.
* Describe:
* Create at 2017/1/13 0013 12:19.
* Version: 1.0
*/
class KotlinActivity : AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btn_kotlin.setOnClickListener { Toast.makeText(baseContext, "Only Test", Toast.LENGTH_SHORT).show() }
}
}
創(chuàng)建BroadcastReceiver
package com.amos.kotlinandroid.receiver
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.widget.Toast
/**
* Author : lkuan.
* Describe:
* Create at 2017/1/13 0013 12:24.
* Version: 1.0
*/
class KotlinReceiver : BroadcastReceiver(){
override fun onReceive(context: Context?, intent: Intent?) {
if (null != intent){
val msg = intent.getStringExtra("msg")
Toast.makeText(context, "msg = " + msg, Toast.LENGTH_SHORT).show()
}
}
}
簡單的實(shí)體類bean
package com.amos.kotlinandroid.bean
/**
* Author : lkuan.
* Describe:
* Create at 2017/1/13 0013 12:28.
* Version: 1.0
*/
data class Worker (var name:String, var age:Int)
定義方法
var TAG = "Kotlin"
fun printDebugLog(msg : String){
Log.d(TAG, msg)
}
上面只是簡單的操作,其實(shí)Kontlin和Java差不多,后續(xù)再慢慢深入......
堅(jiān)決堅(jiān)決不能再熬夜了的,要按時(shí)休息,早點(diǎn)休息。。。。。。

日向雛田.jpg