學(xué)習(xí)Android也一年多了,項(xiàng)目做了五六個(gè),有大有小,有難有易。一直以來(lái)都沒(méi)有好好總結(jié)過(guò),今天周六休息,就寫(xiě)下這一年多從事Android以來(lái)的一些感想和小經(jīng)驗(yàn)。涉及學(xué)習(xí)、項(xiàng)目和一些個(gè)人感受。
1.學(xué)習(xí)篇
我是從11年5月份開(kāi)始接觸并學(xué)習(xí)Android的,在那之前有過(guò)一年的J2EE的經(jīng)驗(yàn),做過(guò)三個(gè)J2EE的項(xiàng)目,從08年開(kāi)始接觸Java,所以到去年學(xué)習(xí)Android時(shí),開(kāi)發(fā)語(yǔ)言上我還是比較熟悉的,這也成了我為什么學(xué)習(xí)Android的一個(gè)理由。還有一個(gè)更重要的理由就是接下來(lái)的研究生學(xué)習(xí)中,Android也是我一個(gè)比較重要的方向,所以我選擇在沒(méi)開(kāi)學(xué)前就開(kāi)始自學(xué)Android。
我有一個(gè)學(xué)習(xí)癖好,我喜歡看視頻去學(xué),然后馬上根據(jù)視頻中講到的東西去練習(xí),然后反復(fù)去重復(fù),剛開(kāi)始可能不理解,但是在不斷的重復(fù)中有兩個(gè)好處,一個(gè)是對(duì)Android的使用熟悉了,還一個(gè)更重要的是在重復(fù)中逐漸對(duì)知識(shí)進(jìn)行理解了。剛開(kāi)始我的學(xué)習(xí)資料全部都是視頻,加起來(lái)有好幾十G,最先看的是Mars的學(xué)習(xí)視頻,在網(wǎng)上是公認(rèn)的對(duì)Android基礎(chǔ)講的比較不錯(cuò)的視頻教程。我從第一集完整的看到了最后一集,里面的每個(gè)小例子都做了一遍,有的甚至還看了幾遍,從最初對(duì)Activity的不理解到后來(lái)的輕車(chē)熟路,這是一個(gè)過(guò)程,學(xué)習(xí)的過(guò)程就是不斷解決問(wèn)題的過(guò)程,遇到困難不去逃避才是成功的最大保障。Mars的視頻看完后我又看了一個(gè)專(zhuān)門(mén)講Android小項(xiàng)目的視頻(具體名字我不記得了),講這個(gè)視頻的是個(gè)大學(xué)生,學(xué)Android比較早了,貌似也是湖南的(我是湖南益陽(yáng)人),總共三個(gè)小項(xiàng)目,分別是通訊錄、手機(jī)衛(wèi)士、應(yīng)用管理器,雖然都很小,但是對(duì)剛學(xué)過(guò)基礎(chǔ)的我來(lái)說(shuō)確實(shí)是一個(gè)比較不錯(cuò)的練手資料,我從頭到尾的邊學(xué)邊做了一遍,然后又自己獨(dú)立做了一遍,這一遍就加了自己的一些改動(dòng)和延伸,雖然是做同樣的事,但是第二遍的感覺(jué)跟第一遍完全不一樣,從思想上去理解與從流程上去理解是完全不同的。這樣,我的Android小項(xiàng)目就完成了,通過(guò)第二波的學(xué)習(xí),我對(duì)Android的框架和基本使用就基本沒(méi)問(wèn)題了,收獲到的經(jīng)驗(yàn)就是:不斷深入理解、重復(fù)、重復(fù)、再重復(fù)。不要覺(jué)得已經(jīng)看過(guò)的知識(shí)點(diǎn)就已經(jīng)理解了,其實(shí)隨便一考,還是不會(huì)。所以,別給自己偷懶的機(jī)會(huì),別停留在心里的舒適區(qū)域,不斷挑戰(zhàn)自己才能取得成功。下面貼出我最先完成的兩個(gè)小項(xiàng)目的截圖,很簡(jiǎn)單,但是是我的第一件作品:
上面這個(gè)是我做的第一個(gè)App,功能很簡(jiǎn)單,就是把當(dāng)前手機(jī)中用戶(hù)自己安裝的應(yīng)用全部列出來(lái),然后可以在這里打開(kāi),卸載和查看詳細(xì)信息的操作。功能簡(jiǎn)單,但是做完這個(gè),對(duì)Android的使用已經(jīng)有了初步的認(rèn)識(shí)。
接下來(lái)我又做了第二個(gè)App,實(shí)現(xiàn)的功能是手機(jī)防盜,根據(jù)判斷用戶(hù)手機(jī)SIM卡的唯一序列號(hào)來(lái)進(jìn)行識(shí)別,綁定安全號(hào)碼后,如果手機(jī)的SIM卡被更換,就會(huì)再下次開(kāi)機(jī)時(shí)自動(dòng)發(fā)送一條短信給安全號(hào)碼,信息的內(nèi)容包括對(duì)方更換的SIM卡的電話(huà)號(hào)碼和位置信息以及SIM卡的其他詳細(xì)信息。界面截圖如下:
做完這兩個(gè)小項(xiàng)目以后,我開(kāi)始了繼續(xù)的學(xué)習(xí),這次的目的主要是深化知識(shí)體系,深入了解Android框架的原理和使用,配合更多的練習(xí)和重復(fù)來(lái)強(qiáng)化自己的知識(shí)體系。還是一樣,這段時(shí)間我又看了一套視頻,是由Sundy講的一套Android視頻,這套視頻的目的是結(jié)合Android源碼來(lái)講的,講的比較深入,適合提高階段來(lái)學(xué)習(xí),同時(shí),他也會(huì)配套一些練習(xí),這套視頻的講授過(guò)程結(jié)合思維導(dǎo)圖來(lái)進(jìn)行,思維結(jié)構(gòu)特別清晰,是一套非常不錯(cuò)的視頻教程,有時(shí)間可以多看幾遍。隨后也看過(guò)傳智播客黎活明老師講的Android開(kāi)發(fā)視頻,感覺(jué)這位老師實(shí)力真的很強(qiáng)(臺(tái)灣人,普通話(huà)不是很好),我有個(gè)同學(xué)在傳智播客學(xué)過(guò),說(shuō)這位老師為人很低調(diào),但實(shí)力非同一般,也是傳智播客的幾位大牛級(jí)人物之一(這里沒(méi)有廣告嫌疑,只是順便說(shuō)說(shuō),嘿嘿)。關(guān)于視頻部分,后來(lái)陸陸續(xù)續(xù)還看了幾部,不過(guò)這期間以動(dòng)手練習(xí)為主了,像以前講微博客戶(hù)端的那些我都看了一下,其實(shí),那時(shí)(2011年7、8月左右)網(wǎng)上的Android視頻還不是很多,經(jīng)典的就更少,現(xiàn)在很多啦。與此同時(shí),我開(kāi)始關(guān)注像CSDN和開(kāi)源中國(guó)等一類(lèi)的技術(shù)博客,在上面尋找一些有用的學(xué)習(xí)資源,包括一些電子書(shū)和一些別人做的小Demo小教程,通過(guò)這些,可以了解別人的學(xué)習(xí)思路和過(guò)程,通過(guò)看電子書(shū),可以更扎實(shí)的掌握Android的基礎(chǔ)知識(shí)。后續(xù)我也陸續(xù)看過(guò)幾本Android開(kāi)發(fā)的書(shū)籍,這樣可以更系統(tǒng)的了解知識(shí)體系,彌補(bǔ)了前期看視頻的一閃而過(guò)。
期間還做過(guò)一個(gè)APP,這個(gè)我只負(fù)責(zé)界面制作,也是通過(guò)這個(gè)項(xiàng)目使我對(duì)布局和Android界面實(shí)現(xiàn)有了一個(gè)很大的進(jìn)步,具體請(qǐng)看以前我寫(xiě)的 AppTry項(xiàng)目經(jīng)驗(yàn)談
2.項(xiàng)目篇
到了這個(gè)階段,研究生開(kāi)學(xué)了,我也就進(jìn)入了學(xué)校,開(kāi)始了研究生的學(xué)習(xí)和生活,那個(gè)時(shí)候,我已經(jīng)算有初步的Android開(kāi)發(fā)經(jīng)驗(yàn)和知識(shí)體系了,可以說(shuō)走在了其他同學(xué)的前面,加上以前不算很久的J2EE經(jīng)驗(yàn),很快就被大家認(rèn)可,并被選為我們學(xué)習(xí)組的組長(zhǎng),負(fù)責(zé)班上10個(gè)同學(xué)的Java基礎(chǔ)輔導(dǎo)和Android輔導(dǎo),那個(gè)時(shí)候每周我們都會(huì)找一個(gè)晚上聚在一起,首先我會(huì)跟大家講一些Java基礎(chǔ)知識(shí),然后會(huì)講一些Android最基礎(chǔ)的內(nèi)容,因?yàn)槟莻€(gè)時(shí)候Android知識(shí)體系還不是特別健全,所以給大家講Android基本都是入門(mén)級(jí)的,就這樣,我們堅(jiān)持了一個(gè)學(xué)期,為此,我還專(zhuān)門(mén)做了一個(gè)計(jì)劃,內(nèi)容基本涵蓋了Android的初級(jí)知識(shí)體系,到最后也基本都講完了,通過(guò)這段經(jīng)歷,使我對(duì)Android知識(shí)的理解又有了更深一層的認(rèn)識(shí),真正自己講出來(lái)的和在腦子里理解的還是不一樣,自己的永遠(yuǎn)是自己的,但講出來(lái)給別人聽(tīng),確實(shí)需要對(duì)知識(shí)理解的比較完整。在研一的第一個(gè)學(xué)期,我完成了從Android初學(xué)者到初中級(jí)Android開(kāi)發(fā)者的轉(zhuǎn)變,在此期間,通過(guò)兩輪面試,我進(jìn)入了北航愛(ài)立信聯(lián)合實(shí)驗(yàn)室,直接進(jìn)行Android項(xiàng)目的開(kāi)發(fā)工作。
進(jìn)入愛(ài)立信實(shí)驗(yàn)室后,導(dǎo)師分配給我們每個(gè)人一個(gè)項(xiàng)目,那時(shí)只是個(gè)很抽象的概念,一個(gè)名字和一些簡(jiǎn)單的描述,然后我們就開(kāi)始做。我做的是一款名片類(lèi)應(yīng)用,到現(xiàn)在為止,我還在做這款應(yīng)用,這款A(yù)pp已經(jīng)經(jīng)過(guò)了幾個(gè)版本的迭代,功能也是越來(lái)越全面,現(xiàn)在,這個(gè)項(xiàng)目已經(jīng)成了實(shí)驗(yàn)室的重點(diǎn)項(xiàng)目,人員也從最初的我一個(gè)人,到現(xiàn)在由我?guī)ьI(lǐng)的一個(gè)五人團(tuán)隊(duì),有Android開(kāi)發(fā)、有UI/UX、根據(jù)功能,我們后續(xù)又增加了服務(wù)端開(kāi)發(fā)、IOS版開(kāi)發(fā)。到現(xiàn)在,我們?nèi)匀粫?huì)繼續(xù)把這個(gè)項(xiàng)目做好做大。這里貼出來(lái)目前最新版本的截圖,不足之處,還望大家見(jiàn)諒,哈哈
現(xiàn)在這款應(yīng)用已經(jīng)在Google Play上發(fā)布了最新版,名字叫CardBox,這個(gè)軟件從最初的構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)基本上是由我一個(gè)人完成的,后續(xù)組成團(tuán)隊(duì)后,也有團(tuán)隊(duì)成員的共同努力,感興趣的朋友可以去下載試用,給出評(píng)價(jià)意見(jiàn)供我們改進(jìn)那就再感謝不過(guò)了,呵呵。
附上Google Play上的下載地址: CardBox下載地址
接下來(lái)繼續(xù)講我的Android學(xué)習(xí)之旅吧!
在此期間,我又陸續(xù)做了幾個(gè)項(xiàng)目,一個(gè)是學(xué)校課程的項(xiàng)目,也是由我?guī)б粋€(gè)組進(jìn)行設(shè)計(jì)和開(kāi)發(fā),這個(gè)項(xiàng)目是一個(gè)移動(dòng)圖書(shū)館,我們自己利用J2EE技術(shù)做了服務(wù)端,然后用Android做客戶(hù)端,功能很簡(jiǎn)單,但是這個(gè)項(xiàng)目讓我們的團(tuán)隊(duì)成員都發(fā)揮了各自的能力,分工明確,大家一同努力的感覺(jué)很好。同樣附上這個(gè)項(xiàng)目的幾個(gè)截圖:
這個(gè)項(xiàng)目我們主要實(shí)現(xiàn)了登陸和書(shū)籍查詢(xún)的功能,同時(shí)用到了科大訊飛提供的語(yǔ)音查詢(xún)API,這也是我們的特色之一,另外就是支持把自己感興趣的書(shū)籍分享到SNS平臺(tái),分享這一塊我們用的是友盟提供的SDK,目前支持新浪、騰訊、人人網(wǎng)分享。這個(gè)項(xiàng)目我主要負(fù)責(zé)項(xiàng)目的統(tǒng)籌管理、Android端設(shè)計(jì)以及基本實(shí)現(xiàn),我們的分工是我負(fù)責(zé)移動(dòng)端設(shè)計(jì)開(kāi)發(fā),另外兩名同學(xué)協(xié)助我,一名同學(xué)負(fù)責(zé)需求分析與文檔整理,兩名同學(xué)負(fù)責(zé)服務(wù)端,這樣下來(lái),到最后答辯的時(shí)候,我們的效果還是不錯(cuò)的,呵呵!
到這里,我的Android知識(shí)面相比最初開(kāi)始學(xué)習(xí)時(shí),已經(jīng)豐富了很多,當(dāng)然,開(kāi)發(fā)的過(guò)程中會(huì)遇到很多問(wèn)題,包括不會(huì)的知識(shí)點(diǎn),包括bug等,對(duì)于新知識(shí)點(diǎn),我一直認(rèn)為不斷的學(xué)習(xí)非常重要,不能因?yàn)橐粋€(gè)點(diǎn)不會(huì)就放棄或找別的方法,如果這是最優(yōu)方案,那就一定要去學(xué)。關(guān)于開(kāi)發(fā)中的bug,做軟件開(kāi)發(fā)都不可避免遇到這個(gè)問(wèn)題,沉下心來(lái),仔細(xì)分析、不浮躁,問(wèn)題總會(huì)解決,我對(duì)bug的看法就是這是一個(gè)重新審視自己寫(xiě)的代碼的機(jī)會(huì),從中會(huì)收獲很多。
接下來(lái),通過(guò)朋友的介紹,我接了一個(gè)外包項(xiàng)目,這是我第一次接項(xiàng)目來(lái)做,項(xiàng)目是一個(gè)手機(jī)連鎖的移動(dòng)終端,有服務(wù)端支持,我負(fù)責(zé)Android端的實(shí)現(xiàn),整個(gè)項(xiàng)目由我一人負(fù)責(zé),同時(shí)我也找了一個(gè)同學(xué)來(lái)協(xié)助我。這個(gè)項(xiàng)目是我目前做的最大的一個(gè)Android項(xiàng)目了,它涉及三個(gè)權(quán)限,功能覆蓋定位、網(wǎng)絡(luò)操作、數(shù)據(jù)解析、存儲(chǔ)、通知、服務(wù)、下載、廣播和與服務(wù)端的輪詢(xún),涉及的知識(shí)點(diǎn)比較多,時(shí)間持續(xù)了兩個(gè)多月,代碼總共2萬(wàn)5千多行,當(dāng)然這個(gè)項(xiàng)目是有報(bào)酬的,具體多少我就不說(shuō)了,呵呵,但是是我目前自己賺到的數(shù)量最多的一次了,包括現(xiàn)在這個(gè)項(xiàng)目還在由我自己維護(hù)。通過(guò)這個(gè)項(xiàng)目真的學(xué)到了很多很多,一方面是對(duì)Android知識(shí)的學(xué)習(xí)和真正的運(yùn)用,還有就是參與這種真實(shí)的商業(yè)項(xiàng)目開(kāi)發(fā)所接觸到學(xué)校所不能接觸的東西,包括團(tuán)隊(duì)協(xié)作、管理等。在服務(wù)端與客戶(hù)端接口設(shè)計(jì)那段時(shí)間,真的是非常頭疼,光接口我們就開(kāi)了不少會(huì),接口版本就改了十幾版,期間功能也不斷更新、移動(dòng)端界面也不斷在改,很慶幸,這個(gè)項(xiàng)目我們順利的做下來(lái)了,項(xiàng)目團(tuán)隊(duì)中我最小,負(fù)責(zé)服務(wù)端的都是有十來(lái)年開(kāi)發(fā)經(jīng)驗(yàn)的人,和他們比我真是小巫見(jiàn)大巫了,但真的學(xué)到了不少。這里我就不貼界面截圖了,因?yàn)樯婕吧虡I(yè)機(jī)密,因?yàn)檫@個(gè)項(xiàng)目是他們集團(tuán)內(nèi)部使用的一個(gè)項(xiàng)目。
最后我要介紹的一個(gè)我參與過(guò)的項(xiàng)目也是一個(gè)商業(yè)項(xiàng)目,這是一個(gè)公益平臺(tái),由我們實(shí)驗(yàn)室的幾個(gè)人接的一個(gè)活,我主要負(fù)責(zé)項(xiàng)目的界面實(shí)現(xiàn)以及幾個(gè)小功能的實(shí)現(xiàn),這個(gè)項(xiàng)目我接觸到了一個(gè)比較正規(guī)的項(xiàng)目架構(gòu),帶我們做這個(gè)項(xiàng)目的是以前百度出來(lái)的一個(gè)人,他現(xiàn)在自己在和朋友開(kāi)公司,通過(guò)朋友介紹,安排了一個(gè)項(xiàng)目給我們做,我們也把這個(gè)當(dāng)做一個(gè)機(jī)會(huì),以練習(xí)為主,另外還用到比如Monkey測(cè)試,這個(gè)在以前我就沒(méi)用過(guò),包括局部調(diào)試,以往調(diào)試都是把項(xiàng)目全部運(yùn)行一次,用了局部調(diào)試,真的是省時(shí)省力。這里我貼一個(gè)那時(shí)我們還在開(kāi)發(fā)中的一個(gè)截圖,大家看看就行,基本功能類(lèi)似微博,服務(wù)端是由他們自己做的,把各大微博平臺(tái)的數(shù)據(jù)收集起來(lái)到這里展示,大部分功能都類(lèi)似微博:
3.心態(tài)篇
不管做什么,好心態(tài)永遠(yuǎn)是最重要的,像IT行業(yè),更新快、競(jìng)爭(zhēng)大。我們無(wú)法時(shí)時(shí)刻刻保持自己在最新?tīng)顟B(tài),所以,要保持一個(gè)好心態(tài),不斷學(xué)習(xí)的同時(shí)要把生活過(guò)好、把身體鍛煉好,本來(lái)身處這個(gè)累心累身的行業(yè),尤其要注意這點(diǎn),對(duì)自己好點(diǎn),別跟自己過(guò)不去,有難題,先放放,整理思路,調(diào)整心態(tài),大不了重新出發(fā)。同時(shí),也要堅(jiān)持,堅(jiān)持自己的原則、堅(jiān)持自己的夢(mèng)想,踏實(shí)的走好每一步,輝煌總將來(lái)臨。平時(shí)多發(fā)現(xiàn)生活的美好,和朋友多聊聊,和家人多溝通,提高自己的生活品味,過(guò)好每一天,體驗(yàn)每一天。工作、學(xué)習(xí)、生活三者平衡,把這些做好,我們的人生一定很美好,不求完美,但求充實(shí)。
以上就是我學(xué)習(xí)Android的一些精力和一些做過(guò)的項(xiàng)目,還做了一些其他的小App,這里就不一一列舉了,通過(guò)這些項(xiàng)目,一方面是讓我對(duì)Android開(kāi)發(fā)有了深入的理解,另一面是對(duì)團(tuán)隊(duì)協(xié)作重要性的認(rèn)識(shí),自身再?gòu)?qiáng)大,如果沒(méi)有一個(gè)團(tuán)隊(duì)的支持,那是無(wú)法取得最大的成功的。所以,現(xiàn)在我全身心投入實(shí)驗(yàn)室的項(xiàng)目,希望我們這個(gè)團(tuán)隊(duì)能把事做好,把團(tuán)隊(duì)做好,把項(xiàng)目做好。我想,明年初,我們會(huì)交出一份滿(mǎn)意的答卷。學(xué)習(xí)無(wú)止境,永遠(yuǎn)有一顆向上的心很重要,永遠(yuǎn)不要對(duì)自己滿(mǎn)足,永遠(yuǎn)不要安于現(xiàn)狀、永遠(yuǎn)相信自己的潛能無(wú)限大,做好人,做好事,成功離我們很近。
沒(méi)想到我寫(xiě)的這篇分享得到了這么多人的肯定和關(guān)注,特別感謝大家鼓勵(lì)的話(huà)語(yǔ),著實(shí)給我增添了很多信心,希望和大家多交流、多分享,一同成長(zhǎng),也希望大家多提意見(jiàn)。我將繼續(xù)將我的學(xué)習(xí)分享進(jìn)行下去,希望能給后來(lái)者以參考,也希望前輩能給出指導(dǎo)!最近我在學(xué)習(xí)IOS,我會(huì)將自己的學(xué)習(xí)筆記分享在BLOG中,另外也會(huì)經(jīng)常更新Android后續(xù)學(xué)習(xí)的一些筆記(主要以官方文檔為主),希望大家繼續(xù)關(guān)注,并給出寶貴意見(jiàn)!謝謝大家!
今天,我的這篇文章有幸被@雷鋒網(wǎng)轉(zhuǎn)載了 點(diǎn)擊打開(kāi)鏈接 ,在微博上有很多朋友都轉(zhuǎn)載了我的文章,真的很感謝,謝謝你們的鼓勵(lì)與支持,今后我也會(huì)繼續(xù)記錄下去,記錄我的學(xué)習(xí)、記錄我感興趣的事,分享我的學(xué)習(xí)經(jīng)驗(yàn),因?yàn)橹挥泻蛣e人分享,自己才能得到更多。再一次謝謝大家!
加入我們的或微信公眾賬號(hào)請(qǐng)查看: Ryan's zone公眾賬號(hào)及
歡迎關(guān)注我的新浪微博: 唐韌_Ryan
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
