使用 Kotlin 構建的常見問題解答 | Kotlin 遷移指南 (下篇)

今年五月份的 Google I/O 上,咱們正式向全球宣佈 Kotlin-first 的這一重要理念,Kotlin 將成爲 Android 開發者的首選語言,十月份舉辦的 Android Dev Summit 2019 大會上,咱們發佈了使用 Kotlin API 開發的 Jetpack Compose 開發者預覽版。html

咱們於近期開始連載了關於 Kotlin 遷移指南的系列文章,幫助開發者們順利遷移並開始使用 Kotlin 構建 Android 應用。本篇是本系列的下篇,咱們將爲您解答一些使用 Kotlin 構建應用時的常見問題。android

您能夠點擊下面連接回顧本系列的上篇和中篇:編程

在 Android 開發中使用 Kotlin 語言的常見問題解答

Android 爲什麼將 Kotlin 語言列爲一級支持語言?api

Kotlin 是一種與 Android 兼容的語言,它不只語法簡潔、更具表達性,還具有類型安全和空值安全的特性。它與 Java 語言能夠無縫互通,熱愛 Java 語言的開發者能夠在繼續使用 Java 語言的同時,逐步加入 Kotlin 代碼並充分利用 Kotlin 庫,輕鬆完成轉換。此外,許多 Android 開發者已經發現 Kotlin 不只能夠提升開發速度,還能爲編程帶來更多樂趣,所以,咱們但願爲這些 Kotlin 用戶提供更好的支持。您能夠參閱 Kotlin 官方網站,詳細瞭解 Kotlin 和 Android安全

我已經在使用 Kotlin 語言,有哪些變化值得關注?框架

短時間內您將注意到的最大變化是: Android Studio 3.0 及更高版本中包含了通過全面測試的 Kotlin 支持工具。咱們相信,這一變化將爲您帶來更輕鬆、更穩定的開發體驗。異步

如何在 Android Studio 中使用 Kotlin?jvm

Android Studio 3.0 及更高版本全面支持 Kotlin。之前,您須要添加 Kotlin 插件才能使用 Kotlin;而如今,全部新發布的 Android Studio 版本中都內置了這些工具。所以,您無需執行任何額外步驟,就能夠直接使用 Kotlin 文件建立新項目,將 Java 語言代碼轉換成 Kotlin 代碼,調試 Kotlin 代碼以及執行其餘操做。詳情請參閱 "Kotlin 使用入門"。工具

如何在 Android Studio 中調試 Kotlin 代碼?性能

Kotlin 代碼的調試方法與 Java 代碼相同。您不須要執行任何其餘操做。

IDE 還爲 Kotlin 提供其餘哪些類型的支持 (例如 Lint、自動填充、重構等)?

從 Android Studio 3.0 開始,咱們的 IDE 已爲 Kotlin 提供全面的工具支持。可是,目前還存在一些已知問題和限制,咱們正在努力解決。

Kotlin 前景如何?

JetBrains 開發的 Kotlin 語言有着深思熟慮的設計理念,這是咱們採納該語言的緣由之一。Google 正在與 JetBrains 開展合做,確保開發者在整個開發過程當中 (從語言到框架再到工具) 都能得到出色的體驗。此外,咱們很是期待經過雙方的努力,爲 Kotlin 語言建立一個非營利基金會以便進行後續的開發。

Kotlin 是開源語言嗎?

Kotlin 的首選許但是 Apache Software License 2.0 版 ("Apache 2.0"),Kotlin 軟件的大部份內容都是根據 Apache 2.0 受權用戶使用。儘管該項目將盡量遵循此首選許可,但也可能存在根據具體狀況進行處理的例外狀況。例如,Kotlin 使用的部分第三方依賴項可能使用不一樣的開放源代碼許可,但這些許可與 Apache 2 許可並不衝突。

如何在 Java 和 Kotlin 語言之間作出選擇?

您無需二選一!您能夠根據須要同時使用兩種語言。若是您須要瞭解 Kotlin 是否適合本身,能夠在 Android 開發中試用 Kotlin 語言,也能夠參閱這些 Kotlin 資源,詳細瞭解該語言。

我能夠在 Kotlin 中調用 Android 或其餘 Java 語言庫的 API 嗎?

能夠。Kotlin 與 Java 語言具備互操做性。此設計讓 Kotlin 代碼能夠透明地調用 Java 語言方法;對於 Kotlin 獨有的功能,可採用註釋輕鬆向 Java 代碼公開。對於未使用任何 Kotlin 特有語義的 Kotlin 文件,Java 代碼能夠直接引用,無需添加任何註釋。兩相結合,您就能夠同時使用 Java 代碼和 Kotlin 代碼。要了解詳情,請參閱 Kotlin 互操做文檔

大家有 Android API 的 Kotlin 參考文檔嗎?

有!咱們正努力使全部 Android API 文檔都包含慣用 Kotlin 參考。它們還沒有準備就緒,但您能夠在 Android 參考概覽中找到指向可用 Kotlin 參考的連接。若是您要尋找核心 Kotlin 語言參考,請查看 Kotlin 標準庫參考

我能夠在同一個項目中同時使用 Java 文件和 Kotlin 文件嗎?

能夠。您能夠根據本身的喜愛或多或少採用 Kotlin 語言進行開發,而後利用 Kotlin 與 Java 的互操做性將 Kotlin 代碼與 Java 代碼結合在一塊兒。

我能夠在 Kotlin 代碼中使用 C++ 代碼嗎?

能夠,Kotlin 徹底支持 JNI。您只需使用 external 修飾符標記 JNI 方法便可。

如何將 Kotlin 代碼添加到個人新項目中?

當您在 Android Studio 中建立新項目時,只需選中 Include Kotlin support 複選框便可。有關詳情,請參閱 Kotlin 使用入門

如何將 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,便可將 Java 代碼轉換成 Kotlin 代碼。有關詳情,請參閱 Kotlin 使用入門

大家會提供有關 Kotlin 的配套文檔、示例、codelab 和模板嗎?

爲了向 Java 和 Kotlin 語言用戶儘量提供最實用的幫助,咱們正在努力完善咱們的文檔和教程資料。與此同時,開發者能夠藉助 Kotlin 與 Java 語言之間出色的互操做性,並利用相關功能在 Android Studio 中將 Java 語言代碼自動轉換成 Kotlin 代碼。

Kotlin 在 Android 開發中能實現協程嗎?能實現異步/等候嗎?

Kotlin 協程目前應該能夠實現,但這些特性還處於實驗設計階段。所以,Kotlin 不能保證它們將來的可用狀態,Android 天然也沒法作出承諾。

Kotlin 對 APK 大小/方法數有什麼影響?

Kotlin 運行時會致使您的調試 APK 增長大約 7,000 個方法和約 1MB 的大小。若是您使用 Kotlin 替換項目中的另外一個庫 (例如 Guava 或 RxJava),淨影響可能會下降。若是您像優化其餘應用代碼和庫同樣,使用 ProGuard 對 APK 進行發佈前優化,APK 的大小也會減少。

使用 Kotlin 會影響性能嗎?

使用 Kotlin 不會對性能產生直接影響,但就像使用 Java 語言同樣,您應該精心考慮如何使用這種語言。例如,在新的集合實例間重複複製會影響 GC 性能,調用容許非空類型的方法會致使調用空值檢查方法 (固然,您能夠在編譯器中使用 -Xno-param-assertions 停用運行時空值檢查)。

Kotlin 支持哪些 Android 版本?

全部版本都支持!Kotlin 與 JDK 6 兼容,所以使用 Kotlin 語言開發的應用能夠在較早版本的 Android 上安全運行。

若是您對在 Android 開發中使用 Kotlin 有任何疑問或者想法,歡迎在評論區和咱們分享。

點擊這裏即刻使用 Kotlin 打造精彩 Android 應用

相關文章
相關標籤/搜索