iT邦幫忙

2026 iThome 鐵人賽

DAY 1
0
Software Development

Android 鐵人賽: 天命最高 - 陪伴大家一步步打造屬於自己的app系列 第 1

Java 已老,Kotlin 當立!踏出 Android 開發的第一步

  • 分享至 

  • xImage
  •  

從事 iOS 開發多年,近年開始投入 Android 與 Kotlin 開發。希望藉由這次 iThome 鐵人賽,把自己從 iOS 轉向 Android 的學習歷程完整記錄下來,也希望能幫助剛接觸 Kotlin 的朋友,以最輕鬆的方式踏入 Android 開發世界。

可以,這段可以寫得更有故事性,也呼應你的標題。


Java 已死?Kotlin 當立!

Android 開發的世界正在快速演進。

曾經,Java 是 Android 官方指定的開發語言,幾乎所有 Android App 都是以 Java 撰寫。然而,隨著 Google 在 2017 年正式宣布 Kotlin 成為 Android 官方支援語言,並在 2019 年提出 Kotlin First 策略後,Kotlin 已逐漸成為 Android 開發的主流語言。

如今,不論是 Jetpack Compose、Android Jetpack、KTX 擴充函式,甚至 Google 官方文件與教學,大多都以 Kotlin 為主要範例。對於想投入 Android 開發的新手而言,從 Kotlin 開始學習,已經是最自然、也是最有效率的選擇。

因此,本系列將以 Kotlin 為核心,從最基礎的語法開始,一步一步帶領大家學習 Android 開發,從建立第一支程式,到 Activity、Fragment、RecyclerView、Material Design、SQLite、Firebase、BLE、MQTT,以及近年最熱門的 Jetpack Compose,最後完成一個完整的 Android App 專案。


為什麼選擇 Kotlin?

選擇 Kotlin,不只是因為它是 Android 官方推薦語言,更因為它具備許多 Java 所沒有的優勢:

  • 語法更簡潔:用更少的程式碼完成相同功能,提高開發效率。
  • Null Safety:內建空值安全機制,大幅降低 NullPointerException 發生機率。
  • 100% 相容 Java:可與既有 Java 專案無縫整合,逐步導入 Kotlin。
  • 官方優先支援:Google 新推出的 Android API 與函式庫,多半優先提供 Kotlin 範例。
  • Coroutine 協程:以更簡單的方式處理非同步與多執行緒,大幅提升程式可讀性。
  • Jetpack Compose 最佳搭配:Android 新世代 UI 框架全面以 Kotlin 為核心設計。

對於曾經使用 Java 開發 Android 的工程師而言,Kotlin 不只是語法升級,更是開發思維的轉變;而對於初學者來說,直接從 Kotlin 開始,也能避免學習兩套不同語法所帶來的負擔。

所以,與其說是 「Java 已死,Kotlin 當立」,不如說是 Android 開發正式邁入 Kotlin 時代。Java 並沒有消失,它仍然廣泛存在於許多既有專案與企業系統中;但在 Android 新專案的開發上,Kotlin 已成為最值得學習、也是最具發展性的語言。


「工欲善其事,必先利其器。」

過去 Android 開發幾乎都是 Java 的天下,如今 Kotlin 已成為 Google 官方推薦的 Android 開發語言。如果你現在才準備投入 Android 開發,那麼 Kotlin 將會是最值得學習的第一門語言。


前言

從事 iOS 開發多年,近年開始接觸 Android 與 Kotlin,希望藉由這次 iThome 鐵人賽,完整記錄自己的 Android 學習歷程,也希望能幫助剛接觸 Android 的朋友,快速踏入 Kotlin 的世界。

本系列將從 Kotlin 最基礎開始,循序漸進介紹 Android 開發常用的技術,包括:

  • Kotlin 基本語法
  • Android Studio
  • Activity 與 Fragment
  • RecyclerView
  • ViewBinding
  • Material Design
  • SQLite
  • BLE 藍牙
  • MQTT
  • Firebase
  • Jetpack Compose
  • Android 專案實作

希望三十天後,我們都能完成一個屬於自己的 Android App。


Java 已老,Kotlin 當立!

如果十年前開始學 Android,大部分教材教的都是 Java。

但是現在,情況已經完全不同。

Google 在 Google I/O 2017 正式宣布 Kotlin 成為 Android 官方支援語言

到了 Google I/O 2019,Google 更宣布:

Kotlin First

代表 Android 新功能、新 API、新範例,都優先使用 Kotlin。

現在打開 Android Developers 官方網站,大部分範例都是 Kotlin。

Jetpack Compose 更完全以 Kotlin 開發。

因此,如果今天才開始學 Android,其實沒有理由再從 Java 開始。


為什麼選擇 Kotlin?

Kotlin 能快速取代 Java,不只是因為 Google 推廣,而是它真的比較好寫。

它擁有許多優點:

1. 程式碼更精簡

同樣功能,Kotlin 常常可以比 Java 少寫三、四成程式碼。

例如輸出一句話:

Java

System.out.println("Hello World");

Kotlin

println("Hello World")

是不是簡潔許多?


2. Null Safety

Android 最有名的錯誤就是:

NullPointerException

Kotlin 在語言設計時,就加入了 Null Safety

可以在編譯期間就避免許多空值錯誤。

後面幾天我們也會詳細介紹:

?
?.
?:
!!

這些都是 Kotlin 非常重要的特色。


3. 與 Java 完全相容

如果公司目前專案還是 Java,

不用擔心。

Kotlin 可以直接呼叫 Java。

Java 也可以呼叫 Kotlin。

所以大型專案可以慢慢轉移,不需要全部重寫。


4. Android 官方全面支援

目前 Google 官方文件幾乎都是 Kotlin。

包括:

  • Jetpack Compose
  • Room Database
  • ViewModel
  • LiveData
  • Navigation
  • Coroutine

全部都優先提供 Kotlin 範例。


5. Coroutine

以前 Java 做背景工作:

Thread
Handler
AsyncTask
Executor

程式非常複雜。

Kotlin 提供:

Coroutine

可以用同步方式撰寫非同步程式。

閱讀性高很多。


第一支 Kotlin 程式

所有 Kotlin 程式都會從

fun main()

開始。

例如:

fun main() {
    println("Hello, World!")
    println("This is kotlin class")
    println("早安")
}

執行結果:

Hello, World!
This is kotlin class
早安

以上就是 Kotlin 最基本的程式,也是之後所有 Android 開發的起點。


Kotlin 的變數

Kotlin 有兩種變數。

var

可以修改。

var age = 18

age = 20

val

不可修改。

val name = "Alex"

如果再次指定:

name = "Mary"

編譯器會直接報錯。

因此:

能用 val,就不要用 var。

這也是 Kotlin 官方建議的寫法。


Kotlin 可以自動判斷型別

Java:

String name = "Alex";
int age = 18;

Kotlin:

var name = "Alex"
var age = 18
var weight = 50.67

Kotlin 會自動推論:

String
Int
Double

這就是:

Type Inference(型別推論)

讓程式更簡潔。


String Template

Kotlin 最方便的功能之一。

以前 Java:

System.out.println("Name="+name);

Kotlin:

println("Name : $name")

甚至可以直接運算:

val value1 = 100
val value2 = 200

println("value1 + value2 = ${value1 + value2}")

執行結果:

value1 + value2 = 300

這就是 Kotlin 的 String Template


Kotlin 幾乎沒有分號

Java:

System.out.println("Hello");

Kotlin:

println("Hello")

分號 (;) 幾乎都可以省略。

讓程式看起來更乾淨、更容易閱讀。


今天學到了什麼?

今天主要認識了 Kotlin,以及它為什麼會成為 Android 官方語言。

本篇重點如下:

  • Kotlin 已成為 Android 官方推薦語言
  • 認識 Kotlin 的優勢
  • 第一支 Kotlin 程式
  • fun main()
  • println()
  • var
  • val
  • Type Inference(型別推論)
  • String Template
  • Kotlin 可以省略分號

這些都是之後 Android 開發每天都會使用到的基本語法,也是接下來課程的重要基礎。


本日重點整理

主題 說明
Kotlin Android 官方推薦語言
main() 程式進入點
println() 螢幕輸出
var 可修改變數
val 唯讀常數
Type Inference 自動推論型別
String Template $${} 字串模板
分號 Kotlin 可省略

Day 2 預告

下一篇將正式進入 Kotlin 基本資料型別(Data Types),介紹:

  • Byte
  • Short
  • Int
  • Long
  • Float
  • Double
  • Char
  • Boolean
  • Unsigned Types

並搭配實際程式範例,帶大家了解各種資料型別的使用方式,為後續 Android 開發建立穩固的基礎。


參考資料


參考資料:


系列文
Android 鐵人賽: 天命最高 - 陪伴大家一步步打造屬於自己的app1
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言