? ? ? ?Android 是一個(gè)比較龐大的體系,從底層的Linux內核到上層的應用層,各部分的內容跨度也比較大。因此,一個(gè)好的學(xué)習方法對我們學(xué)習Android開(kāi)發(fā)很重要。在此建議各位同學(xué)采取循序漸進(jìn)、將大目標分解成多個(gè)小目標,逐步達成對Android開(kāi)發(fā)的全面掌握。例如,可以先從Android的應用開(kāi)發(fā)開(kāi)始,等到對應用掌握的比較熟悉了,開(kāi)始慢慢閱讀一些Android 應用框架層的源代碼,然后再漸漸往下去了解Android的JNI、Libraries、Dalvik虛擬機、HAL層、硬件驅動(dòng)、Linux內核、 ARM技術(shù)體系架構等,雖然近期Intel宣稱(chēng)要讓Intel芯片支持Android系統,但在可預見(jiàn)的時(shí)期內,在移動(dòng)設備上,ARM的優(yōu)勢應該還是不可撼動(dòng)的。
具體來(lái)說(shuō),可以先通過(guò)在開(kāi)發(fā)板上構建一個(gè)自己的Android系統,了解Android系統的整體架構和啟動(dòng)過(guò)程,由此先對 Android有一個(gè)初步的了解;接下來(lái),學(xué)習Android的應用開(kāi)發(fā),在這里可以先學(xué)習Android的幾個(gè)主要組件、UI組件,先對Android 應用開(kāi)發(fā)有一個(gè)感性認識。在能夠熟練搭建用戶(hù)界面后,再逐漸來(lái)豐富應用的功能,例如:加上事件處理,使其能夠和用戶(hù)互動(dòng);加上數據存儲功能;加上聯(lián)網(wǎng)功能等等。
在學(xué)完應用后,在此基礎上來(lái)學(xué)習游戲編程,先了解游戲設計的基本思路,然后開(kāi)始從小的游戲、小的模塊開(kāi)始做起,到最后能完成一個(gè)類(lèi)似于現在熱門(mén)的《捕魚(yú)達人》這樣的游戲。在掌握了這些應用層級的內容后,可以去了解如何在A(yíng)ndroid應用中通過(guò)JNI去調用C/C++的接口,再往下學(xué)習Linux的內核和驅動(dòng)開(kāi)發(fā)如字符設備驅動(dòng)、Flash設備驅動(dòng)、網(wǎng)絡(luò )設備驅動(dòng)等等;再在此基礎上,去學(xué)習Android驅動(dòng)開(kāi)發(fā)、HAL(硬件抽象層)開(kāi)發(fā)、ARM體系架構和指令等等內容,這樣,Android開(kāi)發(fā)的整個(gè)體系就都貫穿起來(lái)了。
當然,因為時(shí)間有限,而底層部分的內容比較龐雜,因此,在真正去做這部分工作之前,我們只需要對其基本原理有所了解,做好相關(guān)知識的儲備,這樣在后續的工作中,就可以方便的往這方面發(fā)展,讓自己的事業(yè)更上一層樓。