使用Kotlin開發(fā)Android應(yīng)用

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ù)再慢慢深入......

Demo更新傳送門

堅(jiān)決堅(jiān)決不能再熬夜了的,要按時(shí)休息,早點(diǎn)休息。。。。。。
日向雛田.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容