android學(xué)習(xí)方法
在智能手機(jī)越來(lái)越流行的今天,選擇成為一名Android系統(tǒng)開(kāi)發(fā)工程師似乎是一個(gè)不錯(cuò)的主意,實(shí)際上,做為一個(gè)完全開(kāi)源的移動(dòng)操作系統(tǒng),Android已得到眾多企業(yè)的追捧,發(fā)展前景無(wú)比誘人。如果你已經(jīng)確定了學(xué)習(xí)Android的目標(biāo),那么,有什么好的學(xué)習(xí)方法呢?以下是學(xué)習(xí)啦小編要與大家分享的:android學(xué)習(xí)方法,希望對(duì)大家的學(xué)習(xí)有幫助!
android學(xué)習(xí)方法一
1、一門技術(shù)必須多用才能掌握,最好的辦法是在項(xiàng)目中運(yùn)用。如果你在真實(shí)的項(xiàng)目中使用了某一項(xiàng)技術(shù),那么印象就會(huì)非常深刻。即使忘記,也能很快撿起來(lái)。
2、如果要學(xué)新的技術(shù),僅僅是為了拓寬自己的知識(shí)結(jié)構(gòu),那肯定沒(méi)有時(shí)間對(duì)這些技術(shù)做大量的練習(xí)了。這時(shí)候,就要對(duì)技術(shù)進(jìn)行分類。看你掌握這門技術(shù)的目的。如果技術(shù)僅僅是一種工具,我認(rèn)為只需要了解它能做什么,就OK了。因?yàn)榧词鼓惆阉恼麄€(gè)使用方法搞懂,久了不用也會(huì)忘記。如果你知道這個(gè)技術(shù)能做什么,當(dāng)做項(xiàng)目時(shí)需要用到,再去查閱相關(guān)的文檔和資料,完全足以應(yīng)付。如果這門技術(shù)非常重要,甚至有許多可借鑒之處,那么在搞清楚它能做什么的同時(shí),還應(yīng)該理解它的原理、思想以及實(shí)現(xiàn)的方法。
3、養(yǎng)成隨時(shí)記錄心得和教訓(xùn)的習(xí)慣。不管是項(xiàng)目中,還是學(xué)習(xí)過(guò)程中,凡是認(rèn)為有價(jià)值之處,都有必要記錄下來(lái)。不一定要發(fā)到博客上,只要保存起來(lái)就好。不過(guò),在保存的時(shí)候,要做好合理的分類,以便于今后查閱。不要覺(jué)得這個(gè)耽誤時(shí)間,它是非常有用的。我以前就沒(méi)有充分認(rèn)識(shí)到,導(dǎo)致之前做的項(xiàng)目碰到的很多問(wèn)題,當(dāng)時(shí)解決了就完了。到現(xiàn)在都無(wú)法回憶起來(lái)了。現(xiàn)在的我就告誡自己,一定要做到這一點(diǎn)。所謂“磨刀不誤砍柴工”,耽誤的這點(diǎn)時(shí)間是完全值得的。如果你只是不停地學(xué),卻不知道積累,那就和猴子掰包谷沒(méi)有什么區(qū)別了。此外,這樣的做法還有利于磨練你的文檔編寫(xiě)能力、分類和總結(jié)的能力。重新整理這些內(nèi)容,也有助于你再一次理清自己的思路。真的是非常有價(jià)值的做法。我記得以前在課堂上也給你們說(shuō)過(guò)。事實(shí)上,Martin Fowler的《重構(gòu)》一書(shū),之所以能寫(xiě)成,就在于他遵循了這一做法。最近,我剛剛完成《重構(gòu)》一書(shū)的點(diǎn)評(píng),其中大量的點(diǎn)評(píng)內(nèi)容也是我采取這種方式日積月累獲得的。
4、最后一點(diǎn),是學(xué)會(huì)選擇。軟件技術(shù)實(shí)在太多。要弄清楚你自己的目標(biāo)。最重要的是要確定自己的職業(yè)發(fā)展,專業(yè)的說(shuō)法叫“職業(yè)生涯規(guī)劃”。是技術(shù),管理,還是二者兼顧。然后,再有目的性的去學(xué)習(xí)知識(shí)。即使是技術(shù)領(lǐng)域,也有很多發(fā)展方向:網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)、底層算法、框架、架構(gòu)、UI設(shè)計(jì),性能優(yōu)化,系統(tǒng)集成,太多太多。不要漫無(wú)目的地學(xué),這樣也好,那樣也好,所以都去學(xué),結(jié)果學(xué)了又沒(méi)用上。所以,要先確定目標(biāo),然后做出選擇,再制定計(jì)劃,包括短期計(jì)劃和長(zhǎng)期計(jì)劃。
android學(xué)習(xí)方法二
如何做好Android學(xué)習(xí)前的準(zhǔn)備?
首先,你最好先熟悉一門編程語(yǔ)言,現(xiàn)在大學(xué)里面和計(jì)算機(jī)相關(guān)的專業(yè)甚至理工類專業(yè)一般都會(huì)開(kāi)設(shè)C語(yǔ)言課程,只是很多同學(xué)在大學(xué)期間并沒(méi)有好好學(xué)習(xí),如果對(duì)它掌握的不太好或者很久沒(méi)用了,建議先從將其好好復(fù)習(xí)一下,將其基本的語(yǔ)法再好好回顧一下,最好能搭建一個(gè)環(huán)境來(lái)運(yùn)行、調(diào)試它。如果沒(méi)有學(xué)過(guò),不妨也提前學(xué)習(xí)一下,可以參考清華大學(xué)出版社出版的譚浩強(qiáng)老師的《C語(yǔ)言程序設(shè)計(jì)》,推薦這本書(shū)的原因一是它已經(jīng)經(jīng)過(guò)了多年的考驗(yàn),應(yīng)該說(shuō)還是比較嚴(yán)謹(jǐn)?shù)?其次就是大部分的高校所開(kāi)設(shè)的C語(yǔ)言使用的教材都是用它作為教材,因此無(wú)論是購(gòu)買還是借閱,都容易找到。
其次,如果你后續(xù)有志于游戲方面的開(kāi)發(fā),你最好具備一定的數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)知識(shí)。雖然現(xiàn)代的高級(jí)編程語(yǔ)言中,其類庫(kù)中已經(jīng)幫我們實(shí)現(xiàn)了大部分的數(shù)據(jù)結(jié)構(gòu),一般情況下,我們直接使用即可。但如果你能對(duì)其原理有所了解,當(dāng)你需要在這些數(shù)據(jù)結(jié)構(gòu)和算法中間的時(shí)候,你可以能更加的清楚到底應(yīng)該選擇那個(gè)數(shù)據(jù)結(jié)構(gòu)或者算法。另外,在圖形圖像處理上面,線性代數(shù)的作用也非常重要,如果能掌握一點(diǎn)這方面的基礎(chǔ)知識(shí),無(wú)疑也會(huì)在后續(xù)的學(xué)習(xí)中如虎添翼。舉個(gè)例子,在Android中,有一個(gè)用于圖形變換的類Matrix,用起來(lái)稍有點(diǎn)難。其實(shí)它的理論基礎(chǔ)就是線性代數(shù)中的矩陣,如果你了解矩陣的基本算法,這個(gè)類的使用可以說(shuō)就易如反掌了。
第三,因?yàn)锳ndroid的應(yīng)用的開(kāi)發(fā)語(yǔ)言用的是Java語(yǔ)言,并且在Android中也用到了Java核心類庫(kù)的大量的類,因此,在學(xué)習(xí)Android開(kāi)發(fā)之前,可以先把Java基本語(yǔ)法和Java SE的基礎(chǔ)類庫(kù)好好學(xué)習(xí)一下,例如:Java中的IO、網(wǎng)絡(luò)、線程、List、Map、Tree等數(shù)據(jù)結(jié)構(gòu)。現(xiàn)在的大學(xué)里也有不少的院系開(kāi)設(shè)了Java課程,教材和圖書(shū)也非常豐富,如果你所在的院系沒(méi)有開(kāi)設(shè),也可以從其他開(kāi)設(shè)了這個(gè)專業(yè)的院系同學(xué)那里借閱一下,并認(rèn)真完成他們所布置的作業(yè),爭(zhēng)取自己能動(dòng)手編寫(xiě)出一些簡(jiǎn)單的Java應(yīng)用。如果自己購(gòu)買圖書(shū),可以購(gòu)買《Java核心技術(shù),卷1(原書(shū)第8版)》這本圖書(shū)來(lái)學(xué)習(xí)。
第四,因?yàn)樵贏ndroid中,會(huì)用到數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù),因此,也可以提前對(duì)數(shù)據(jù)庫(kù)知識(shí)做相關(guān)的儲(chǔ)備。在Android所使用的SQLite中,其語(yǔ)法是遵循標(biāo)準(zhǔn)的SQL-92語(yǔ)法的(當(dāng)然和企業(yè)級(jí)數(shù)據(jù)庫(kù)如Oracle等比較,功能上要弱很多),有條件的話,最好也能安裝一個(gè)數(shù)據(jù)庫(kù)來(lái)進(jìn)行實(shí)際的操作。從易用性和資料完備性來(lái)說(shuō),建議大家使用Microsoft SQL Server或者M(jìn)ySQL就可以了。它們都是我們學(xué)習(xí)數(shù)據(jù)庫(kù)的好平臺(tái)。另外,如果曾經(jīng)學(xué)習(xí)過(guò)數(shù)據(jù)庫(kù)原理或者關(guān)系代數(shù),那么,在學(xué)習(xí)數(shù)據(jù)庫(kù)的過(guò)程中,也可以再好好地復(fù)習(xí)一下這些基礎(chǔ)知識(shí),對(duì)我們理解數(shù)據(jù)庫(kù)大有裨益。
Android開(kāi)發(fā)學(xué)習(xí)方法
Android 是一個(gè)比較龐大的體系,從底層的Linux內(nèi)核到上層的應(yīng)用層,各部分的內(nèi)容跨度也比較大。因此,一個(gè)好的學(xué)習(xí)方法對(duì)我們學(xué)習(xí)Android開(kāi)發(fā)很重要。在此建議各位同學(xué)采取循序漸進(jìn)、將大目標(biāo)分解成多個(gè)小目標(biāo),逐步達(dá)成對(duì)Android開(kāi)發(fā)的全面掌握。例如,可以先從Android的應(yīng)用開(kāi)發(fā)開(kāi)始,等到對(duì)應(yīng)用掌握的比較熟悉了,開(kāi)始慢慢閱讀一些Android 應(yīng)用框架層的源代碼,然后再漸漸往下去了解Android的JNI、Libraries、Dalvik虛擬機(jī)、HAL層、硬件驅(qū)動(dòng)、Linux內(nèi)核、 ARM技術(shù)體系架構(gòu)等,雖然近期Intel宣稱要讓Intel芯片支持Android系統(tǒng),但在可預(yù)見(jiàn)的時(shí)期內(nèi),在移動(dòng)設(shè)備上,ARM的優(yōu)勢(shì)應(yīng)該還是不可撼動(dòng)的。
具體來(lái)說(shuō),可以先通過(guò)在開(kāi)發(fā)板上構(gòu)建一個(gè)自己的Android系統(tǒng),了解Android系統(tǒng)的整體架構(gòu)和啟動(dòng)過(guò)程,由此先對(duì) Android有一個(gè)初步的了解;接下來(lái),學(xué)習(xí)Android的應(yīng)用開(kāi)發(fā),在這里可以先學(xué)習(xí)Android的幾個(gè)主要組件、UI組件,先對(duì)Android 應(yīng)用開(kāi)發(fā)有一個(gè)感性認(rèn)識(shí)。在能夠熟練搭建用戶界面后,再逐漸來(lái)豐富應(yīng)用的功能,例如:加上事件處理,使其能夠和用戶互動(dòng);加上數(shù)據(jù)存儲(chǔ)功能;加上聯(lián)網(wǎng)功能等等。
在學(xué)完應(yīng)用后,在此基礎(chǔ)上來(lái)學(xué)習(xí)游戲編程,先了解游戲設(shè)計(jì)的基本思路,然后開(kāi)始從小的游戲、小的模塊開(kāi)始做起,到最后能完成一個(gè)類似于現(xiàn)在熱門的《捕魚(yú)達(dá)人》這樣的游戲。在掌握了這些應(yīng)用層級(jí)的內(nèi)容后,可以去了解如何在Android應(yīng)用中通過(guò)JNI去調(diào)用C/C++的接口,再往下學(xué)習(xí)Linux的內(nèi)核和驅(qū)動(dòng)開(kāi)發(fā)如字符設(shè)備驅(qū)動(dòng)、Flash設(shè)備驅(qū)動(dòng)、網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)等等;再在此基礎(chǔ)上,去學(xué)習(xí)Android驅(qū)動(dòng)開(kāi)發(fā)、HAL(硬件抽象層)開(kāi)發(fā)、ARM體系架構(gòu)和指令等等內(nèi)容,這樣,Android開(kāi)發(fā)的整個(gè)體系就都貫穿起來(lái)了。
當(dāng)然,因?yàn)闀r(shí)間有限,而底層部分的內(nèi)容比較龐雜,因此,在真正去做這部分工作之前,我們只需要對(duì)其基本原理有所了解,做好相關(guān)知識(shí)的儲(chǔ)備,這樣在后續(xù)的工作中,就可以方便的往這方面發(fā)展,讓自己的事業(yè)更上一層樓。
android學(xué)習(xí)方法三
Android主導(dǎo)移動(dòng)互聯(lián)市場(chǎng).已經(jīng)成為當(dāng)下的熱門行業(yè).在就業(yè)難的熱潮中.Android開(kāi)發(fā)像是一扇門.通向光明的未來(lái).廣闊的市場(chǎng)占有率和巨大的發(fā)展空間都預(yù)示著Android程序員將要崛起.很多毫無(wú)開(kāi)發(fā)經(jīng)驗(yàn)的人也通過(guò)各種渠道經(jīng)歷嚴(yán)格的篩選來(lái)到千鋒學(xué)習(xí)Android開(kāi)發(fā)技術(shù).作為最具權(quán)威的Android研發(fā)和人才培訓(xùn)基地.對(duì)于零基礎(chǔ)的學(xué)員有著獨(dú)特的教學(xué)方式.真正全日制授課和魔鬼式高強(qiáng)度代碼訓(xùn)練在保障學(xué)員打下扎實(shí)基礎(chǔ)的同是也鍛煉學(xué)員的恒信和毅力.針對(duì)性的教學(xué)完全符合企業(yè)需求.學(xué)員所學(xué)一定企業(yè)所需.大大保障了學(xué)員高薪就業(yè).
千鋒Android培訓(xùn)有著完善的教學(xué)系統(tǒng).循序漸進(jìn)的教學(xué)符合零基礎(chǔ)學(xué)院的學(xué)習(xí)狀況.但總有一些特殊情況需要一些特殊的學(xué)習(xí)方法.每個(gè)人都不同.在Java基礎(chǔ).Android應(yīng)用開(kāi)發(fā).Android游戲開(kāi)發(fā)這樣的大流程上適當(dāng)?shù)拿鞒鲞m合自己學(xué)習(xí)的方法對(duì)整個(gè)Android開(kāi)發(fā)技能的提升都能起到明顯效果.善于學(xué)習(xí).學(xué)會(huì)學(xué)習(xí).不僅僅是在Android培訓(xùn)中.更是以后工作不斷發(fā)展不斷進(jìn)取的動(dòng)力。
