1. 程式人生 > >初探kotlin建立第一個kotlin應用

初探kotlin建立第一個kotlin應用

使用kotlin開發Android建立Kotlin工程!

寫在前面:

Kotlin是一種在 Java虛擬機器上執行的靜態型別程式語言,它主要是由俄羅斯聖彼得堡的JetBrains開發團隊所發展出來的程式語言。該語言有幾個優勢

  1. 簡潔
    它大大減少你需要寫的樣板程式碼的數量。
  2. 安全
    避免空指標異常等整個類的錯誤。
  3. 通用
    構建伺服器端程式、Android 應用程式或者在瀏覽器中執行的前端程式。
  4. 互操作性
    通過 100% Java 互操作性,利用 JVM 既有框架和庫。

Flipboard中國的Android專案確定了正式將Kotlin作為專案開發語言,這就意味著新增的程式碼檔案將以Kotlin程式碼格式出現,而且同時舊的Java程式碼也將會陸陸續續翻譯成Kotlin程式碼。使用Kotlin的開發者都會被它的簡潔,高效,快捷等等特點震撼,這篇文章的目的主要是講一下如何使用Androidstudio 建立一個kotlin應用。

1. 為Android Studio安裝kotlin外掛

在Android Studio中開啟Settings->Plugins->Browse Repositories,輸入kotlin搜尋

kotlin安裝圖解

2. 建立Android專案

在Android Studio新建一個Android 工程kotlinTest,跟普通Android工程建立一樣。開啟File->New Projects->Application Name,輸入”kotlinTest”。

建立Android專案

3. 配置工程

在工程的build.gradle中新增kotlin版本以及依賴:
在工程的build.gradle中新增kotlin版本以及依賴

buildscript {

    ext.kotlin_version = '1.0.4'
//kotlin版本 repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.0.0' //kotlin依賴 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } }

在module中的build.gradle檔案中使用kotlin外掛以及kotlin依賴:在app的gradle下加入如下程式碼,

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

在module中的build.gradle檔案中使用kotlin外掛以及kotlin依賴

4. 將Java程式碼轉換成Kotlin

kotlinTest工程中預設MainActivity.java程式碼如下:

package edu.fjnu.cse.kotlintest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

開啟該檔案,使用快捷鍵Ctrl+Shift+Alt+K即可將該Java程式碼轉換為Kotlin程式碼,也可以在Android Studio的選單中使用Code->Convert Java File to Kotlin File進行轉換。轉換後的Kotlin程式碼如下:

package edu.fjnu.cse.kotlintest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

class MainActivity : AppCompatActivity() {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
  }
}

分析語法變化:

  1. extends 變成 :
  2. 函式定義關鍵字變為了fun
  3. 分號消失
  4. 變數名稱寫在型別之前