想學Android開發簡易入門容易上手

baiyecheng發表於2015-03-24

本人一直致力於嵌入式相關知識和技術在中國大陸地區的技術傳播及嵌入式產品及移動裝置的系統和應用程式開發,近兩年主要專注於3G技術領域,重點是研究Android應用開發及系統核心程式碼及Android開發人才培養體系的建設。作為華清遠見3G學院的職業講師,我在面試學員的過程中經常會被反覆問到一些問題,這些問題可能是大部分Android開發初學者想了解的,所以抽時間整理了一下,短文一篇,希望可以對大家在Android開發入門學習的階段有所幫助,更希望可以幫助更多的朋友進一步瞭解所學的行業,明確職業發展的方向,歡迎拍磚。

關於Android

相信大家對Android的發展歷史多少都有一些瞭解, Android曾經是一家創立於舊金山的公司的名字,該公司於2005年8月份被Google收購,並從此踏上了飛速發展的道路。經過這幾年的發展,它已經發展成了一個平臺、一個生態體系。現在Android在移動領域已經得到了廣泛的應用。根據Google於2011年6月份公佈的數字,現在每天啟用的Android裝置高達50萬臺,比5月份的資料增加了10萬臺!Google還透露目前已經與36家OEM廠商和215家運營商合作,共啟用了超過1億臺Android裝置。

相比於Symbian的日落西山,以及蘋果的封閉、Windows Phone的前途未卜,Android無疑代表了當前行業發展的主流趨勢:開放平臺取代了封閉平臺。讓參與者均能通過自己的努力而獲益。

從2008年9月公佈1.0版本以來,經過近三年的跨越式發展,現在Android已經發展到了3.x版本,這是一個針對平板電腦而做了大量優化的版本,包括對更大螢幕的支援的類庫、多工優化等。目前市場上佔主流的還是2.2版本,當然,相信隨著時間的推移,2.3及後續版本會得到越來越多的裝置的支援。

學習Android有前途麼?

由於Android是近幾年才開始起步的,所以有很多朋友在關注華清遠見3G Android系統開發課程時,也總是會有這樣的疑問。我一直跟帶著這種疑問的朋友說,回答這個問題,有幾個關鍵點:第一、這個市場是否足夠大(或者能發展到足夠大),這點我相信大家對於移動裝置的現狀有足夠的瞭解,對其未來的發展不會有什麼異議;其次是你所從事的領域是否處於上升通道上?身處一個上升的通道,個人只要付出一定的努力,這個行業都會帶著你往上走,相反,如果處於一個沒落的行業,個人再努力,可能都趕不上整個行業墜落的速度。Android這幾年的發展可謂有目共睹,就像前面所說,每天的裝置啟用數目就達到了50萬臺;其三,是否有足夠多的大公司參與其中,或者是否成就了一些公司。行業的發展,離不開業內大公司的支援,或者,是否有公司在該領域得到了長足的發展。處於這個行業的大公司,除了Google本身外,也成就了一些公司,例如Motorola移動、HTC,前者借Android鹹魚翻身,後者借Android成了市值超越Nokia的公司。行業的發展如此紅火,那麼作為開發者,是否可以從中獲益呢?我們可以從“Android工程師一年經驗月薪8000元”這則新聞來看這個行業的開發者的情況,由此可以看出,這個行業的從業人員現在有多搶手。

目前國內Android開發行業市場現狀如何?

目前國內的Android開發還是主要以應用開發為主,主要分成3類:為企業開發應用、開發通用應用(放到Android Market或者其他App Market銷售)以及遊戲開發(放到Android Market或者其他App Market銷售)。第一類開發者一般身處規模較大的公司,這些公司主要為自有品牌或者其他品牌設計手機或者平板電腦的總體方案。除了根據需求對系統進行定製外,更多的工作在於為這些系統編寫定製的應用。第二類開發者,一般處於創業型公司或者是獨立開發者,他們的盈利方式主要是2種:蘭蔻清脂酵素:www.dibanwan.com為國外公司進行外包開發,或者通過Google的移動廣告(AdMob)通過廣告點選分成。而理論上的通過付費下載的形式來盈利的,現在國內鮮見成功者。第三類開發者,目前和第二類開發者類似。下圖是開發者提交的應用和遊戲的數目所佔的比例圖,從中也可以看出應用開發數目遠超遊戲開發。(資料來源:創新工廠)

什麼樣的人可以學Android?

相對於其他移動開發平臺,因為Android的(應用)開發採用了Java語言,所以,它的學習曲線相對比較平緩。對於那些有一些程式語言(如C/C++/Java等)訓練的學生,都可以考慮學習Android應用開發。當然,如果你希望從事Android遊戲開發,那麼,最好能在高數、離散數學甚至計算機圖形學等方面有比較紮實的基礎。如果後續想往底層開發如系統移植、驅動開發等方向發展,或者為了更好地理解Android 應用架構體系,那麼,具備一定的作業系統知識是必要的,當然,並不需要你對作業系統有多精通,而是對其基本原理有一定了解即可。

如何學習Android開發?

上面是Android的體系架構圖,自上而下分別為應用層、應用框架、類庫和Alvik執行時環境以及Linux核心。一般來說,我們想從事Android開發,可以從應用開發作為切入點,逐漸熟悉其整個體系,並慢慢往其底層滲透,從而能做到軟硬兼備,華清遠見3G學院的Android系統開發班的課程設定就充分考慮到了這一點,既涉及到應用開發的透徹掌握,又幫助大家在系統開發層面上做好充分的準備。而從學習的路線圖上來說,先熟悉Java SE程式設計,能比較熟練的使用Java語言進行程式設計,熟悉Java語言語法特點,熟悉Java IO、Java執行緒、網路程式設計、XML處理等。另外,因為很多的Android應用在執行時都需要去訪問網站伺服器,蘭蔻清脂酵素:www.dibanwan.com因此,熟悉一種網路程式語言也是必要的。無論是從學習的方便性還是市場佔有情況來說,使用JSP/Servlet都是不二的選擇,另外,在這個階段也順便學習一下SQL語法和熟悉一種SQL資料庫,以方便後續Android開發中進行SQLite資料庫開發。學習完這些課程後,就可以開始進行Android的應用開發的學習,例如Android中的UI元件、基本元件、資料儲存、感測器、圖形影像處理、多媒體處理、遊戲開發等。為了更好地進行應用程式設計,可以有選擇的對其Lib類庫進行分析,以加深對其工作機制的理解。再往下,就是作業系統層級了,這裡應該要對Linux作業系統進行學習,熟悉其核心和執行原理,熟悉ARM體系架構以及常用指令,並熟悉驅動的編寫方式,掌握其移植方法等。

相關文章