使用Kotlin开发Android应用

Kotlin是一个基于JVM的新的编程语言,由JetBrains开发,没错,没看错,编译器Android Studio就是其其中一产品。Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。这些都是后话,关键是听说它还行,那就让它在我们手机上跑一下才行。

学习一门语言,关键是知道它的特性,学习它的API,这是最根本的。

Kotlin的特性

  • Kotlin兼容Java语言;
  • Kotlin比Java更安全,能够静态检测常见的陷进;
  • Kotlin比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现;
  • Kotlin可与Java无缝通信;
  • Kotlin很少需要在代码中指定类型,因为编译器可以在绝大多数情况下推断出变量或者函数返回值的类型;
    总结:安全、简洁,学习成本低,可以尝试。

Kotlin的语法

语法方面就不做过多介绍,以官方为准。

  • 官方API------》点击进入传送门
  • 当然还有热心网友的解析API

Kotlin在Android Studio的配置

配置Gradle环境

  • 首先在主工程配置引用
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开发Android应用_第1张图片
kotlin plugin.png

Kotlin的简单使用

创建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() }
    }
}

创建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差不多,后续再慢慢深入......

Demo更新传送门

坚决坚决不能再熬夜了的,要按时休息,早点休息。。。。。。
使用Kotlin开发Android应用_第2张图片
日向雏田.jpg

你可能感兴趣的:(使用Kotlin开发Android应用)