1. 程式人生 > >使用Kotlin開發Android

使用Kotlin開發Android

Android Studio 中安裝 Kotlin Plugin

開啟Settings選擇Plugins模組,搜尋Kotlin,然後選擇安裝,這個需要一個下載的過程,下載完安裝成功後重啟一下Android Studio 就可以了。

這裡寫圖片描述

這裡需要安裝兩個Kotlin相關的外掛,Kotlin和Kotlin Extensions For Android.

建立一個Android 專案

在Android Studio 中建立一個Android 專案,如下圖:

這裡寫圖片描述

以上是一個常規的Android 專案,可以看到MainActivity.java檔案中是我們熟悉的Java語法建立的Activity類。

java檔案轉換為kt檔案

接下來,在左側工程目錄面板中選中MainActivity檔案,然後再IDE頂部的code選單中選擇“Convert Java File to Kotlin File”操作。

這裡寫圖片描述

此時,MainActivity.java檔案的內容發生了一些變化,並且MainActivity.java檔案也變成了一個MainActivity.kt字尾的檔案,具體的變化請看下圖:

這裡寫圖片描述

這就是一個用Kotlin語法編寫的Activity類,同時IDE也彈出了一個提示,在右上角給出了一個“Configure”的操作選擇,這是Kotlin Plugin提供修改Android 專案的Gradle配置檔案的提示。選擇後會彈出如下提示框:

這裡寫圖片描述

Kotlin 編譯配置

選擇OK後,Kotlin Plugin會在你專案的app 目錄下的gradle檔案中自動新增一些內容如下,都是一些Kotlin編譯專案需要的配置:

這裡寫圖片描述

注意一下,其中有一句“apply plugin: ‘kotlin-android-extensions’”是我手動新增進去的,這一句的用途稍後會解釋給大家。

編寫Hello Kotlin !

既然Kotlin的編譯環境配置好了,那我們就可以開始執行程式吧。

哦,No。這可是我第一個用Kotlin編寫的程式,還是先來一個Hello Kotlin!吧。

好的,先給介面中個TextView設定個id,就叫tv_message。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="cn.bmob.android.demos.mykotlinapplication.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_message"
        android:text="Hello World!" />
</RelativeLayout>

接下來編寫Activity中的程式碼:

package cn.bmob.android.demos.mykotlinapplication

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*;

class MainActivity : AppCompatActivity() {

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

        // 居然直接就能訪問到控制元件進行操作了
        tv_message.text = "Hello Kotlin!";
    }
}

先手動新增一句import

import kotlinx.android.synthetic.main.activity_main.*;

然後,給TextView設定”Hello Kotlin!”

tv_message.text = "Hello Kotlin!";

沒錯,不用findViewById就可以直接操作介面控制元件了。
寫好了Hello Kotlin! 我們現在就來執行這個程式吧。
這裡提醒一下,如果gradle檔案中不手動新增如下這段程式碼,那麼在執行的時候是會報錯的。

apply plugin: 'kotlin-android-extensions'

就是這個錯:
這裡寫圖片描述

所以這是我在使用Kotlin的時遇到的第一個坑,也做一個記錄,接下來執行程式可以正常的顯示Hello Kotlin。

這裡寫圖片描述