計算機本科生,已經學完Java,想自學一下android開發,兩者差別多大,求詳解?

cyyaizyh


Android開發是java開發的一個分支,android種的類庫有一部分和java類庫基本一致,也就是類e799bee5baa6e79fa5e9819331333365633964名一致,不過java種的swing這些類庫在android種就沒有了,也就是說android種只用了java種的常用的類庫。

具體介紹:

1、Android 是在java基礎之上的一門語言,Android是用來開發手機APP的,學Android 需要先學java基礎語法。

2、簡單地說,一種是操作系統,一種是開發語言。具體來說,Android是一種基於Linux的開放源碼操作系統,主要用於便攜設備(智能手機,平板電腦)。Java是一種面向對象的編程語言,它的最大的特點就是開源和免費,這因為如此,中國的大部分大型的軟件系統是用Java開發的。

3、Android的應用層上的應用程序是用Java編寫的,以Java作為開發語言,但是,Java並不等同於Android,因為Android SDK引用了Java SDK的大部分,少數部分被Android SDK所拋棄。所以,要想從事Android的開發,就必須有Java基礎。另外,在Windows系統中可以搭建Android的Java開發環境,這樣就可以實現在Windows系統中測試Android項目了。

4、Android開發與JAVA兩者是相輔相成的。JAVA給Android提供了開發的語言環境,Android的開發通過JAVA語言去實現。


李天允


正好是一路按照這個路線走下來的老工程師。

在2009年之前一直是JAVA開發,然後就在手機公司轉向了Android開發。

先說說相同點:

上層的開發基本上轉安卓後沒啥障礙,JAVA的各種面向對象編程,在安卓上是一樣的。

如果原來有用過一些應用框架Spring,Hibernate,mysql之類的,

轉到安卓平臺就是相當於用新的應用框架來開發。

安卓基本也是MVP開發框架,模型層、展示層、處理層。

安卓的UI交互界面,各類控件,開發起來也比較好理解。也要編寫大量的事件處理邏輯。

安卓應用開發

像這個手機應用主界面,稱為Launcher,這是開機就加載的主界面。

上面有Widget也就是小插件。

安卓UI開發中要處理大量的消息,有系統發來的各種通知消息,這些消息的處理,會非常關鍵。

安卓應用的生命週期的函數處理也是非常關鍵,直接決定了垃圾回收是否及時。

垃圾回收,是要重點處理的問題之一。

費精力的地方之一是,需要看安卓的應用開發框架了解各個API跟類。

應用之下是FrameWork層

一定要了解Android系統,實際就是Linux系統+JAVA虛擬機(安卓徹底改造過的)。

所以底層系統跟上層虛擬機直接,還有個FrameWork層。

對於應用開發工程師來說,也要了解Framework層。

比如通訊錄機制、Camera、音樂這些基礎功能都會跟下面有點關係。

上層通過JNI接口,來調用下層的功能。

工作會比較辛苦,但是挺有意思的

如果開始了安卓開發,那是打開了另一個世界。需要持之以恆的努力。

學無止境。


智能情感里奧


您好,很高興回答您的問題。

作為資深Android開發工程師,也是從JAVA一路走過來,簡單說一下吧。

初、中級開發

最直白的說,初中級JAVA和Android幾乎沒有差別,可以簡單的理解為,Android開發就是使用JAVA語言調用Android SDK而已,所以說JAVA工程師基本上可以直接轉Android開發,熟悉熟悉開發流程,學一下SDK就,基本上就可以上手開發一些小APP了,然後在網上學習一些開發框架,就可以應對大多數開發場景了。

中、高級開發

Android是基於在Lnux上的,應用是運行在虛擬機上,這點完全繼承於JAVA,但就Android 框架來說分為,linux驅動、libs層、framework、Application四層,要應對與framework以下的開發,必須要熟悉Android 服務架構,NDK,C/C++linxu驅動等技術,這點跟JAVA是不一樣的,對於新手而言,如果您熟悉C/C++可以考慮有下往上的技術路線,但如果熟悉JAVA,建議由上往下的技術路線。



分享到:


相關文章: