用kotlin開發android
A. 為什麼我還不想使用 Kotlin 來開發 Android
我舉個例子,你之前一直用一台電腦,很習慣可,現在給你一台新的電腦,但是電腦的很多地方你都不會用,甚至下載一個輸入法也不會。雖然你通過其他渠道得知,這個電腦真的好用,可是你還是不會用,因為你不想付出時間去學習。是啊,我有電腦,可以完成日常工作,為什麼還要去學新電腦呢?
後來,你要換公司了,出去面試,發現很多公司都有要求要會使用那個新電腦,這個時候你後悔了,早知道去學一下就好了!
發這么多沒什麼別的意思,只是想說:多學點好的新知識總沒錯。
B. kotlin開發安卓必備
Kotlin使用了很多函數式編程的概念,比如用到了lambda表達式來更方便地解決問題。
Kotlin Android Extensions:再也不用編寫煩人的findViewById()了,如果你集成了ButterKnife,是時候刪除對它的依賴了,
Kotlin支持了對於View以id形式訪問。
不用寫分號,就像你看到的上述代碼一樣,對於很多寫過腳本語言的童鞋來說,不要寫分號這一點真是節省了很多時間,對於一
天寫幾百行幾千行甚至上萬行代碼的童鞋們來說,相當於省了多少個分號.
到這里有的同學想要說了,你說的這些好處確實不錯,但是我之前的項目全是用java語言來寫的,難不成讓我推倒重來過?別急,最後我要說的一個最大的優勢就是
與Java語言可混合編程,也就是說我們可以繼續使用原來所有用Java寫的代碼和庫,因為兩個語言之間高度互操作,想嘗試的童
鞋們建議可以從新的小功能小模塊入手,對這些模塊使用Kotlin代碼進行編寫,原有的穩定模塊之後再逐步重構。
對初學者友好,kotlin對java語言轉用kotlin提供了很多便利,對於初學者來說免去很多不必要的煩惱。最貼心的是Kotlin插件
支持一鍵由Java轉Kotlin,為你之後想要重構提供了很大的便利性。
C. kotlin和java開發android哪個好
我覺得還是選java開發比較好,畢竟java開發Android比較多累積,許多問題都有解決方案,kotlin可能還沒發展開來。
D. 如何使用kotlin編寫android
在Android
Studio中打開Settings,選擇Plugins選項,點擊Browse
Repositories,在打開的新窗口中搜索Kotlin,如下圖所示。
選擇Kotlin與
Kotlin
Extenslons
For
Android(obsolete)兩個插件分別進行下載安裝。當插件安裝完畢後,重啟Android
Studio即可。
在Android
Studio中使用Kotlin插件
打開Android
Studio新建一個項目,和往常一樣建立一個項目就可以了,項目建立好以後,我們會在右鍵菜單New下看到多出來Kotlin
File/Class和Kotlin
Activity兩個選項。
-
Kotlin
File/Class:一個普通的Kotlin類,類似普通的Java類
-
Kotlin
Actiivty:一個Activity類
E. 如何用eclipse+kotlin開發安卓
如何看待Android新的編譯工具鏈Jack??之前的JRebel For Android搞得如火如荼,Google弄出個Instant Run;Kotlin剛發布1.0 release版本,Google說它未來用Jack。。
F. 如何看待Kotlin成為Android官方支持開發語言
Kotlin早已是Android開發中的熱門話題了,github上越來越多的項目是用Kotlin開發。但是這門語言一直處於很尷尬的境地。
一方面自己不遺餘力的挖掘自己在Android開發方面的作用。
一方面卻不是官方支持的語言,導致很多人實際持觀望態度。
Kotlin比Java語言新,但其實這門語言早在2015年就有人開始推薦使用了,目前我發現的最早推廣Kotlin的是Antonio Leiva。不管有沒有谷歌的推薦Kotlin都將成為一門流行的語言。谷歌只不過順勢而為,推了一把,然後事情就這樣一發不可收拾了。
G. 為什麼我還不想使用 kotlin 來開發 android
我覺得它之所以適合Android開發,主要是因為以下的特點:
2.1 簡潔、優雅
寫了很多年的Java之後,再寫Kotlin,真是覺得如沐春風。
除了不用寫分號以及天然支持Lambda表達式之外,它的語法本身就比Java簡潔許多。
舉幾個小例子,比如,類型推導:
val a : Int = 1 // 正常的聲明、賦值
val b = 2 // 類型推導,可以省略Int聲明
/* 定義函數:自動推導函數的返回值類型 */
fun sum(a: Int, b: Int) = a + b
字元串模板:
val name = "Barry"
val age = 15
print("My name is ${name}, I am ${age} ") // 會列印出: My name is Barry, I am 15
下面這個例子,可以對比體會一下他們的不同—— 遍歷一個列表,列印其中的奇數。
如果用java寫:
List list = Arrays.asList("H",1,3,10,5,9,20,199);
for(Object number : list){
if(!(number instanceof Integer)) {
continue;
}
if((Integer)number % 2 == 0){
System.out.println((Integer)number);
}
}
H. Kotlin作為Android開發語言相比傳統Java有什麼優勢
從網上大概看了一下,主要是代碼量可以減少很多,重要的是更便捷,更加函數化:
Anko 是Kotlin項目的一部分,旨在更快更輕松的開發安卓應用。是一個用Kotlin編寫的庫,也是專門用來進行安卓開發的DSL(領域特定語言)。 使用該庫的一個顯著的優勢就是大幅的簡化了界面的編寫。
verticalLayout {
val name = editText()
button("Say Hello") {
onClick { toast("Hello, ${name.text}!") }
}
}
以上的代碼對應的界面如下
helloworld
Anko還支持很多其他的特性,比如界面動畫,與資料庫的交互,實現同步操作,Service,Intent等等。都實現了用更少的代碼實現同樣的邏輯。
I. 如何使用Kotlin進行Android開發
使用Kotlin進行Android開發的步驟:
1、安裝Android Studio Kotlin插件;
2、配置App的build.gradle文件
apply plugin: 'kotlin-android'
dependencies { compile fileTree(dir: 'libs', include: ['*.jar'] compile 'com.android.support:appcompat-v7:23.1.0' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"}buildscript { ext.kotlin_version = '1.0.0' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }}
3、創建Kotlin文件作為Activity,或者直接將Java類轉換為Kotlin類。
Kotlin是一門與Swift類似的靜態類型JVM語言,由JetBrains設計開發並開源。與Java相比,Kotlin的語法更簡潔、更具表達性,而且提供了更多的特性,比如,高階函數、操作符重載、字元串模板。它與Java高度可互操作,可以同時用在一個項目中。
J. 應該使用Kotlin進行Android開發嗎
Kotlin的優勢
因此,您可能需要考慮切換到設計為在JVM上運行的許多現代編程語言之一。盡管編譯為Java位元組碼的語言不乏,但有一些因素使Kotlin脫穎而出:
與Java的互換性
Kotlin作為Java的潛在替代品的最大優勢之一是Java和Kotlin之間的互操作性水平 - 您甚至可以在同一個項目中並行存在Java和Kotlin代碼,並且所有內容仍將完美編譯。下面,您可以看到由Java Activity和Kotlin Activity組成的項目示例。
事實上,一旦你的混合的Kotlin和Java項目被編譯,用戶將無法知道您的項目的哪些部分是用Java編寫的,哪些部分是用Kotlin編寫的。
由於Kotlin和Java類可以並行存在於同一個項目中,所以您可以開始使用Kotlin,而無需像Kotlin一樣將整個項目轉換為Kotlin,或者專門開始一個新項目,以便您可以在Kotlin嘗試您的手。
由於這種互操作性水平,如果您有一個您已經開始工作的項目,您可以在該項目的一小部分中試用Kotlin,而不會影響其餘的代碼庫。而且,如果您確定要繼續使用Kotlin,則可以將項目現有的Java代碼一次遷移到Kotlin一個文件,也可以將項目的舊Java代碼保持原樣,並且只能使用Kotlin來實現新的類和功能。
由於Kotlin可以與Java完全互操作,您還可以使用Kotlin項目中的大多數Java庫和框架,甚至依賴於注釋處理的高級框架。
簡單學習曲線
Kotlin旨在加強Java,而不是完全重寫,所以您在Java職業生涯中獲得和磨練的許多技能仍然適用於您的Kotlin項目。
Kotlin也被設計為Java開發人員有一個溫和的學習曲線。 Java開發人員應該發現,Kotlin的大部分語法都很熟悉;例如,用於在Kotlin中創建一個新類的代碼與Java非常相似:
1
class
MainActivity : AppCompatActivity() {
Kotlin也被設計為直觀易讀,所以即使你遇到一些截然不同的代碼,你仍然可以得到這個代碼的作用。
結合最好的功能和程序編程
目前有一些廣泛使用的編程範例,但是當涉及到「哪種方法是最好的」的時候,沒有簡單的答案。每個編程範例都有自己的優點和缺點,因此盡管功能編程有優勢的場景不乏,但程序方法更有效的問題也很多。
那麼為什麼要在功能和程序之間選擇呢?像許多現代編程語言一樣,Kotlin旨在通過結合程序和功能編程的概念和元素,為您帶來最好的兩個世界。
一流的Android Studio支持
Kotlin是由JetBrains開發的,該公司是Android Studio所基於的IntelliJ-IDE的公司。那麼,Android Studio對Kotlin有很好的支持並不奇怪。一旦您安裝了Kotlin插件,Android Studio就可以在您的項目中配置Kotlin,就像打開幾個菜單一樣簡單。
一旦您為Android Studio設置了Kotlin插件,您的IDE將無需理解,編譯和運行Kotlin代碼。 Android Studio還為Kotlin提供調試,自動完成,代碼導航,單元測試和完全重構支持。
一旦您的Android Studio項目配置為支持Kotlin,您甚至可以將整個Java源文件轉換為Kotlin文件,只需點擊幾下滑鼠。
更簡潔的代碼
如果比較產生相同結果的Java類和Kotlin類,則寫入Kotlin的類通常比使用Java編寫的一樣簡潔和緊湊。 而且每個開發者都知道,代碼減少意味著更少的錯誤!
有什麼收獲?
沒有編程語言是完美的,所以雖然Kotlin有很多提供Android開發人員,但您需要注意一些缺點:
額外的運行時大小
Kotlin標准庫和運行時將增加您的.apk的大小。雖然這只相當於大約800KB,如果您的應用程序已經在很大的一邊,那麼額外的800KB可能會提示它在邊緣,並讓用戶在下載你的應用程序之前思考兩次。
代碼的初始可讀性
雖然Kotlin的簡潔語法是語言最大的優點之一,但是最初可能會發現一些Kotlin很難解讀,因為在這么少的代碼中有很多事情要做。 Java可能更冗長,但是上面的一切都是明確的,這意味著不熟悉的Java代碼比不熟悉的Kotlin更容易破譯。
另外,如果使用不當,Kotlin的操作員重載會導致難以閱讀的代碼。
缺乏官方支持
Kotlin可能在Android Studio中有很好的支持,但值得一提的是,Kotlin沒有得到Google的正式認可。
此外,與純Java項目相比,當您使用Kotlin時,Android Studio的自動完成和編譯往往運行速度稍慢。
更小的社區和更少的可用幫助
由於Kotlin是一種相對較新的語言,所以Kotlin社區仍然相對較小,特別是與圍繞更為成熟的Java語言的社區相比。如果您切換到Kotlin,那麼您可能無法訪問相同數量的教程,博客文章和用戶文檔,並且可能會在論壇和堆棧溢出等場合遇到較少的社區支持。在撰寫本文時,在Stack Overflow上搜索Kotlin只返回標簽為Kotlin的4,600個帖子,而包含Java標簽的高達1,000,000個帖子。