1. 程式人生 > >Android Kotlin開發之Hello World

Android Kotlin開發之Hello World

Kotlin簡介

Kotlin 是一種在 Java 虛擬機器上執行的靜態型別程式語言,被稱之為 Android 世界的Swift,由 JetBrains 設計開發並開源。
Kotlin 可以編譯成Java位元組碼,也可以編譯成 JavaScript,方便在沒有 JVM 的裝置上執行。
在Google I/O 2017中,Google 宣佈 Kotlin 成為 Android 官方開發語言。

Kotlin的優點

  • 簡潔: 大大減少樣板程式碼的數量。
  • 安全: 避免空指標異常等整個類的錯誤。
  • 互操作性: 充分利用 JVM、Android 和瀏覽器的現有庫。
  • 工具友好: 可用任何 Java IDE 或者使用命令列構建。

為什麼要學習Kotlin

  • Java被Oracle收購後,Oracle出於商業的考慮,Java受到越來越多的限制,而且有訊息透露Java未來將對開發者收費
  • Kotlin已經被JetBrains開源
  • Kotlin成為Android官方開發語言,可見Kotlin已被Goolge列為重點發展物件
  • Kotlin語言本身的特性:簡潔、安全、互操作性,尤其是跟Java的互操作性上,使得我們可以毫無障礙的使用原有的java庫
  • 你就不想跟隨技術的腳步,做一個技術達人嗎

Kotlin初體驗

盜個Android官網的圖,What does Kotlin code look like?

在這裡插入圖片描述

Android中使用Kotlin

下面以新建Android專案為例,看看怎麼在Android中使用Kotlin,揭開她的神祕面紗。

新建專案時勾選Include Kotlin support

在這裡插入圖片描述

Project/build.gradle配置變化

buildscript {
    ext.kotlin_version = '1.2.61'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" //添加了Kotlin編譯外掛

    }
}

app/build.gradle配置變化

apply plugin: 'com.android.application'

//使用Kotlin外掛
apply plugin: 'kotlin-android'
//使用Kotlin Android擴充套件外掛
apply plugin: 'kotlin-android-extensions'

android {
......
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" //新增Kotlin 標準庫
}

在Android Studio中,按照設定嚮導新建一個專案,最終會生成一個只顯示Hello World!的介面,看看這個簡單的Acticity程式碼:

package com.example.kotlin

import android.app.Activity
import android.os.Bundle

class MainActivity : Activity() { //繼承

    override fun onCreate(savedInstanceState: Bundle?) { //方法定義和引數宣告
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)// 所有的語句結束都沒有分號;
    }
}

是不是發現了一些Kotlin跟java不一樣的地方

Android studio中將現有Java程式碼轉換為Kotlin程式碼

開啟一個Java檔案並選擇 Code > Convert Java File to Kotlin File。
或新建一個Kotlin 檔案(File > New > Kotlin File/Class),然後將 Java 程式碼貼上到該檔案,出現提示時,點選 Yes,將此程式碼轉換為 Kotlin 程式碼。 您可以勾選 Don’t show this dialog next time,以便將 Java 程式碼段轉儲到 Kotlin 檔案中。

下面以一個簡單的javaBean為例,對比下,Java程式碼和轉換後的Kotlin程式碼的差異。

Java程式碼:

package com.example.kotlin;

public class Student {

    private String name;

    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}

轉換後的Kotlin程式碼:

package com.example.kotlin

class Student {

    var name: String? = null

    var age: Int = 0

}

通過對比,程式碼確實精簡了不少,可以少些不少程式碼哩!

Kotlin後續學習

通過上面的介紹,如果你是Android開發者,已經可以在Android專案開始kotlin之旅了,需要的只是對Kotlin語法和特性的慢慢熟悉。這裡給大家推薦幾個入門學習的資料:

  1. Kotlin官網教程:https://kotlinlang.org/docs/tutorials/

  2. Kotlin教程|菜鳥教程:http://www.runoob.com/kotlin/kotlin-tutorial.html

  3. Android開發者官網Kotlin:https://developer.android.com/kotlin/

  4. Android快速轉戰Kotlin教程:https://blog.csdn.net/github_33304260/article/details/80343514

最後的話

我還是想最後聲援一下,Kotlin可以趕快學起來,用起來了,已經推出一年多了,這是Android開發的未來趨勢,我們退無可退,就像前幾年Android studio上位,eclipse謝幕一樣,必須提前做好準備。