android知識體系
1. 安卓系統知識普及,ROM和RAM是什麼意思
最重要的是說明手機存儲空間的種類和各自的功能,是屬於內存還是外存(從純理論上來說,能被CPU直接訪問的是內存,不能被CPU直接訪問,需要內存過度的是外存):
RAM中存放什麼?手機中的RAM就一定是內存么?
ROM中存放什麼?同上。
SIM卡中的空間是算外存還是算內存,SIM卡可以理解為類似電腦上的網卡,己前的漢卡,或顯卡之類的外部介面卡嗎?就是說它可以理解為計算機的外部設備嗎?
SD卡是不是確定算外存?
一些智能手機內部是不是也有與SD卡地位相當的內部存儲卡,是不是算外存?
安裝軟體時即使選擇安裝在SD卡上,也會存在存儲空間不足的問題,是不是安裝安卓系統的軟體必然會佔用手機內部的存儲空間,這個空間是屬於內存還是外存。
最後,或者——智能手機的硬體體系並象計算機那樣有清晰的內外主從之別,那就請給一個較清楚完整的說明。
2. Android開發和iOS開發那個更有前景如何選擇
Android開發和iOS開發那個更有前景?如何選擇?
個人覺得ios開發更有難度,薪資更高,我們公司的安卓程序猿輕松完成開發,ios就是老出問題,不是技術不過關,是確實有難度。
在這兩者之間選擇沒有好或者更好只能看自己喜歡或者不喜歡
3. 怎樣解決ios與android的大小差異
就索性進行了一番調研,於是有了本文(本次不討論越獄的iOS)
首先從情感上,你喜歡哪個就好,就像百事可樂和可口可樂,當然這個比喻不是很恰當,因為可樂喝起來幾乎一樣,但是Android和iOS還是有很大差別的。
iOS來源於Apple的OSX,是UNIX系統,OSX已經有差不多10年的歷史,從內核底層到軟體架構都是逐步發展過來的。iOS使用ObjectivC這個古老的語言來做開發。而Android是Google基於linux搞來的,嚴格意義上講Android並不是一個Linux系統,它沒有Linux的xwin,沒有glibc,缺乏一整套標準的Linux程序。Android應用絕大部分都是使用java開發,跑在Dalvik虛擬機上(一小部分使用NDK)。 Google在底層也修改了很多東西。Android算是一個全新的操作系統。 所以:
Android使用JAVA,上手容易很多,如果有很好的JAVA Lib加持,開發效率會高些
iOS沒有虛擬機, 也沒有GC,性能要好一些,當然這個差別會隨著Google的改進越來越小
iOS的開發框架很成熟,而且和MAC上通用,同樣的知識體系,也可以開發MAC應用,Android相比是全新的框架, 還會繼續進化。
iOS和設備緊密集成。軟硬體一家公司通吃。但是Android無法做到, 通常的情況是:Google放出源代碼。 晶元廠商需要1-3個月來做自己的晶元方案, 手機廠商從晶元廠商處買到方案和代碼, 進行自己的集成,定製工作,有時候還需要針對運營商進行定製。 所以:
iOS的設備集成度和驅動優化都是最好的。電源管理一塊就可見一斑,而Android廠商就魚龍混雜。可能排頭的廠商的旗艦機器會好些,但是由於Android工期一般都比iOS設備短(請看HTC和三星出機器的速度),所以整體上和iOS比是有差距的。
由於有多家廠商自己做定製,Android還存在設備的分裂問題(fragmentation), 作為過來人,我告訴你這個是很頭痛的事情, 且不論調試時間和人力, 光買一大堆設備的成本就不小。最關鍵的是它會傷美工/UE的心。
iOS是被Apple嚴格控制的系統。 在大部分情況下, 第三方應用是無法拿到所有API的。 這意味系統級別的很多功能只有Apple能做(比如打電話,攔截簡訊)。此外一些涉及用戶隱私的API還會導致系統彈出對話框詢問用戶。 同樣第三方runtime做應用開發也是基本不可行的(Flash當初也是被這個條款拒過)。 反過來Android完全不一樣,首先Android是開源的,在設計上Android就允許自由替換系統組件, Android也沒有強制限制API的情況,(hidden API也可以call,沒有人會找你麻煩)。 系統級別的許可權是下放到廠商手中,如果廠商願意給,那第三方開發者就可以做任何事情。 普通應用的許可權認證也是在安裝的時候就一次性授權完成。 之後不會騷擾用戶。所以:
Android平台可以做的事情遠遠比iOS多, 你可以做電話管理,地址簿,簡訊管理,可以自己跑後台service。 替換掉系統的組件非常容易
Android平台也可以跑其他系統的Runtime, 比如Flash, 有了NDK, 你要自己接入一個虛擬機也是可能的。Google不會管你
任何人可以拿Android自己改個獨立的系統出來,也許這樣做的意義和前景有問題,但是同樣,沒有人限制你
iOS上唯一的下載應用途徑就是Appstore,開發者做應用上線還要通過Apple審核,就算通過了,如果掛羊頭賣狗肉亂來或者調用了不該用的API, Apple一樣隨時可以下架。管理非常嚴格。反過來Android上非常鬆懈:
廠商可以內置應用。經常會扔一些莫名其妙的軟體預裝在手機上, 筆者在廠商的時候深刻體會到亂選軟體是很好玩的事情。而且我們不會讓你刪除掉的。
Google的官方菜市場不做應用審核,開發者上傳軟體很隨意,這是個自由市場。
國內還存在大量第三方軟體菜市場。以及豌豆夾類似的PC端管理軟體。
如果用戶選擇允許未知來源,那麼通過web下載或者安裝卡上的軟體也是可以的。似乎國內用戶都是允許的。所以:
iOS上的精品軟體多,競爭激烈但管理有序,開發者也容易掙錢。
Android上雖然也有精品軟體,但是垃圾軟體更多, 甚至有惡意軟體。 因為無門檻,基本上軟體都是免費,賣不起錢, 大部分都靠廣告。
Android還有一堆殺毒軟體,這是典型的沒有困難,製造困難也要上的精神。
Android上還有一堆安慰劑軟體,比如能幫你省電的或者是幫你殺後台進程的來提升性能的, 筆者作為做過底層開發的人,笑而不語。
如果你是普通用戶,請關貼, 本文不是用來給普通用戶選機的。
如果你是一個個人軟體開發者, iOS適合你, 市場規范, 做應用省心。
如果你是一個軟體和服務的創業公司, iOS也是適合你做demo的和第一個產品的, 產品靠譜了,用戶在用了,有人給錢了,再往Android走也是可行的。 除非你做的應用要涉及硬體或者需要非常高的系統許可權, 如果是那樣你也只有選擇Android。因為國內的廠商肯定要比蘋果要容易談下來。
如果你是一個要做硬體和系統定製的公司, 那麼基本上你只有Android可以選。Android的解決方案的成本也在不斷下降。
如果你是一個有中國特色的公司,想搞點移動業務玩玩, 還要瞞著用戶做很多事情。 那麼Android也是更好的, 就算你不作惡, 控制權在自己手中也會方便運作一點。所經如何選擇,不用我多講,這兩個都是當今移動互聯網開發的方向,但是一個開源學習起來更容易,做東西更快,有絕對的控制權。一個不開源,只能做上層應用,但也可活的很好,就是這樣。
請採納答案,支持我一下。
4. android開發的知識體系
1、Unix/Linux平台技術:基本命令,Linux下的開發環境
2、企業級資料庫技術:SQL語言、SQL語句調優、Oracle資料庫技術
3、Java 語言核心技術:Java語言基礎、Java面向對象編程、JDK核心API、Java集合框架、Java網路編 程、JavaI/O編程、Java多線程編程、Java異常機制、Java安全、JDBC、XML
4、軟體工程和設計模式:軟體工程概述、配置管理及SVN、UML、基本設計模式
5、Android應用開發基礎:Android開發平台、Eclipse+ADT開發環境、AVD及感測模擬器調試、Android核心組件、Android常用組件、Android高級組件、文件及網路訪問、SQLite資料庫編程、後台服務編程
6、互聯網核心技術: HTML、CSS、JavaScript、JQuery、Ajax應用
7、Android高級應用開發:音頻視頻攝像頭、互聯網應用、GPS和位置服務、Google Map、2D3D繪制、感測器開發、游戲開發、電話及SMS服務、網路BluetoothWi-Fi等。
8、Android系統級開發:移植、驅動、NDK(C方向)。
9、JavaEE核心技術:Servlet核心技術、JSP核心技術、Struts、Spring、Hibernate框架。
5. 如何構建android知識體系
通過大量閱讀,特別主題閱讀來建立自己的知識體系,主題閱讀具體體現在讀書筆記和思維導圖。
一、我對筆記的要求:
能把書中的框架和重點都展現出來或者你用一頁紙能把重點說清楚,就算合格。 第一步來說理清結構,歸納重點。 第二步是舍棄對自己無用的部分,
第三部分按自己的理解進行整理,有時會把導圖按照7W3H的方式從新做一個思維導圖 第四步用自己的話從新表達出來,
第五步是實踐,然後根據結果進行調整和改進。不斷重復這幾步 二、建立初步框架
1、讀過的書,盡可能做成筆記或導圖,筆記放在OneNote里。導圖放在MindManage里 2、針對不同的主題,建立思維導圖,盡量提練重點,然後在Note或分支中加下注釋或出處。 3、定期整理和匯總,不段調整分支和整體結構。
4、如果有時間的話,最好做成PPT或寫文章,能把所關注的問題,用自己的話給清楚表達出來 5、不斷重復這個過程。 三、資料補充
如果學習的東西是一個專業性比較強的行業 1、還需要建立自己的專業名詞字典 2、做資料收集工作,定期整理
6. 如何學習安卓開發
目前國內的Android開發還是主要以應用開發為主,主要分成3類:為企業開發應用、開發通用應用(放到Android Market或者其他App Market銷售)以及游戲開發(放到Android Market或者其他App Market銷售)。第一類開發者一般身處規模較大的公司,這些公司主要為自有品牌或者其他品牌設計手機或者平板電腦的總體方案。除了根據需求對系統進行定製外,更多的工作在於為這些系統編寫定製的應用。第二類開發者,一般處於創業型公司或者是獨立開發者,他們的盈利方式主要是2種:為國外公司進行外包開發,或者通過Google的移動廣告(AdMob)通過廣告點擊分成。而理論上的通過付費下載的形式來盈利的,現在國內鮮見成功者。第三類開發者,目前和第二類開發者類似。下圖是開發者提交的應用和游戲的數目所佔的比例圖,從中也可以看出應用開發數目遠超游戲開發。
上面是Android的體系架構圖,自上而下分別為應用層、應用框架、類庫和Alvik運行時環境以及Linux內核。一般來說,我們想從事Android開發,可以從應用開發作為切入點,逐漸熟悉其整個體系,並慢慢往其底層滲透,從而能做到軟硬兼備,既涉及到應用開發的透徹掌握,又幫助大家在系統開發層面上做好充分的准備。而從學習的路線圖上來說,先熟悉Java SE編程,能比較熟練的使用Java語言進行編程,熟悉Java語言語法特點,熟悉Java IO、Java線程、網路編程、XML處理等。另外,因為很多的Android應用在運行時都需要去訪問網站伺服器,因此,熟悉一種網路編程語言也是必要的。無論是從學習的方便性還是市場佔有情況來說,使用JSP/Servlet都是不二的選擇,另外,在這個階段也順便學習一下SQL語法和熟悉一種SQL資料庫,以方便後續Android開發中進行SQLite資料庫開發。學習完這些課程後,就可以開始進行Android的應用開發的學習,例如Android中的UI組件、基本組件、數據存儲、感測器、圖形圖像處理、多媒體處理、游戲開發等。為了更好地進行應用編程,可以有選擇的對其Lib類庫進行分析,以加深對其工作機制的理解。再往下,就是操作系統層級了,這里應該要對Linux操作系統進行學習,熟悉其內核和運行原理,熟悉ARM體系架構以及常用指令,並熟悉驅動的編寫方式,掌握其移植方法等。
7. 一名合格的Android工程師的知識結構是怎樣的
先不說開發代碼寫的怎麼怎麼樣,首先我覺得你需要了解ui,ue等前提,能自己設計界面,畫圖,美工,然後敲代碼速度快,質量高,技術過硬,這就是我認為合格的android工程師應掌握的知識結構
8. Android開發工作當中,最常用到的是哪些知識
理解與掌握Android系統體系結構;搭 建Android企業級項目開發環境。
能夠 用模擬器與真機調試Android項目。
能夠用JAVA開發基於Android系統的嵌入 式軟體、熟練掌握IDE各界面及調試功能,掌握控制項的屬性設置及應用,掌握 隨機數的使用,理解游戲基本徵 Java簡介和編程環境。 了解Android平台介紹;Android開發環境搭建與配置;Android應用程序開發框架、項目組成;Android程序調試與測試;Android的xml解析。
熟悉Button, ImageButton,TextView,EditText使用;Android內存管理系統介面、文件、日誌系統;Android系統的圖形圖像、多媒體; Android中的網路操作;Android中的硬體訪問感測器,通信許可權管理。
9. 關於Android 平台開發相關的有哪些推薦書籍
推薦十本Android開發暢銷書籍:
1. 《Android基礎教程》本書是一部關於 android開發的基礎教程,採用由淺入深、循序漸進的方式討論android。書中還結合數獨游戲等實例更加形象生動地講解了 android開發的基本流程,且每章最後都有一個 「快速閱讀指南 」,更加方便了讀者的閱讀。. 本書內容完整豐富,具有較強的通用性,讀者都能通過本書快速學習 android開發,提高相關技能。
2. 《Android應用開發揭秘》(累計印刷6次,內容已更新至Android 2.2,版權輸出至台灣)這是一本參考手冊,內容的完整性和系統性幾乎無可挑剔,可作為廣大Android開發者的案頭必備書;這是一部權威指南,基礎知識部分翔實而豐富,高級知識部分深入且飽含最佳實踐,能從本質上提升開發者對Android的理解和開發水平。尤為值得一提的是,Android 2.0中新增了大量激動人心的新特性,不僅支持多點觸摸設備、軟鍵盤,而且還支持多賬戶在線管理、藍牙……作為國內第一本基於Android 2.0的著作,本書可謂極具前瞻性,第一時間將這些新特性完美地呈現給了廣大讀者。
3. 《Google Android SDK開發範例大全》(09年度暢銷榜NO.10)(台灣天瓏書局09年超級暢銷書)本書以android手機應用程序開發為主題,通過130多個範例全面且深度地整合了手機、網路及服務等多個開發領域,為讀者提高程序設計功力提供了很大的幫助。. 全書共分10章,主要以範例集的方式來講述android的知識點,詳細介紹了開發android的人機交互界面、android常用的開發控制項、使用android手機收發簡訊等通信服務、開發android手機的自動服務功能和娛樂多媒體功能以及整合android與aoogle強大的網路服務等內容,隨書光碟中包括了所有範例的程序代碼。
4. 《Google Android SDK開發範例大全(第2版)》 本書在上一版的基礎上,以android手機應用程序開發(採用android sdk 2.1)為主題,通過160多個範例全面且深度地整合了手機、網路及服務等多個開發領域,為讀者提高程序設計功力提供了很大的幫助。全書共分10章,主要以範例集的方式來講述android的知識點,詳細介紹了開發android的人機交互界面、android常用的開發控制項、使用android手機收發簡訊等通信服務、開發android手機的自動服務功能和娛樂多媒體功能以及整合android與aoogle強大的網路服務等內容。隨書光碟中包括了所有範例的程序代碼。本書講述由淺入深,由android的基礎知識到實際開發應用,結構清晰、語言簡潔,非常適合android的初學者和android的進階程序開發者閱讀參考。
5. 《Android/OPhone開發完全講義》(此書版權已經輸出到台灣)推薦這本書有兩個原因:一是移動開發的廣闊前景,使得越來越多的企業、開發者投入其中。相比iPhone而言,Android平台的開放性以及國內市場的廣闊性,使得它更有代表性;二是作者李寧,他寫作的理論性和實踐性兼備,以及對技術的孜孜追求,使得這本書在Android開發的實戰方面很具代表性。也希望讀者朋友和我一樣能從這本書中獲益。
6. 《Android系統原理及開發要點詳解》 本書全面介紹開放的行動電話平台android系統,包括android系統中的linux驅動、本地框架、java框架和java應用4個層次。本書內容以知識性內容為綱,重點關注開發要點,各個部分內容注重相互照應,按照清晰的思路向讀者介紹整個android系統的原理和開發方法。本書按照android系統的框架和各個子系統的主線,重點介紹開發android應用程序和構建硬體抽象層。其內容涵蓋了android應用程序開發和android系統移植構建手機系統兩大方面。本書既適合從事android各個層次開發的工程師閱讀,也適合通用嵌入式linux系統的學習者使用。
7. 《深入淺出Google Android》(示例生動豐富,理論和實踐完美結合)本書是國內最早的android開發團隊的集體智慧結晶,真正完全基於android最新的sdk 1.5,內容詳實,示例生動豐富,包含大量示例代碼,可操作性強。它不僅涵蓋了android平台從基礎概念到高級應用的所有主題,而且深入淺出地介紹了幾種常見的android項目,具有很強的參考價值。特別是在本書的第10、11章重點介紹了android sdk 1.5引入的最為重要的三個特性,即桌面部件、實時文件夾、虛擬鍵盤與輸入法應用的開發方法。.. 通過本書,讀者可以迅速掌握android平台來構建應用程序,成為android開發高手,躋身新技術的弄潮兒。
8. 《Google Android開發入門與實戰》(09年度暢銷榜TOP50)(附贈400分鍾高清教學視頻,涵蓋5大商業案例完整源代碼)本書內容上涵蓋了用android開發的大部分場景,從android基礎介紹、環境搭建、sdk介紹、market使用,到應用剖析、組件介紹、實例演示等方面。從技術實現上,講解了5個android平台下的完整綜合實例及源代碼分析,分別是rss閱讀器、基於google map的個人gps、豆瓣網(web 2.0)客戶端、在線音樂播放器、手機信息查看助手。本書注重對實際動手能力的指導,在遵循技術研發知識體系的嚴密性同時,在容易產生錯誤、不易理解的環節配以了翔實的開發情景截圖,並將重要的知識點和開發技巧以「小實驗」、「小提醒」、「小知識」、「注意」等的活潑形式呈現給讀者。在程序實例的講解方面,主要將實例安插在android開發的精髓知識章節,這為初學者學習與實踐結合提供了很好的指導。. 本書配套有400多分鍾的全程開發視頻光碟,指導讀者快速、無障礙地學通android實戰開發技術。
9. 《精通Android游戲開發》(將本地PC游戲輕松移植到Android的秘技) 本書討論如何將pc 上的3d 游戲移植到android 平台。作者從必備的技能和軟體工具入手,逐步介紹如何從頭構建純java 游戲,如何混合使用opengl 3d 圖形和jni,並以真實的pc游戲wolfenstein 3d和doom為例,介紹如何融合java 的優雅設計和c 的強大功能,使混合游戲達到最佳性能。本書適合熟悉android 平台的開發人員閱讀。
10. 《人人都玩開心網:Ext JS+Android+SSH整合開發Web與移動SNS》 本書的主旨為,以開心網為例實現web版和android版的sns應用。本書分為四篇,前三篇主要實現了web版的開心網系統。其中重點介紹了ext js技術,包括ext js的核心組件、對話框、表單組件、布局、數據校驗、表格、菜單、樹組件等技術。本書的最後一篇實現了android版的開心網,並介紹了與android版開心網相關的技術,包括button、textview、edittext、imageview、gridview等android組件。本書適於以下幾類人群:了解傳統的web應用程序的開發,希望使用ext js開發web程序的開發人員;了解基本的ext js程序的開發方法,想增加實踐經驗的開發人員;對ext js感興趣,想進一步提高ext js開發技能的讀者;對android感興趣,想從事android開發的讀者;想開發基於android客戶端的c/s程序,但對開發流程不了解的讀者。