Android菜鳥如何學習Android系統開發?(

如何做好Android學習前的準備?

  如果你已經確定了學習Android的目標,那麼,應該提前做好哪些工作、先打下哪些基礎呢?

首先,你最好先熟悉一門編程語言,現在大學裏面和計算機相關的專業甚至理工類專業一般都會開設C語言課程,只是很多同學在大學期間並沒有好好學習,如果對它掌握的不太好或者很久沒用了,建議先從將其好好複習一下,將其基本的語法再好好回顧一下,最好能搭建一個環境來運行、調試它。如果沒有學過,不妨也提前學習一下,可以參考清華大學出版社出版的譚浩強老師的《C語言程序設計》,推薦這本書的原因,一是它已經經過了多年的考驗,應該說還是比較嚴謹的;其次就是大部分的高校所開設的C語言使用的教材都是用它作爲教材,因此無論是購買還是借閱,都容易找到。另外,華清遠見網站上也有一些這方面的教學視頻,可以結合來看。

  其次,如果你後續有志於遊戲方面的開發,你最好具備一定的數據結構和算法基礎知識。這一點是我在華清遠見的講臺上,給學員們堅持強調的。雖然現代的高級編程語言中,其類庫中已經幫我們實現了大部分的數據結構,一般情況下,我們直接使用即可。但如果你能對其原理有所瞭解,當你需要在這些數據結構和算法中間的時候,你可以能更加的清楚到底應該選擇那個數據結構或者算法。另外,在圖形圖像處理上面,線性代數的作用也非常重要,如果能掌握一點這方面的基礎知識,無疑也會在後續的學習中如虎添翼。舉個例子,在Android中,有一個用於圖形變換的類Matrix,用起來稍有點難。其實它的理論基礎就是線性代數中的矩陣,如果你瞭解矩陣的基本算法,這個類的使用可以說就易如反掌了。

  第三,因爲Android應用的開發語言用的是Java語言,並且在Android中也用到了Java核心類庫的大量的類,因此,在學習Android開發之前,可以先把Java基本語法和Java SE的基礎類庫好好學習一下,例如:Java中的IO、網絡、線程、List、Map、Tree等數據結構。現在的大學裏也有不少的院系開設了Java課程,教材和圖書也非常豐富,如果你所在的院系沒有開設,也可以從其他開設了這個專業的院系同學那裏借閱一下,並認真完成他們所佈置的作業,爭取自己能動手編寫出一些簡單的Java應用。如果自己購買圖書,可以購買《Java核心技術,卷1(原書第8版)》這本圖書來學習。

  第四,因爲在Android中,會用到數據庫來存儲數據,因此,也可以提前對數據庫知識做相關的儲備。在Android所使用的SQLite中,其語法是遵循標準的SQL-92語法的(當然和企業級數據庫如Oracle等比較,功能上要弱很多),有條件的話,最好也能安裝一個數據庫來進行實際的操作。從易用性和資料完備性來說,建議大家使用Microsoft SQL Server或者MySQL就可以了。它們都是我們學習數據庫的好平臺。另外,如果曾經學習過數據庫原理或者關係代數,那麼,在學習數據庫的過程中,也可以再好好地複習一下這些基礎知識,對我們理解數據庫大有裨益。

最後,我們結合華清遠見3G學院的“3G Android系統開發就業培訓班課程體系”來談談Android開發的學習方法。

  Android是一個比較龐大的體系,從底層的Linux內核到上層的應用層,各部分的內容跨度也比較大。因此,一個好的學習方法對我們學習Android開發很重要。因此在華清遠見的課程體系設計中採取了循序漸進、將大目標分解成多個小目標,逐步達成對Android開發從應用層到底層系統及驅動開發全面掌握的目的。

  例如,可以先從Android的應用開發開始,等到對應用掌握的比較熟悉了,開始慢慢閱讀一些Android 應用框架層的源代碼,然後再漸漸往下去了解Android的JNI、Libraries、Dalvik虛擬機、HAL層、硬件驅動、Linux內核、ARM技術體系架構等,雖然近期Intel宣稱要讓Intel芯片支持Android系統,但在可預見的時期內,在移動設備上,ARM的優勢應該還是不可撼動的。

  具體來說,可以先通過在開發板上構建一個自己的Android系統,瞭解Android系統的整體架構和啓動過程,由此先對Android有一個初步的瞭解;接下來,學習Android的應用開發,在這裏可以先學習Android的幾個主要組件、UI組件,先對Android應用開發有一個感性認識。在能夠熟練搭建用戶界面後,再逐漸來豐富應用的功能,例如:加上事件處理,使其能夠和用戶互動;加上數據存儲功能;加上聯網功能等等。在學完應用後,在此基礎上來學習遊戲編程,先了解遊戲設計的基本思路,然後開始從小的遊戲、小的模塊開始做起,到最後能完成一個類似於現在熱門的《捕魚達人》這樣的遊戲。在掌握了這些應用層級的內容後,可以去了解如何在Android應用中通過JNI去調用C/C++的接口,再往下學習Linux的內核和驅動開發如字符設備驅動、Flash設備驅動、網絡設備驅動等等;再在此基礎上,去學習Android驅動開發、HAL(硬件抽象層)開發、ARM體系架構和指令等等內容,這樣,Android開發的整個體系就都貫穿起來了。

  當然,因爲時間有限,而底層部分的內容比較龐雜,因此,在真正去做這部分工作之前,我們只需要對其基本原理有所瞭解,做好相關知識的儲備,能夠根據老師的指導來完成相關的實驗。這樣在後續的工作中,就可以方便的往這方面發展,讓自己的事業更上一層樓。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章