Android 中的 Kotlin 常見問題

為什麼 Android 能讓 Kotlin 成為一流的支援語言?

Kotlin 是與 Android 相容的語言,既簡潔扼要,又意涵豐富,且其設計不會對類型和空值產生影響。Kotlin 可與 Java 程式設計語言完美搭配運作,讓喜歡 Java 的開發人員能繼續使用 Java,同時逐步新增 Kotlin 程式碼,並充分利用 Kotlin 程式庫。此外,許多 Android 開發人員也發現,Kotlin 不僅能加快開發速度,也使開發作業更增樂趣,因此 Google 希望為這些 Kotlin 使用者提供更完善的支援機制。進一步瞭解「Android 以 Kotlin 優先的做法」。

如何搭配 Android Studio 使用 Kotlin?

Android Studio 提供完整的 Kotlin 支援機制。Android Studio 的所有新版本都支援使用 Kotlin 檔案建立新專案、將 Java 語言程式碼轉換為 Kotlin 程式碼,以及對 Kotlin 程式碼偵錯等功能。

如何在 Android Studio 中對 Kotlin 偵錯?

對 Kotlin 偵錯的運作方式,與對 Java 程式碼偵錯的方式相同。只要執行相同動作即可。

系統對 Kotlin 還提供哪些 IDE 支援功能 (例如 Lint、

自動完成和重構)?

Android Studio 為 Kotlin 提供全面的工具支援。

Kotlin 的前景如何?

JetBrains 在 Kotlin 的設計上極盡巧思,是這種語言接受度高的原因之一。Google 與 JetBrains 攜手合作,從語言、架構到工具,均確保開發人員獲得愉悅的整體體驗。我們很高興兩家公司能攜手合作,將 Kotlin 發展成非營利的基礎語言。

Kotlin 是否為開放原始碼?

Kotlin 的偏好授權方式為 Apache 軟體授權 2.0 版 (「Apache 2.0」),而 Kotlin 軟體的多數功能也是以此方式授權。雖然該專案會盡力遵循這種偏好的授權方式,但可能會遇到例外狀況,需要視個別案件處理。例如,Kotlin 使用的某些第三方依附元件會依不同的開放原始碼授權方式取得授權,但這些授權仍與 Apache 2.0 授權相容。

Java 語言和 Kotlin 語言,如何取捨?

無須取捨!您可以同時使用這兩種語言。如果不確定 Kotlin 是否符合您的需求,可以在 Android 上試用,或透過這些 Kotlin 資源進一步瞭解這種語言。

是否可透過 Kotlin 呼叫 Android 或其他 Java 語言程式庫 API?

可以。Kotlin 具有 Java 語言的互通性。這項設計可讓 Kotlin 程式碼公開呼叫 Java 語言方法,結合註解後,即可輕鬆對 Java 程式碼揭露 Kotlin 專屬功能。如果 Kotlin 檔案沒有使用任何 Kotlin 專用語意,Java 程式碼就能直接參照,完全不需要任何註解。結合註解後,您可以精細融合 Java 程式碼與 Kotlin 程式碼。詳情請參閱 Kotlin 的互通性說明文件

是否有適用於 Android API 的 Kotlin 參考文件?

有!Google 正努力提供所有 Android API 說明文件和符合 Kotlin 語言習慣的參考資料。您可以在 Android 參考資料總覽頁面中找到可用的 Kotlin 參考文件連結。如需核心 Kotlin 語言參考資料,請參閱 Kotlin 標準程式庫參考資料

是否可在同一個專案中使用 Java 檔案和 Kotlin 檔案?

可以。您可以視需要採用 Kotlin 程式碼,並透過 Kotlin 與 Java 的互通性與 Java 程式碼搭配使用。

是否可搭配 C++ 使用 Kotlin?

可以,Kotlin 提供完整的 JNI 支援機制。請使用外部修飾符標示 JNI 方法。

如何將 Kotlin 加入新的專案內?

在建立新專案時,Kotlin 如今是 Android Studio 的預設語言。詳情請參閱「建立專案」

如何將 Kotlin 加入現有專案內?

在「Project」視窗中選取模組,然後依序選取「File」>「New」。 選取任何 Android 範本,然後選擇「Kotlin」做為「Source language」。詳情請參閱「將 Kotlin 新增至現有應用程式」一文。

如何將 Java 語言程式碼轉換為 Kotlin?

開啟 Java 檔案,依序選取「Code」>「Convert Java File to Kotlin File」。您也可以建立新的 Kotlin 檔案 (「File」>「New」>「Kotlin File/Class」),然後將 Java 程式碼貼到該檔案中。當系統顯示提示時,按一下「Yes」將程式碼轉換為 Kotlin。

Kotlin 中是否有平行文件、範例、程式碼研究室和範本?

我們致力於使說明文件和教學資料盡量適合 Java 和 Kotlin 語言的使用者使用。同時,開發人員可以利用 Kotlin 與 Java 語言卓越的互通性,以及在 Android Studio 中自動將 Java 語言程式碼翻譯成 Kotlin 的功能。

Android 是否支援 Kotlin 協同程式?是否可非同步/等待?

Kotlin 協同程式可在 Kotlin 1.3 以上版本中穩定執行,在 Android 上也正常執行。如要進一步瞭解如何搭配 Android 使用協同程式,請參閱「使用 Kotlin 協同程式提升應用程式效能」

使用 Kotlin 是否會造成任何效能影響?

Kotlin 不會對效能造成直接影響,但如同 Java 語言一樣,請仔細考慮 Kotlin 的使用方式。例如,在新的集合執行個體之間重複複製,可能會影響 GC 效能,而呼叫可接受非空值類型的方法,會為空值檢查新增方法呼叫 (您可透過 -Xno-param-assertions 停用編譯器內的執行階段空值檢查)。

Kotlin 支援哪些 Android 版本?

所有版本!Kotlin 與 JDK 6 相容,因此採用 Kotlin 的應用程式可以安全地在較低的 Android 版本上執行。

可以在哪裡進一步瞭解 Kotlin 的使用方式?

請參閱「用於 Kotlin 入門的其他資源」一文。