真正的從安卓入門學習到實際工做也差很少一年時間了,也作了幾個項目。在這期間經歷了一開始學習Android的基本知識後仍舊無從下手,不知道如何開始開發一個app,到如今也開始學會注意Android架構的設計優化,學會開始閱讀源碼,漸漸地向Android更高級的知識進階。android
首先要感謝一下Google把Android開源了,加上Android開發人員十分活躍且富有分享精神,這才讓網上關於Android的資料十分豐富,每每遇到一個問題都能從網上找到答案,這對於初學者特別是靠自學沒有人帶的狀況下提供不少的幫助。可是咱們不能知足於「拿來主義」,不少人作過幾個項目後也很快就上手了,可以根據需求快速設計UI,可以使用經常使用的API,對一些第三方的開源庫使用也十分熟練,可是是否是僅僅這樣就夠了?若是是這樣的其實表明你仍是處於初級水平,不少高校實習生或者培訓機構出來的都能完成這樣的工做。因此咱們不該該故步自封,仍是要活到老,學到老~git
好了,廢話很少說。我想從我本身的學習經歷總結一下,但願對之後的學習Android開發的人有一點幫助吧。github
一、關於Java學習數據庫
對於徹底的新手,總有個疑問。是否要把Java精通了才能開始去學習Android。從我本身的經驗來看,徹底沒有必要。Android開發使用的Java語言的語法知識都是是否基礎的,若是你已經有一門編程語言,例如C,C++甚至是腳本語言Python,JavaScript,學習Java的基礎知識其實很快。我本身是科班出身的,咱們學校是大三才開的Java課程,大一大二就學過C,C++。若是你有一些基礎的話,根據每一個人的基礎不一樣學習的速度也不同,可是不要陷入到語法細節裏面。最後的方法是在學習後立刻實踐,在實踐中學習纔是最快的。在基礎知識瞭解得差很少了就能夠開始學習Android開發的基礎知識了。可是若是之後你想向更高級的路走就有必要回過頭來把Java的一些高級知識瞭解一下了。關於Java基礎的我認爲只要先了解一下基本的語法知識,面向對象的三個特色,文件、String、異常處理,固然經常使用的數據結構數組,哈希表是用得最多的。後面能夠再回頭來了解泛型、註解、併發這些知識。對於圖形化Swing、SWT不須要去看。在這期間推薦一些書籍《Head First Java》(給徹底0基礎的,沒有學過任何編程語言的),《Thiking in Java》(這本書給有基礎的看吧),後面更高級的就看《Effective Java》,還有了解一些常見的設計模式,數據結構。有些人喜歡看視頻,對於視頻來講入門還能夠,可是後面更高級的技巧仍是得看書,並且不少最新的知識每每只有文檔,官網。因此能看書儘可能看書吧。編程
二、關於Android入門設計模式
終於到正題了,對於新手來講Android的入門資料其實網上也有一堆,可是質量良莠不齊,選對好的入門資料可讓你少走不少彎路,相反若是選了一些質量差的資料甚至會誤導你,磨滅你的興趣和熱情。因此我在這裏主要想分享一些我我的認爲比較好的入門資料和一些學習方法吧。若是是以前沒有什麼項目經驗的話,能夠先看郭霖的《第一行代碼》,這本算是國內入門書籍比較不錯的,可讓你對Android的總體有個大概瞭解,書的內容很少,對那些想快點動手實踐作點小東西的人不錯。若是想更全面的入門的話能夠接着看《Android編程權威指南》國外的一本教程,雖然書中將的是SDK比較早的版本,大概是4.x的,可是核心的概念都基本有了,並且是經過實際幾個小項目來說解的。書中裏面的主要有兩個重點項目,一個是相似記錄辦公室不文明行爲的應用,介紹了Activity,Fragment,Intent等知識。第二個項目是一個照片牆app,主要涉及到更高級一點技巧圖片,網絡請求,xml解析等,也是十分有用的。基本弄熟了這兩個項目就能夠去找工做了。數組
三、Android開發進一步學習網絡
固然,在實際的公司中的項目不會像書中的那麼簡單。可是這個時候對於新人來講能夠先從網上找到許多解決方案。不少牛人寫的許多開源庫就能夠拿來用了,不必重複造輪子,並且就算本身造還沒人家的好用。因此這個時候就能夠多逛逛GitHub,一些牛人的博客,官方文檔,安卓開發社區等。下面推薦幾個好的資源連接:數據結構
大概就這麼幾個,還有最主要的一些開發社區GitHub就不用說了,國內的話能夠看看稀土掘金不錯,有空的也能夠逛逛知乎上的Android內容。架構
四、關於Android開發進階
在這個階段就須要開始瞭解Android一些機制後面的原理了,爲何它要這麼設計。還有能夠關注一些Android最新的最流行的技術,能夠對app開發進行優化,從架構的角度上來思考。這個時候最好的學習方法固然是去閱讀源碼,經過源碼瞭解Android應用層背後的東西,好比:
書籍的話國內有一本《Android開發藝術探索》,網上評價不錯,我本身還沒看過。
五、給個學習路線圖,有目標學習起來也比較明確
主要也就這些,後面有新的東西會繼續更新...加油吧,少年!咱們要相信前途是光明的~~