今年五月份的 Google I/O 上花竞,我們正式向全球宣布 Kotlin-first 的這一重要理念凶硅,Kotlin 將成為 Android 開發(fā)者的首選語言,十月份舉辦的 Android Dev Summit 2019 大會上,我們發(fā)布了使用 Kotlin API 開發(fā)的 Jetpack Compose開發(fā)者預覽版跟磨。
我們于近期開始連載了關于 Kotlin 遷移指南的系列文章,幫助開發(fā)者們順利遷移并開始使用 Kotlin 構建 Android 應用攒盈。本篇是本系列的下篇抵拘,我們將為您解答一些使用 Kotlin 構建應用時的常見問題。
您可以點擊下面鏈接回顧本系列的上篇和中篇:
在 Android 開發(fā)中使用 Kotlin 語言的常見問題解答
Android 為何將 Kotlin 語言列為一級支持語言型豁?
Kotlin 是一種與 Android 兼容的語言僵蛛,它不僅語法簡潔、更具表達性迎变,還具備類型安全和空值安全的特性充尉。它與 Java 語言可以無縫互通,熱愛 Java 語言的開發(fā)者可以在繼續(xù)使用 Java 語言的同時衣形,逐步加入 Kotlin 代碼并充分利用 Kotlin 庫驼侠,輕松完成轉(zhuǎn)換。此外谆吴,許多 Android 開發(fā)者已經(jīng)發(fā)現(xiàn) Kotlin 不僅可以提高開發(fā)速度倒源,還能為編程帶來更多樂趣,因此句狼,我們希望為這些 Kotlin 用戶提供更好的支持笋熬。您可以參閱?Kotlin官方網(wǎng)站,詳細了解 Kotlin 和 Android腻菇。
我已經(jīng)在使用 Kotlin 語言突诬,有哪些變化值得關注苫拍?
短期內(nèi)您將注意到的最大變化是: Android Studio 3.0 及更高版本中包含了經(jīng)過全面測試的 Kotlin 支持工具。我們相信旺隙,這一變化將為您帶來更輕松、更穩(wěn)定的開發(fā)體驗骏令。
如何在 Android Studio 中使用 Kotlin蔬捷?
Android Studio 3.0 及更高版本全面支持 Kotlin。以前榔袋,您需要添加 Kotlin 插件才能使用 Kotlin周拐;而現(xiàn)在,所有新發(fā)布的 Android Studio 版本中都內(nèi)置了這些工具凰兑。因此妥粟,您無需執(zhí)行任何額外步驟,就可以直接使用 Kotlin 文件創(chuàng)建新項目吏够,將 Java 語言代碼轉(zhuǎn)換成 Kotlin 代碼勾给,調(diào)試 Kotlin 代碼以及執(zhí)行其他操作。詳情請參閱 "Kotlin 使用入門"锅知。
如何在 Android Studio 中調(diào)試 Kotlin 代碼播急?
Kotlin 代碼的調(diào)試方法與 Java 代碼相同。您不需要執(zhí)行任何其他操作售睹。
IDE 還為 Kotlin 提供其他哪些類型的支持 (例如 Lint桩警、自動填充、重構等)昌妹?
從 Android Studio 3.0 開始捶枢,我們的 IDE 已為 Kotlin 提供全面的工具支持。但是飞崖,目前還存在一些已知問題和限制烂叔,我們正在努力解決。
關于在 Android Studio 中使用 Kotlin 的已知問題:https://developer.android.google.cn/studio/preview/kotlin-issues.html
Kotlin 前景如何蚜厉?
JetBrains 開發(fā)的 Kotlin 語言有著深思熟慮的設計理念长已,這是我們采納該語言的原因之一。Google 正在與 JetBrains 開展合作昼牛,確保開發(fā)者在整個開發(fā)過程中 (從語言到框架再到工具) 都能獲得出色的體驗术瓮。此外,我們非常期待通過雙方的努力贰健,為 Kotlin 語言創(chuàng)建一個非營利基金會以便進行后續(xù)的開發(fā)胞四。
Kotlin 是開源語言嗎?
Kotlin 的首選許可是 Apache Software License 2.0 版 ("Apache 2.0")伶椿,Kotlin 軟件的大部分內(nèi)容都是根據(jù) Apache 2.0 授權用戶使用辜伟。盡管該項目將盡可能遵循此首選許可氓侧,但也可能存在根據(jù)具體情況進行處理的例外情況。例如导狡,Kotlin 使用的部分第三方依賴項可能使用不同的開放源代碼許可约巷,但這些許可與 Apache 2 許可并不沖突。
如何在 Java 和 Kotlin 語言之間做出選擇旱捧?
您無需二選一独郎!您可以根據(jù)需要同時使用兩種語言。如果您需要了解 Kotlin 是否適合自己枚赡,可以在?Android 開發(fā)中試用 Kotlin 語言遮咖,也可以參閱這些 Kotlin 資源酷窥,詳細了解該語言酝碳。
我可以在 Kotlin 中調(diào)用 Android 或其他 Java 語言庫的 API 嗎畅姊?
可以。Kotlin 與 Java 語言具有互操作性卢肃。此設計讓 Kotlin 代碼可以透明地調(diào)用 Java 語言方法疲迂;對于 Kotlin 獨有的功能,可采用注釋輕松向 Java 代碼公開践剂。對于未使用任何 Kotlin 特有語義的 Kotlin 文件鬼譬,Java 代碼可以直接引用,無需添加任何注釋逊脯。兩相結合优质,您就可以同時使用 Java 代碼和 Kotlin 代碼。要了解詳情军洼,請參閱Kotlin 互操作文檔巩螃。
你們有 Android API 的 Kotlin 參考文檔嗎?
有匕争!我們正努力使所有 Android API 文檔都包含慣用 Kotlin 參考避乏。它們尚未準備就緒,但您可以在 Android 參考概覽中找到指向可用 Kotlin 參考的鏈接甘桑。如果您要尋找核心 Kotlin 語言參考拍皮,請查看Kotlin 標準庫參考。
我可以在同一個項目中同時使用 Java 文件和 Kotlin 文件嗎跑杭?
可以铆帽。您可以根據(jù)自己的喜好或多或少采用 Kotlin 語言進行開發(fā),然后利用 Kotlin 與 Java 的互操作性將 Kotlin 代碼與 Java 代碼結合在一起德谅。
我可以在 Kotlin 代碼中使用 C++ 代碼嗎爹橱?
可以,Kotlin 完全支持 JNI窄做。您只需使用 external 修飾符標記 JNI 方法即可愧驱。
如何將 Kotlin 代碼添加到我的新項目中慰技?
當您在 Android Studio 中創(chuàng)建新項目時,只需選中 Include Kotlin support 復選框即可组砚。有關詳情吻商,請參閱?Kotlin 使用入門。
如何將 Kotlin 代碼添加到我的現(xiàn)有項目中糟红?
在 Project 窗口中選擇相應模塊手报,然后依次選擇 File > New,選擇任意 Android 模板改化,然后選擇 Kotlin 作為 Source language。有關詳情枉昏,請參閱 Kotlin 使用入門陈肛。
如何將 Java 語言代碼轉(zhuǎn)換成 Kotlin 代碼?
打開 Java 文件兄裂,然后依次選擇 Code > Convert Java File to Kotlin File句旱。您也可以新建一個 Kotlin 文件 (File > New > Kotlin File/Class),然后將 Java 代碼粘貼到此文件中晰奖。界面上出現(xiàn)提示時谈撒,點擊 Yes,即可將 Java 代碼轉(zhuǎn)換成 Kotlin 代碼匾南。有關詳情啃匿,請參閱?Kotlin 使用入門。
你們會提供有關 Kotlin 的配套文檔蛆楞、示例溯乒、codelab 和模板嗎?
為了向 Java 和 Kotlin 語言用戶盡可能提供最實用的幫助豹爹,我們正在努力完善我們的文檔和教程資料裆悄。與此同時,開發(fā)者可以借助 Kotlin 與 Java 語言之間出色的互操作性臂聋,并利用相關功能在 Android Studio 中將 Java 語言代碼自動轉(zhuǎn)換成 Kotlin 代碼光稼。
Kotlin 在 Android 開發(fā)中能實現(xiàn)協(xié)程嗎?能實現(xiàn)異步/等候嗎孩等?
Kotlin 協(xié)程目前應該可以實現(xiàn)艾君,但這些特性還處于實驗設計階段。因此瞎访,Kotlin 不能保證它們未來的可用狀態(tài)腻贰,Android 自然也無法做出承諾。
Kotlin 對 APK 大小/方法數(shù)有什么影響扒秸?
Kotlin 運行時會導致您的調(diào)試 APK 增加大約 7,000 個方法和約 1MB 的大小播演。如果您使用 Kotlin 替換項目中的另一個庫 (例如 Guava 或 RxJava)冀瓦,凈影響可能會降低。如果您像優(yōu)化其他應用代碼和庫一樣写烤,使用 ProGuard 對 APK 進行發(fā)布前優(yōu)化翼闽,APK 的大小也會減小。
使用 Kotlin 會影響性能嗎洲炊?
使用 Kotlin 不會對性能產(chǎn)生直接影響感局,但就像使用 Java 語言一樣,您應該精心考慮如何使用這種語言暂衡。例如询微,在新的集合實例間重復復制會影響 GC 性能,調(diào)用允許非空類型的方法會導致調(diào)用空值檢查方法 (當然狂巢,您可以在編譯器中使用 -Xno-param-assertions 停用運行時空值檢查)撑毛。
Kotlin 支持哪些 Android 版本?
所有版本都支持唧领!Kotlin 與 JDK 6 兼容藻雌,因此使用 Kotlin 語言開發(fā)的應用可以在較早版本的 Android 上安全運行。
如果您對在 Android 開發(fā)中使用 Kotlin 有任何疑問或者想法斩个,歡迎在評論區(qū)和我們分享胯杭。
點擊這里即刻使用 Kotlin 打造精彩 Android 應用