首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Kotlin 開發環境搭建與 Android 實戰入門:AS 配置、語法特性、Java 互操作全攻略

     編輯:Java 相關知識

Kotlin 簡介

  • JetBrains 開發,JVM 靜態類型語言,2017 Google I/O 宣布 Android 官方一級語言
  • 設計目標:簡潔、安全、100% Java 互操作、輕量(~6k 方法數)
  • 核心特性:空安全、擴展函數、協程、數據類、密封類、類型推導

Android Studio 環境配置

  1. Configure → Plugins → Marketplace → 搜索 Kotlin → Install
  2. 重啟 AS,新建項目自動包含 Kotlin 支持
  3. 現有 Java 項目:Code → Convert Java File to Kotlin File (Ctrl+Alt+Shift+K)

模塊級 build.gradle 配置

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android' // Kotlin Android 插件
}

android {
    // ...
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    // Kotlin Android Extensions (合成屬性) 已棄用,建議用 ViewBinding
}

Hello World 實戰

佈局文件 content_main.xml

<TextView
    android:id="@+id/textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

Activity 代碼

package com.steveyg.hellokotlin

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.content_main.* // 合成屬性導入

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        textview.text = "Hello Kotlin!" // 直接操作 ID,無需 findViewById
    }
}

Kotlin 與 Java 深度互操作

Kotlin 調用 Java

// Java 類
public class Demo {
    public String getType() { return "Java"; }
    public void setType(String t) {}
    public void printInfo() {}
}

// Kotlin 使用
val demo = Demo()
demo.type = "Kotlin"        // 自動識別 setter
val t = demo.type           // 自動識別 getter
demo.printInfo()            // 普通方法直呼

規則:getXxx/setXxx 自動映射為屬性 xxx,布爾型 isXxx 同理。

Java 調用 Kotlin

// Kotlin 類
class KotlinDemo {
    fun getType(): String = "Kotlin"
    @JvmStatic fun staticMethod() {} // 靜態方法需註解
    @JvmField val CONST = "CONST"    // 靜態常量
    fun sayHello(@JvmName("greet") name: String) {} // 重命名避開關鍵字
}
// Java 使用
new KotlinDemo().getType();
KotlinDemo.staticMethod();
System.out.println(KotlinDemo.CONST);

常見語法對照表

JavaKotlin
String s = "a";val s = "a" (不可變) / var s = "a"
if (a == null) ...a?.let { ... } / a ?: default
for (int i=0; i<n; i++)for (i in 0 until n) / repeat(n) { ... }
new Thread(() -> {}).start()thread { ... }
list.stream().map().collect()list.map { ... }

空安全機制

var nonNull: String = "abc"      // 編譯期保證非空
var nullable: String? = null      // 可空類型
val len = nullable?.length ?: 0   // 安全調用 + Elvis 操作符
nullable!!.length                 // 強制非空 (拋 NPE 風險)

項目源碼

GitHub:helloKotlin | 本站下載:源碼包

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved