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