現(xiàn)在安卓開發(fā)者的工資不斷升高,市場的需求也還在逐漸增加,曾經(jīng)需要從事其它軟件開發(fā)工作的朋友都轉(zhuǎn)行到安卓了,那么安卓開發(fā)難學(xué)嗎?怎么樣學(xué)好安卓開發(fā)?下面我們極客營小編為你揭曉:
1.Java基礎(chǔ)
很多朋友一上手就開始學(xué)習(xí)Android,似乎太著急了一些。Android應(yīng)用程序開發(fā)是以Java語言為基礎(chǔ)的,所以沒有扎實(shí)的Java基礎(chǔ)知識,只是機(jī)械的照抄別人的代碼,是沒有任何意義的。那么Java學(xué)到什么程度才算是過關(guān)呢?長沙極客營認(rèn)為至少要掌握以下兩個方面的內(nèi)容:
a) Java基礎(chǔ)語法:具體的知識點(diǎn)列表可以在這里下載:《Java知識點(diǎn)列表》V1.0。這部分內(nèi)容沒有討價還價的余地,必須爛熟于胸。至于具體的學(xué)習(xí)方法,可以看書或者是看視頻,但是關(guān)鍵是要多加練習(xí),無論是書上的練習(xí)還是視頻里面的練習(xí),都需要仔仔細(xì)細(xì)的完成;
b)設(shè)計模式:由于在Android系統(tǒng)的框架層當(dāng)中,使用了大量的設(shè)計模式,如果沒有這個方面的知識,對于Android的理解就會大打折扣。設(shè)計模式的種類非常之多,一個一個的全部掌握,是不現(xiàn)實(shí)的,必須首先掌握面向?qū)ο蟮幕A(chǔ)設(shè)計原則,有了這些基礎(chǔ)原則的支持,就可以舉一反三。這部分內(nèi)容可以在《EffectiveJava》和《Agile.Software.Development:Principles,Patterns.and.Practices》這兩本書中找到。
2.Linux基礎(chǔ)知識
大家都知道,Android系統(tǒng)的基礎(chǔ)是Linux操作系統(tǒng)。在開發(fā)過程當(dāng)中,我們也需要使用到一些Linux命令。所以說一些Linux的基礎(chǔ)知識是必須的(話說現(xiàn)在的程序員,不懂Linux都不好意思跟人家打招呼),推薦大家看看《鳥哥的私房菜》這本書,寫的相當(dāng)不錯;
3.數(shù)據(jù)庫基礎(chǔ)知識
這個比較簡單,就是一個增刪改查的數(shù)據(jù)庫操作。
4.網(wǎng)絡(luò)協(xié)議
至少需要學(xué)習(xí)兩種基礎(chǔ)的協(xié)議,HTTP協(xié)議與Socket協(xié)議;
5.Android基礎(chǔ)知識
有了以上的鋪墊,再來看Android,是不是覺得輕松了很多呢?至于基礎(chǔ)知識的學(xué)習(xí)順序,好的方法就是按照Android SDK幫助文檔當(dāng)中的Dev Guide里面的順序。
6.服務(wù)器端開發(fā)知識
由于很多Android應(yīng)用程序都需要服務(wù)器端的支持,所以掌握一些服務(wù)器端開發(fā)知識還是非常有必要的。至于選擇哪一種服務(wù)器端知識進(jìn)行學(xué)習(xí),就比較麻煩了,因?yàn)榧夹g(shù)的種類實(shí)在是太多了:
a)Java EE:就是上面郵件當(dāng)中所提到的SSH—Struts+Spring+Hibernate。這種技術(shù)的優(yōu)點(diǎn)的功能完整、強(qiáng)大,已經(jīng)使用了很多年,而且既然大家已經(jīng)非常熟悉Java了,那么學(xué)習(xí)SSH看起來也順理成章。但是使用這種技術(shù)開發(fā)服務(wù)器端程序,非常麻煩。即使是一些簡單的功能,也可能需要大量的代碼和配置文件來實(shí)現(xiàn);(缺點(diǎn))
b)PHP:簡單易學(xué),開發(fā)快速。但是我們需要多學(xué)一種語言,是否得不償失,就要大家自己判斷了;
c).NET:這項(xiàng)技術(shù)的特點(diǎn)和Java EE差不多,但是要想掌握.NET,則需要掌握c#,也是個麻煩的事情;
長沙極客營溫馨提示:至于選擇哪一種技術(shù),就看大家自己的判斷了。要成為一個專業(yè)的Android開發(fā)者,以上的這些知識都必不可少??雌饋砗孟窈芏?,其實(shí)只要你肯用心去學(xué),投入多一點(diǎn)時間進(jìn)去,安卓開發(fā)其實(shí)也不是很難。