我的Android之旅——學習、專案、心態

唐韌發表於2013-04-10

來源:唐韌

學習Android也一年多了,專案做了五六個,有大有小,有難有易。一直以來都沒有好好總結過,今天週六休息,就寫下這一年多從事Android以來的一些感想和小經驗。涉及學習、專案和一些個人感受。

1.學習篇

我是從11年5月份開始接觸並學習Android的,在那之前有過一年的J2EE的經驗,做過三個J2EE的專案,從08年開始接觸Java,所以到去年學習Android時,開發語言上我還是比較熟悉的,這也成了我為什麼學習Android的一個理由。還有一個更重要的理由就是接下來的研究生學習中,Android也是我一個比較重要的方向,所以我選擇在沒開學前就開始自學Android。

我有一個學習癖好,我喜歡看視訊去學,然後馬上根據視訊中講到的東西去練習,然後反覆去重複,剛開始可能不理解,但是在不斷的重複中有兩個好處,一個是對Android的使用熟悉了,還一個更重要的是在重複中逐漸對知識進行理解了。剛開始我的學習資料全部都是視訊,加起來有好幾十G,最先看的是Mars的學習視訊,在網上是公認的對Android基礎講的比較不錯的視訊教程。我從第一集完整的看到了最後一集,裡面的每個小例子都做了一遍,有的甚至還看了幾遍,從最初對Activity的不理解到後來的輕車熟路,這是一個過程,學習的過程就是不斷解決問題的過程,遇到困難不去逃避才是成功的最大保障。Mars的視訊看完後我又看了一個專門講Android小專案的視訊(地址:http://www.verycd.com/topics/2847310/),講這個視訊的是個大學生,學Android比較早了,貌似也是湖南的(我是湖南益陽人),總共三個小專案,分別是通訊錄、手機衛士、應用管理器,雖然都很小,但是對剛學過基礎的我來說確實是一個比較不錯的練手資料,我從頭到尾的邊學邊做了一遍,然後又自己獨立做了一遍,這一遍就加了自己的一些改動和延伸,雖然是做同樣的事,但是第二遍的感覺跟第一遍完全不一樣,從思想上去理解與從流程上去理解是完全不同的。這樣,我的Android小專案就完成了,通過第二波的學習,我對Android的框架和基本使用就基本沒問題了,收穫到的經驗就是:不斷深入理解、重複、重複、再重複。不要覺得已經看過的知識點就已經理解了,其實隨便一考,還是不會。所以,別給自己偷懶的機會,別停留在心裡的舒適區域,不斷挑戰自己才能取得成功。下面貼出我最先完成的兩個小專案的截圖,很簡單,但是是我的第一件作品:

我的Android之旅——學習、專案、心態

上面這個是我做的第一個App,功能很簡單,就是把當前手機中使用者自己安裝的應用全部列出來,然後可以在這裡開啟,解除安裝和檢視詳細資訊的操作。功能簡單,但是做完這個,對Android的使用已經有了初步的認識。

接下來我又做了第二個App,實現的功能是手機防盜,根據判斷使用者手機SIM卡的唯一序列號來進行識別,繫結安全號碼後,如果手機的SIM卡被更換,就會再下次開機時自動傳送一條簡訊給安全號碼,資訊的內容包括對方更換的SIM卡的電話號碼和位置資訊以及SIM卡的其他詳細資訊。介面截圖如下:

我的Android之旅——學習、專案、心態

做完這兩個小專案以後,我開始了繼續的學習,這次的目的主要是深化知識體系,深入瞭解Android框架的原理和使用,配合更多的練習和重複來強化自己的知識體系。還是一樣,這段時間我又看了一套視訊,是由Sundy講的一套Android視訊,這套視訊的目的是結合Android原始碼來講的,講的比較深入,適合提高階段來學習,同時,他也會配套一些練習,這套視訊的講授過程結合思維導圖來進行,思維結構特別清晰,是一套非常不錯的視訊教程,有時間可以多看幾遍。隨後也看過傳智播客黎活明老師講的Android開發視訊,感覺這位老師實力真的很強(臺灣人,普通話不是很好),我有個同學在傳智播客學過,說這位老師為人很低調,但實力非同一般,年薪100W+,也是傳智播客的幾位大牛級人物之一(這裡沒有廣告嫌疑,只是順便說說,嘿嘿)。關於視訊部分,後來陸陸續續還看了幾部,不過這期間以動手練習為主了,像以前講微部落格戶端的那些我都看了一下,其實,那時(2011年7、8月左右)網上的Android視訊還不是很多,經典的就更少,現在很多啦。與此同時,我開始關注像CSDN和開源中國等一類的技術部落格,在上面尋找一些有用的學習資源,包括一些電子書和一些別人做的小Demo小教程,通過這些,可以瞭解別人的學習思路和過程,通過看電子書,可以更紮實的掌握Android的基礎知識。後續我也陸續看過幾本Android開發的書籍,這樣可以更系統的瞭解知識體系,彌補了前期看視訊的一閃而過。

期間還做過一個APP,這個我只負責介面製作,也是通過這個專案使我對佈局和Android介面實現有了一個很大的進步,具體請看以前我寫的AppTry專案經驗談

 

2.專案篇

到了這個階段,研究生開學了,我也就進入了學校,開始了研究生的學習和生活,那個時候,我已經算有初步的Android開發經驗和知識體系了,可以說走在了其他同學的前面,加上以前不算很久的J2EE經驗,很快就被大家認可,並被選為我們學習組的組長,負責班上10個同學的Java基礎輔導和Android輔導,那個時候每週我們都會找一個晚上聚在一起,首先我會跟大家講一些Java基礎知識,然後會講一些Android最基礎的內容,因為那個時候Android知識體系還不是特別健全,所以給大家講Android基本都是入門級的,就這樣,我們堅持了一個學期,為此,我還專門做了一個計劃,內容基本涵蓋了Android的初級知識體系,到最後也基本都講完了,通過這段經歷,使我對Android知識的理解又有了更深一層的認識,真正自己講出來的和在腦子裡理解的還是不一樣,自己的永遠是自己的,但講出來給別人聽,確實需要對知識理解的比較完整。在研一的第一個學期,我完成了從Android初學者到初中級Android開發者的轉變,在此期間,通過兩輪面試,我進入了北航愛立信聯合實驗室,直接進行Android專案的開發工作。

進入愛立信實驗室後,導師分配給我們每個人一個專案,那時只是個很抽象的概念,一個名字和一些簡單的描述,然後我們就開始做。我做的是一款名片類應用,到現在為止,我還在做這款應用,這款App已經經過了幾個版本的迭代,功能也是越來越全面,現在,這個專案已經成了實驗室的重點專案,人員也從最初的我一個人,到現在由我帶領的一個五人團隊,有Android開發、有UI/UX、根據功能,我們後續又增加了服務端開發、IOS版開發。到現在,我們仍然會繼續把這個專案做好做大。這裡貼出來目前最新版本的截圖,不足之處,還望大家見諒,哈哈


我的Android之旅——學習、專案、心態我的Android之旅——學習、專案、心態

我的Android之旅——學習、專案、心態我的Android之旅——學習、專案、心態

現在這款應用已經在Google Play上釋出了最新版,名字叫CardBox,這個軟體從最初的構思、設計、實現基本上是由我一個人完成的,後續組成團隊後,也有團隊成員的共同努力,感興趣的朋友可以去下載試用,給出評價意見供我們改進那就再感謝不過了,呵呵。

 

附上Google Play上的下載地址:CardBox下載地址

 

接下來繼續講我的Android學習之旅吧!

在此期間,我又陸續做了幾個專案,一個是學校課程的專案,也是由我帶一個組進行設計和開發,這個專案是一個移動圖書館,我們自己利用J2EE技術做了服務端,然後用Android做客戶端,功能很簡單,但是這個專案讓我們的團隊成員都發揮了各自的能力,分工明確,大家一同努力的感覺很好。同樣附上這個專案的幾個截圖:

我的Android之旅——學習、專案、心態我的Android之旅——學習、專案、心態我的Android之旅——學習、專案、心態

這個專案我們主要實現了登陸和書籍查詢的功能,同時用到了科大訊飛提供的語音查詢API,這也是我們的特色之一,另外就是支援把自己感興趣的書籍分享到SNS平臺,分享這一塊我們用的是友盟提供的SDK,目前支援新浪、騰訊、人人網分享。這個專案我主要負責專案的統籌管理、Android端設計以及基本實現,我們的分工是我負責移動端設計開發,另外兩名同學協助我,一名同學負責需求分析與文件整理,兩名同學負責服務端,這樣下來,到最後答辯的時候,我們的效果還是不錯的,呵呵!

到這裡,我的Android知識面相比最初開始學習時,已經豐富了很多,當然,開發的過程中會遇到很多問題,包括不會的知識點,包括bug等,對於新知識點,我一直認為不斷的學習非常重要,不能因為一個點不會就放棄或找別的方法,如果這是最優方案,那就一定要去學。關於開發中的bug,做軟體開發都不可避免遇到這個問題,沉下心來,仔細分析、不浮躁,問題總會解決,我對bug的看法就是這是一個重新審視自己寫的程式碼的機會,從中會收穫很多。

接下來,通過朋友的介紹,我接了一個外包專案,這是我第一次接專案來做,專案是一個手機連鎖的移動終端,有服務端支援,我負責Android端的實現,整個專案由我一人負責,同時我也找了一個同學來協助我。這個專案是我目前做的最大的一個Android專案了,它涉及三個許可權,功能覆蓋定位、網路操作、資料解析、儲存、通知、服務、下載、廣播和與服務端的輪詢,涉及的知識點比較多,時間持續了兩個多月,程式碼總共2萬5千多行,當然這個專案是有報酬的,具體多少我就不說了,呵呵,但是是我目前自己賺到的數量最多的一次了,包括現在這個專案還在由我自己維護。通過這個專案真的學到了很多很多,一方面是對Android知識的學習和真正的運用,還有就是參與這種真實的商業專案開發所接觸到學校所不能接觸的東西,包括團隊協作、管理等。在服務端與客戶端介面設計那段時間,真的是非常頭疼,光介面我們就開了不少會,介面版本就改了十幾版,期間功能也不斷更新、移動端介面也不斷在改,很慶幸,這個專案我們順利的做下來了,專案團隊中我最小,負責服務端的都是有十來年開發經驗的人,和他們比我真是小巫見大巫了,但真的學到了不少。這裡我就不貼介面截圖了,因為涉及商業機密,因為這個專案是他們集團內部使用的一個專案。

最後我要介紹的一個我參與過的專案也是一個商業專案,這是一個公益平臺,由我們實驗室的幾個人接的一個活,我主要負責專案的介面實現以及幾個小功能的實現,這個專案我接觸到了一個比較正規的專案架構,帶我們做這個專案的是以前百度出來的一個人,他現在自己在和朋友開公司,通過朋友介紹,安排了一個專案給我們做,我們也把這個當做一個機會,以練習為主,主要學習到了一個優秀的Android專案架構,學習了一些平常我們不用的只是,比如Monkey測試,這個在以前我就沒用過,包括區域性除錯,以往除錯都是把專案全部執行一次,用了區域性除錯,真的是省時省力。這裡我貼一個那時我們還在開發中的一個截圖,大家看看就行,基本功能類似微博,服務端是由他們自己做的,把各大微博平臺的資料收集起來到這裡展示,大部分功能都類似微博:

我的Android之旅——學習、專案、心態

 

我的Android之旅——學習、專案、心態我的Android之旅——學習、專案、心態

3.心態篇

不管做什麼,好心態永遠是最重要的,像IT行業,更新快、競爭大。我們無法時時刻刻保持自己在最新狀態,所以,要保持一個好心態,不斷學習的同時要把生活過好、把身體鍛鍊好,本來身處這個累心累身的行業,尤其要注意這點,對自己好點,別跟自己過不去,有難題,先放放,整理思路,調整心態,大不了重新出發。同時,也要堅持,堅持自己的原則、堅持自己的夢想,踏實的走好每一步,輝煌總將來臨。平時多發現生活的美好,和朋友多聊聊,和家人多溝通,提高自己的生活品味,過好每一天,體驗每一天。工作、學習、生活三者平衡,把這些做好,我們的人生一定很美好,不求完美,但求充實。

以上就是我學習Android的一些精力和一些做過的專案,還做了一些其他的小App,這裡就不一一列舉了,通過這些專案,一方面是讓我對Android開發有了深入的理解,另一面是對團隊協作重要性的認識,自身再強大,如果沒有一個團隊的支援,那是無法取得最大的成功的。所以,現在我全身心投入實驗室的專案,希望我們這個團隊能把事做好,把團隊做好,把專案做好。我想,明年初,我們會交出一份滿意的答卷。學習無止境,永遠有一顆向上的心很重要,永遠不要對自己滿足,永遠不要安於現狀、永遠相信自己的潛能無限大,做好人,做好事,成功離我們很近。

 

沒想到我寫的這篇分享得到了這麼多人的肯定和關注,特別感謝大家鼓勵的話語,著實給我增添了很多信心,希望和大家多交流、多分享,一同成長,也希望大家多提意見。我將繼續將我的學習分享進行下去,希望能給後來者以參考,也希望前輩能給出指導!最近我在學習IOS,我會將自己的學習筆記分享在BLOG中,另外也會經常更新Android後續學習的一些筆記(主要以官方文件為主),希望大家繼續關注,並給出寶貴意見!謝謝大家!

 

歡迎關注我的新浪微博:唐韌_Ryan

相關文章