03.07 有基礎入門安卓,kotlin還是java?

蛋蛋蛋疼青年


哈嘍,你好,我是七步的天,我有五年多的開發經驗,Java和Kotlin這兩個編程語言,我在工作中單獨用Java或者Kotlin開發過項目,也混和使用Kotlin和Java做過項目。


我認為入門可以Android直接學習和使用Kotlin語言。另外,有時間的時候也要把Java學習了,對技術的提升大有裨益。雖然Java和Kotlin 的互操作性很好,但是目前的在實際的Android 端開發工作中,也都是用Kotlin。而且Java和Kotlin 兩種語言的設計思想是不同的。


下面我來說說一些Kotlin很棒的地方。


語法更簡練,更加安全的指針操作,Null 安全


(1)在Kotlin中,一切皆是對象。不存在int,double等關鍵字,只存在Int, Double等類。

所有的對象都通過一個指針所持有,而指針只有兩種類型:var 表示指針可變,val表示指針不可變。為了獲得更好的空安全,Kotlin中所有的對象都明確指明可空或者非空屬性,即這個對象是否可能為null。

//類型後面加上?,表示可為空

var money: String? = “120”

val moneys = money?.toInt();



(2)使用 Kotlin 提升應用品質。@Nullable 和 @NonNull 類型已納入到 Kotlin 的類型系統中,可幫助您避免 NullPointerException。此外,Kotlin 還有許多其他語言功能,可幫助您避免常見的編程錯誤


可互操作

說到互操作性,你可以在 Kotlin 代碼中調用 Java 代碼,或者在 Java 代碼中調用 Kotlin 代碼。Kotlin 可完全與 Java 編程語言互操作,因此你可以根據需要在項目中添加任意數量的 Kotlin 代碼。


?表達式的強大

對於判斷對象是否為null,在Java需要用if判斷,現在只需要使用?通配符拆包判斷,如果為null,只要某個操作對象為null,則整個表達式直接返回null,不會拋出異常。更加安全。

(1)從前我們使用Java判斷的時候:

if(view != null){ if(view.getParent() != null){ if(view.getParent() instanceof ViewGroup){ ((ViewGroup)view.getParent()).removeView(view); } }}


(2)現在使用Kotlin進行判斷:

(view?

.parent

as? ViewGroup)?.removeView(view)

對比就可以發現,Kotlin更加方便了。


$符拼接變量和表達式

同時,Kotlin還引入了字符串模板,可以在字符串中直接訪問變量和使用表達式:


小結

Kotlin還有很多優秀的新特性值得我們去學習和探索。另外,學習Java也有很多好處,現在的後臺開發以及大數據之類的應用與Java也都密不可分。

我是七步的天,如果覺得對你有幫助,喜歡就關注我吧。

有其他Kotlin問題和見解的小夥伴,歡迎在評論區留言。辛苦留下你的寶貴意見。

共同探討問題,共同進步。


七步的天


作為一名至今仍處於編碼階段的一線開發者,下面提出自己的見解,拋磚引玉,歡迎大家留言討論。


先說說結論,當然首選Java。

首先從友好型來說,Java我們可以在網上找到大量的優秀文檔、源碼等學習資料。

其次,再來看看招聘需求,基本招聘上Android開發的,100%你得懂點Java吧;可是Kotlin並不是必須的,只能作為你得加分項。下面是在某勾招聘網站的一項Android開發職位描述。

Kotlin 是什麼?是“更好的 Java”。只有用慣了Java而又想繼續改進工作效率的人,才會真正去“用”Kotlin。在你真正掌握Java、掌握面向對象思想後,再去學習Kotlin,將會是手到擒來。


學是為了用,如果只是為了寫“Hello World”那就無所謂了,隨便哪個都可。


一個程序員的奮鬥史


主要採用的是Java語言,c語言與c++都是andriod一些底層工具部件,會調用就行了,不用深入研究,另外其實各種編程語言都是大同小異,只有精通其中一個編程語言,其他的語言也叫就可以會了百分八十左右,所以我建議,如果想在Android方向發展,只要學好Java編程語言就可以了,希望可以幫到你



我是一名鍋爐工


Google 一直在權衡是否讓它的 Android 開發者從使用 Java 語言來構建應用程序切換到使用 Kotlin 語言。

Google Android Studio 的技術負責人 Jeffrey van Gogh 表示,這個問題在 Google 發出的“Android 應用程序開發應該優先使用 Kotlin”的這份聲明中被提出來了。

但是 Android 開發“Kotlin-first”意味著什麼?在今年的 Google I/O 大會上,van Gogh 對使用 Java 和 Kotlin 開發的後果作了詳細地說明。

“當然,我們在很多方面將繼續支持 Java 編程語言,”他在出示下面這張表時說道。

640?wx_fmt=jpeg

“但是,如果你看看其他的地方,比如我們的在線培訓示例,我們將首先使用 Kotlin 編程語言,然後我們將"盡力而為(best effort)"地使用 Java。當然,還有一些功能,比如多平臺項目和 Jetpack Compose UI 工具包,這些功能只會用 Kotlin 語言提供。”

Google 已經在一系列自己的產品中開始使用 Kotlin 語言的這一現實,很好地回答 Android 開發者是否應該從 Java 切換到 Kotlin 這個問題。對於 Google 而言,已經開始使用 Kotlin 的產品包括 Google Drive、Google Home、Nest 和 Android SystemUI。

“請不要把“Kotlin-first”理解成你需要用 Kotlin 來重新改寫你所有的 Java 代碼。這不是我們希望你做的,”他說道,此外,他還補充道,Google 本身也沒有打算用 Kotlin 重寫現有的所有軟件。

“看看 Android Studio,這是成千上萬行的代碼。現在只有 10% 的 Android Studio 的特定代碼是用 Kotlin 寫的。”

“我們採取的做法是,我們只用 Kotlin 來編寫新的功能。這是可行的,因為 Kotlin 與 Java 具有很強的互操作性。你可以用 Kotlin 編寫單個類,並將其它所有的類交給 Java;或者用 Kotlin 編寫 99% 的代碼,而將剩餘的部分交給 Java。”

他補充說,還需要考慮一些複雜因素,比如說 App 開發所處的階段,他說顯然在項目開始的時候就使用 Kotlin 來實現新功能更加有意義。

他還說,另一個問題是開發團隊內部對 Kotlin 到底有多大的熱情。

“這取決於你的團隊。他們對 Kotlin 語言感興趣嗎?他們對採用它有安全感嗎?”他說。

van Gogh 同時指出,採用 Kotlin 也有一些不利因素需要權衡。比如開發人員需要一段時間才能熟悉 Kotlin 的慣用方法,來編寫出符合規範的代碼。

他說:“Kotlin 語言有很好的特性,更高的生產率和滿意度,但你必須考慮學習曲線,人們需要時間來學習 Kotlin 的慣用方法,來編寫出符合規範的代碼。”

“我們看到大多數人在第一週開始寫 Kotin 時,他們實際上是在用 Kotlin 寫 Java 代碼,他們花了三到六個月的時間才真正開始寫符合 Kotlin 習慣的代碼。”

他說,由於 Kotlin 編譯器通常比使用 Java 的速度慢,軟件構建過程也需要更長的時間,不過 Google 正在“努力”提升編譯器的速度。

他補充說,當使用 Kotlin 時,生成的 APK(用於在安卓設備上安裝應用程序的軟件包)也相對較大。

他說,Google 在 Android 系統上有“一大堆正在進行的 Kotlin 工作”,包括 Jetpack Compose 的開發工作、用於 Jetpack 的新 Kotlin 擴展(KTX)API 的開發工作,正在努力提升最新的 1.3.30 版 Kotlin 中的編譯器速度的構建工作,以及改進工具、文檔和示例代碼的開發工作。


熱愛技術的小牛


入門安卓,建議從用java

理由:

1.java在編程語言排行榜第一

2.java歷史悠久,資料多

3.安卓開發最開始就是java,很多代碼例子,教程書籍等,大部分採用java,方便解決問題

用java熟悉安卓之後,可以學習使用kotlin了,學會java了,kotlin區別不大,很快就可以上手


攻防基地


入門建議學習Java,Java是排行榜第一的語言,本人Java開發大數據開發,第一Java的語法簡潔易懂入門快,第二web安卓大數據都要有很好的Java基礎,第三國內大廠java依舊是主流,第四Java的學習資源多。希望對你的問題有幫助。


葉曉2018


這兩是兄弟,差別不大的,不用糾結,會了一個再用另外一個不會有困難。

下載一個Android studio,做一個例子,那個語言自己看的順眼用得舒服,就用那個。


分享到:


相關文章: