## **Kotlin在Android中FAQ(常見問題解答)**
**為什么Android將Kotlin作為最優先支持的語言?**
Kotlin是一種和Android兼容的語言,簡潔,富有表現力,并且被設計為類型和空安全。它和Java語言無縫協作,因此,它使熱愛Java語言的開發人員能夠輕松地繼續使用它,同時也增加了Kotlin代碼并利用了Kotlin庫。此外,許多Android開發者已經發現,Kotlin讓開發變得更快更有趣。所以我們想更好地支持這些Kotlin用戶。你可以在這里閱讀更多關于Kotlin和Android的文章。
**我已經使用了Kotlin語言,對我有什么改變?**
在短期內,我們認為你會注意到的最大變化是Android Studio 3.0和更高版本包含了完全測試的Kotlin支持。我們認為這將為您帶來更簡單、更穩定的開發體驗。
**我如何使在Android Studio中使用Kotlin ?**
在Android Studio 3.0和更高版本中完全支持Kotlin。以前,使用Kotlin需要添加Kotlin插件,但是所有新版本的Android Studio都內置了這些工具。因此,您可以不需要任何額外懂得步驟,使用Kotlin文件創建新的項目,將Java語言代碼轉換為Kotlin,調試Kotlin代碼,以及更多。查看Get Start with Kotlin。
**如何在Android Studio中調試Kotlin ?**
調試Kotlin的工作就像調試Java代碼一樣。你不需要做任何不同的事情。
**為Kotlin提供了什么樣的其它IDE支持(如lint、autocomplete、refactorings等)?**
在Android Studio 3.0中,IDE為Kotlin提供了完整的工具支持。然而,我們正在研究一些已知的問題和限制。
**Kotlin的未來會怎么樣?**
JetBrains對Kotlin設計的深思熟慮是我們擁抱語言的原因之一。谷歌正在與JetBrains合作,以確保從語言、框架到工具的全面開發。而且,我們很高興能共同努力將Kotlin語言轉換到一個非盈利的基金會。
**Kotlin開源嗎?**
Kotlin的首選許可證是Apache Software License,Version("Apache 2.0"),而且大多數Kotlin軟件都是獲得Apache 2.0下許可的。雖然該項目將努力堅持使用優先許可證,可能在一些個案的處理上會有一些例外情況。例如,Kotlin使用的某些第三方依賴項可能在不同的開放源碼許可下獲得許可,這些許可證仍然與Apache 2許可證兼容。
**我如何在Java和Kotlin語言之間進行選擇?**
你不需要選擇!您可以同時使用這兩種方式。如果你需要幫助來探索Kotlin是否適合你,你可以在Android上試試,或者使用these Kotlin resouces中學習更多關于語言知識。
**我可以從Kotlin調用Android或其它Java語言庫的API嗎?**
是的。Kotlin提供Java語言互操作。
**我可以在同一個項目中同時使用Java文件和Kotlin文件嗎?**
是的。你可以使用Kotlin's interoperability with Java,根據你的喜歡或多或少的采用Kotlin,并將其與Java代碼混合。
**我能在Kotlin中使用c++嗎?**
是的,Kotlin完全支持JNI。只需使用the external modifier簡單標記JNI方法。
**我如何將Kotlin添加到我的新項目中?**
當您在Android Studio中創建一個新項目時,只需選擇Include Kotlin support復選框。更多相關信息,請查閱Get Started with Kotlin。
**我如何將Kotlin添加到現有的項目中?**
在Project窗口中選擇你的模塊,然后選擇File>New,選擇任何Android模板,然后選擇Kotlin作為Source language。更多相關信息,請查閱Get Started with Kotlin。
**我如何將Java語言代碼轉換為Kotlin ?**
打開Java文件,并選擇Code>Convert Java File to Kotlin File。或者,創建一個新的Kotlin文件(File>New> Kotlin File/Clas),然后在提示時將Java代碼粘貼到該文件中,單擊Yes將代碼轉換為Kotlin。更多相關信息,請查閱Get Started with Kotlin。
**在Kotlin中是否會有并行文檔,樣本,codelabs,和模板?**
我們正在努力使我們的文檔和教育材料盡可能地對Java和Kotlin語言用戶都有用。與此同時,開發人員可以依賴于Kotlin與Java語言的優秀互操作性,以及在Android Studio中自動將Java語言代碼轉換為Kotlin的能力。
**Kotlin在Android上如何協同工作?如何異步/等待?**
Kotlin協同目前應該工作,但它們目前是一個實驗設計。因此,Kotlin對未來的地位沒有任何保證,因此,Android也沒有。
**Kotlin對APK大小/方法數量有什么影響?**
Kotlin運行時為你的調試APK增加了大約7000種方法和1MB。如果你使用Kotlin來代替項目中的另一個庫,得到影響可能會更小,比如Guava或RxJava。當你使用Proguard優化APK時,這個大小也會減少,就像其他應用代碼和庫一樣。
**使用Kotlin有什么性能影響嗎?**
Kotlin沒有直接的性能影響,但是就像使用Java語言一樣,您應該考慮如何使用它。例如,在新集合實例之間重復復制可能會影響GC性能,調用一個接受非空類型的方法,添加一個方法調用為空檢查(雖然您可以在編譯器中使用-Xno-param-assertions禁止運行時空檢查)。
**Kotlin支持Android的哪些版本 ?**
所有版本!Kotlin與JDK 6兼容,所以使用Kotlin的應用可以安全地運行在較老的Android版本上。
**我在哪里可以學到更多關于使用Kotlin的知識?**
閱讀Resource to Learn Kotlin。
- 開發
- Kotlin和Android
- 開始使用Kotlin
- Kotlin在Android中FAQ
- 學習Kotlin的資源
- 參考
- 綜述
- Kotlin適合于Android
- 基本介紹
- 基本語法
- Idioms
- 基礎
- 基本類型
- 包
- 控制流
- 返回和跳轉
- 類和對象
- 類和繼承
- 屬性和字段
- 接口
- 可見性修飾符
- 擴展
- 數據類
- 密封類
- 泛型
- Nested Classes
- 枚舉類
- Objects
- Delegation
- Delegated Properties
- 函數和Lambda
- 函數
- Lambda
- 內聯函數
- Coroutines
- 其它
- 解構聲明
- 集合
- 范圍
- 類型檢查和轉換
- This表達式
- 相等
- 操作符重載
- 空安全
- 異常
- 注解
- 反射
- 類型安全構建器
- 類型別名
- 核心庫
- 標準庫
- Java互操作
- 在Kotlin中調用Java
- 在Java中調用Kotlin
- 工具
- Documenting Kotlin Code
- Using Kapt
- Using Gradle
- Compiler plugins
- 學習指南
- Getting started
- Getting Started With IDEA
- Working with the Command Line Compiler
- Konas
- Android
- Getting Started With Android Development
- Kotlin Android Extensions
- Android Frameworks
- 書籍
- 更多資源