Kotlin在Android工程中的應(yīng)用
創(chuàng)新互聯(lián)建站是專業(yè)的光澤網(wǎng)站建設(shè)公司,光澤接單;提供網(wǎng)站設(shè)計制作、做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行光澤網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
原文鏈接
簡介
Kotlin是由JetBrains設(shè)計的開放源碼的編程語言,它正在Java開發(fā)者中變得越來越流行。Kotlin通常被吹捧為Java的繼承者,相比較Java而言,Kotlin提供更為豐富的開發(fā)經(jīng)驗,因為它更現(xiàn)代,更具表現(xiàn)力和更簡介。
如果你在尋求Android開發(fā)的可替代編程語言,那么應(yīng)該試一下Kotlin。使用Kotlin,你可以很容易的在Android工程中替代Java或者與Java混合使用。
本文接下來將介紹在Android Studio工程中如何使用Kotlin和Kotlin插件。
前置條件
繼續(xù)本文之前,你首先需要完成如下兩件事情:
將你的Andoid Studio更新到最新版本理解Kotlin的基本語法
如果你不熟悉Kotlin編程語言的話,建議先閱讀Kotlin指南中的開始章節(jié)。
1. 安裝Kotlin插件
在Android Studio的快速開始菜單中,選擇Configure>Plugins:
在打開的頁面中,點擊底部的Install JetBrains plugin...:
在插件列表中選擇或者搜索Kotlin Extensions For Android并點擊右邊窗口的Install Plugin按鈕:
由于這個擴展插件依賴于Kotlin插件,因此會彈出一個對話框提示我們同時去下載它,點擊Yes按鈕開始插件的下載:
當下載安裝完成之后,重啟Android Studio就可以激活插件了。
2. 創(chuàng)建Kotlin Activity
在Android Studio中,右鍵單擊工程包名在彈出的菜單中選擇New>Kotlin File:
在彈出的對話框中,輸入Activity的名字并在類型下拉列表中選擇Class。我們把名字命名為MainActivity:
當類被創(chuàng)建出來后,你將會看到一個警告,提示你配置app模塊來支持Kotlin:
單擊警告提示條的鏈接,在彈出的對話框中點擊OK按鈕選擇默認的Kotlin插件版本即可:
為了配置你的工程支持Kotlin,Kotlin插件修改了build.gradle文件。點擊Sync Now按鈕就可以應(yīng)用這些改動了:
到這里,工程的配置完成了。讓我們回到剛才創(chuàng)建的Kotlin類來開始Kotlin的編程吧。
3. 使用Kotlin
為了保持例子的簡單,我們將展示如何創(chuàng)建一個Activity,它包含一個用于顯示String字符串的TextView。
確保你的類繼承自Activity,并重寫其onCreate函數(shù)。當然,你要使用Kotlin的方式實現(xiàn)。如果你還不熟悉Kotlin,建議通過快捷鍵Control+O來激活A(yù)ndroid Studio的代碼生成功能,從而得到正確的函數(shù)簽名:
生成之后,我們的類應(yīng)該如下所示:
package com.hathy.kotlinsample import android.app.Activity import android.os.Bundle public class MainActivity: Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } }
使用val關(guān)鍵字創(chuàng)建TextView的一個只讀實例:
val myMessage = TextView(this)
調(diào)用TextView的setText函數(shù)設(shè)置要顯示的字符串,接著調(diào)用setContentView將TextView設(shè)置給它:
myMessage.setText("Hello") setContentView(myMessage)
就像在Java Activity中,你也需要在AndroidManifest.xml文件中聲明Kotlin Activity,以便讓Android系統(tǒng)識別到它。假如這是你工程中唯一的Activity,那么manifest文件看起來如下所示:
<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
現(xiàn)在你可以在你的Android設(shè)備或者模擬器上運行這個app了。雖然Kotlin編譯器比Java編譯器稍微慢一點,但你可能察覺不到編譯時間的顯著變化。
4. 使用Kotlin的Android擴展插件
Kotlin的Android擴展插件使得開發(fā)者可以像對待Activity屬性一樣對待定義在Activity的XML布局文件中的組件。也就是說,如果使用這個插件,你將不再需要調(diào)用findViewById。這些屬性因此被稱為合成屬性(synthetic properties)。
要在項目中使用這個特性,需要在app模塊的build.gradle文件中加入org.jetbrains.kotlin:kotlin-android-extensions作為構(gòu)建腳本依賴。不要忘了點擊Sync Now按鈕來同步這個改變到工程中:
buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" } }
現(xiàn)在讓我們創(chuàng)建一個和前面步驟創(chuàng)建的類似的Activity,但是使用布局XML文件來定義TextView。創(chuàng)建一個布局XML文件并命名為another_activity.xml。在這個文件中,定義TextView,id為myMessage:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Large Text" android:id="@+id/myMessage" /> </LinearLayout>
新建另一個Kotlin類AnotherActivity,繼承自Activity并重寫onCreate函數(shù),實現(xiàn)如下所示:
package com.hathy.kotlinsample import android.app.Activity import android.os.Bundle public class AnotherActivity: Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } }
在onCreate函數(shù)中調(diào)用setContentView并把剛才創(chuàng)建的布局XML文件設(shè)置給它:
setContentView(R.layout.another_activity)
現(xiàn)在,你可以使用下面代碼片段導(dǎo)入TextView,而不是使用findViewById的方式:
import kotlinx.android.synthetic.another_activity.myMessage
如果布局文件中存在其他的組件,你可以使用如下語句來一次性全部導(dǎo)入:
import kotlinx.android.synthetic.another_activity.*
現(xiàn)在你可以通過使用id來訪問TextView,就像該TextView是Activity類的一個屬性一樣。例如,修改TextView顯示的字符串:
myMessage.setText("Hello")
5. 將Java類轉(zhuǎn)換為Kotlin
我們可以使用Kotlin插件將現(xiàn)存的Java類轉(zhuǎn)換成Kotlin類。為了嘗試這個特性,首先創(chuàng)建如下所示的Java類,它是一個打印兩個整數(shù)之和的簡單的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:
轉(zhuǎn)換后的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)) } }
除了文件內(nèi)容改變之外,文件的擴展名也從.java變?yōu)榱?kt。
總結(jié)
本文我們通過在Android Studio中安裝Kotlin插件和Kotlin Android擴展插件學到了如何在Android工程中使用Kotlin。由于Kotlin和Java在很大程度上可互操作,如果你還在學習Kotlin,那么最好是逐步在你的Android項目中應(yīng)用它。
為了學習更多的Kotlin相關(guān)知識,我建議瀏覽Kotlin指南。開始章節(jié)將會幫助你盡快熟悉這門新語言。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
分享標題:Kotlin在Android工程中的應(yīng)用詳解
網(wǎng)頁鏈接:http://bm7419.com/article40/psdieo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站排名、關(guān)鍵詞優(yōu)化、網(wǎng)站營銷、微信小程序、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)