Kotlin是一個基于JVM的新的編程語言,由JetBrains開發(fā),沒錯牌芋,沒看錯,編譯器Android Studio就是其其中一產品尼斧。Kotlin可以編譯成Java字節(jié)碼姜贡,也可以編譯成JavaScript试吁,方便在沒有JVM的設備上運行棺棵。這些都是后話,關鍵是聽說它還行熄捍,那就讓它在我們手機上跑一下才行烛恤。
學習一門語言,關鍵是知道它的特性余耽,學習它的API缚柏,這是最根本的。
Kotlin的特性
- Kotlin兼容Java語言碟贾;
- Kotlin比Java更安全币喧,能夠靜態(tài)檢測常見的陷進;
- Kotlin比Java更簡潔袱耽,通過支持variable type inference杀餐,higher-order functions (closures),extension functions朱巨,mixins and first-class delegation等實現(xiàn)史翘;
- Kotlin可與Java無縫通信;
- Kotlin很少需要在代碼中指定類型冀续,因為編譯器可以在絕大多數情況下推斷出變量或者函數返回值的類型琼讽;
總結:安全、簡潔洪唐,學習成本低钻蹬,可以嘗試。
Kotlin的語法
語法方面就不做過多介紹凭需,以官方為準问欠。
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插件
進入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()
}
}
}
簡單的實體類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)
}
上面只是簡單的操作功炮,其實Kontlin和Java差不多溅潜,后續(xù)再慢慢深入......
堅決堅決不能再熬夜了的,要按時休息薪伏,早點休息滚澜。。嫁怀。设捐。借浊。。
日向雛田.jpg