初探kotlin建立第一個kotlin應用
阿新 • • 發佈:2019-01-25
使用kotlin開發Android建立Kotlin工程!
寫在前面:
Kotlin是一種在 Java虛擬機器上執行的靜態型別程式語言,它主要是由俄羅斯聖彼得堡的JetBrains開發團隊所發展出來的程式語言。該語言有幾個優勢
- 簡潔
它大大減少你需要寫的樣板程式碼的數量。 - 安全
避免空指標異常等整個類的錯誤。 - 通用
構建伺服器端程式、Android 應用程式或者在瀏覽器中執行的前端程式。 - 互操作性
通過 100% Java 互操作性,利用 JVM 既有框架和庫。
Flipboard中國的Android專案確定了正式將Kotlin作為專案開發語言,這就意味著新增的程式碼檔案將以Kotlin程式碼格式出現,而且同時舊的Java程式碼也將會陸陸續續翻譯成Kotlin程式碼。使用Kotlin的開發者都會被它的簡潔,高效,快捷等等特點震撼,這篇文章的目的主要是講一下如何使用Androidstudio 建立一個kotlin應用。
1. 為Android Studio安裝kotlin外掛
在Android Studio中開啟Settings->Plugins->Browse Repositories,輸入kotlin搜尋
2. 建立Android專案
在Android Studio新建一個Android 工程kotlinTest,跟普通Android工程建立一樣。開啟File->New Projects->Application Name,輸入”kotlinTest”。
3. 配置工程
在工程的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'
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)
}
}
分析語法變化:
- extends 變成 :
- 函式定義關鍵字變為了fun
- 分號消失
- 變數名稱寫在型別之前