使用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。