Kotlin在Android工程中的應用

來源:互聯網
上載者:User

Kotlin在Android工程中的應用
Kotlin在Android工程中的應用

@author ASCE1885的 Github 簡書 微博 CSDN
原文連結

簡介

Kotlin是由JetBrains設計的開放源碼的程式設計語言,它正在Java開發人員中變得越來越流行。Kotlin通常被吹捧為Java的繼承者,相比較Java而言,Kotlin提供更為豐富的開發經驗,因為它更現代,更具表現力和更簡介。

如果你在尋求Android開發的可替代程式設計語言,那麼應該試一下Kotlin。使用Kotlin,你可以很容易的在Android工程中替代Java或者與Java混合使用。

本文接下來將介紹在Android Studio工程中如何使用Kotlin和Kotlin外掛程式。

前置條件

繼續本文之前,你首先需要完成如下兩件事情:

將你的Andoid Studio更新到最新版本 理解Kotlin的基本文法

如果你不熟悉Kotlin程式設計語言的話,建議先閱讀Kotlin指南中的開始章節。

1. 安裝Kotlin外掛程式

在Android Studio的快速開始菜單中,選擇Configure>Plugins:

在開啟的頁面中,點擊底部的Install JetBrains plugin…:

在外掛程式列表中選擇或者搜尋Kotlin Extensions For Android並點擊右邊視窗的Install Plugin按鈕:<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxpbWcgYWx0PQ=="" src="http://www.bkjia.com/uploads/allimg/150701/04301W915-2.png" title="\" />

由於這個擴充外掛程式依賴於Kotlin外掛程式,因此會彈出一個對話方塊提示我們同時去下載它,點擊Yes按鈕開始外掛程式的下載:

當下載安裝完成之後,重啟Android Studio就可以啟用外掛程式了。

2. 建立Kotlin Activity

在Android Studio中,按右鍵工程包名在彈出的菜單中選擇New>Kotlin File:

在彈出的對話方塊中,輸入Activity的名字並在類型下拉式清單中選擇Class。我們把名字命名為MainActivity:

當類被建立出來後,你將會看到一個警告,提示你配置app模組來支援Kotlin:

單擊警告提示條的連結,在彈出的對話方塊中點擊OK按鈕選擇預設的Kotlin外掛程式版本即可:

為了配置你的工程支援Kotlin,Kotlin外掛程式修改了build.gradle檔案。點擊Sync Now按鈕就可以應用這些改動了:

到這裡,工程的配置完成了。讓我們回到剛才建立的Kotlin類來開始Kotlin的編程吧。

3. 使用Kotlin

為了保持例子的簡單,我們將展示如何建立一個Activity,它包含一個用於顯示String字串的TextView。

確保你的類繼承自Activity,並重寫其onCreate函數。當然,你要使用Kotlin的方式實現。如果你還不熟悉Kotlin,建議通過快速鍵Control+O來啟用Android Studio的代碼產生功能,從而得到正確的函數簽名:

產生之後,我們的類應該如下所示:

package com.hathy.kotlinsampleimport android.app.Activityimport android.os.Bundlepublic class MainActivity: Activity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)    }}

使用val關鍵字建立TextView的一個唯讀執行個體:

val myMessage = TextView(this)

調用TextView的setText函數設定要顯示的字串,接著調用setContentView將TextView設定給它:

myMessage.setText("Hello")setContentView(myMessage)

就像在Java Activity中,你也需要在AndroidManifest.xml檔案中聲明Kotlin Activity,以便讓Android系統識別到它。假如這是你工程中唯一的Activity,那麼manifest檔案看起來如下所示:

                        

現在你可以在你的Android裝置或者模擬器上運行這個app了。雖然Kotlin編譯器比Java編譯器稍微慢一點,但你可能察覺不到編譯時間的顯著變化。

4. 使用Kotlin的Android擴充外掛程式

Kotlin的Android擴充外掛程式使得開發人員可以像對待Activity屬性一樣對待定義在Activity的XML布局檔案中的組件。也就是說,如果使用這個外掛程式,你將不再需要調用findViewById。這些屬性因此被稱為合成屬性(synthetic properties)。

要在項目中使用這個特性,需要在app模組的build.gradle檔案中加入org.jetbrains.kotlin:kotlin-android-extensions作為構建指令碼依賴。不要忘了點擊Sync Now按鈕來同步這個改變到工程中:

buildscript {    dependencies {        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"    }}

現在讓我們建立一個和前面步驟建立的類似的Activity,但是使用布局XML檔案來定義TextView。建立一個布局XML檔案並命名為another_activity.xml。在這個檔案中,定義TextView,id為myMessage:

    

建立另一個Kotlin類AnotherActivity,繼承自Activity並重寫onCreate函數,實現如下所示:

package com.hathy.kotlinsampleimport android.app.Activityimport android.os.Bundlepublic class AnotherActivity: Activity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)    }}

在onCreate函數中調用setContentView並把剛才建立的布局XML檔案設定給它:

setContentView(R.layout.another_activity)

現在,你可以使用下面程式碼片段匯入TextView,而不是使用findViewById的方式:

import kotlinx.android.synthetic.another_activity.myMessage

如果布局檔案中存在其他的組件,你可以使用如下語句來一次性全部匯入:

import kotlinx.android.synthetic.another_activity.*

現在你可以通過使用id來訪問TextView,就像該TextView是Activity類的一個屬性一樣。例如,修改TextView顯示的字串:

myMessage.setText("Hello")
5. 將Java類轉換為Kotlin

我們可以使用Kotlin外掛程式將現存的Java類轉換成Kotlin類。為了嘗試這個特性,首先建立如下所示的Java類,它是一個列印兩個整數之和的簡單的Activity:

public class YetAnotherActivity extends Activity {    private int a,b;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        a=10;        b=20;        Log.d("MESSAGE", "The sum is "+(a+b));    }}

使用快速鍵Control+Alt+Shift+J,或者選擇菜單Code>Convert Java File to Kotlin File:

轉換後的Kotlin類如下所示:

public class YetAnotherActivity : Activity() {    private var a: Int = 0    private var b: Int = 0    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        a = 10        b = 20        Log.d("MESSAGE", "The sum is " + (a + b))    }}

除了檔案內容改變之外,檔案的副檔名也從.java變為了.kt。

總結

本文我們通過在Android Studio中安裝Kotlin外掛程式和Kotlin Android擴充外掛程式學到了如何在Android工程中使用Kotlin。由於Kotlin和Java在很大程度上可互操作,如果你還在學習Kotlin,那麼最好是逐步在你的Android項目中應用它。

為了學習更多的Kotlin相關知識,我建議瀏覽Kotlin指南。開始章節將會協助你儘快熟悉這門新語言。

文末美圖鑑賞

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.