1. 程式人生 > >筆者的心血Android學習路線,不好不要吐槽...分享就好

筆者的心血Android學習路線,不好不要吐槽...分享就好

  好久都沒寫部落格了,最近筆者被許多學弟問道如何自學Android這個問題,因為筆者是自學的,所以我就決定寫下這篇部落格,讓那些迷茫的入門的學者慢慢從迷茫看清目標,雖然我的這篇部落格不能保證你成為牛逼的Android程式設計師,但是是初學者必須經歷的學習大綱,希望學者們耐心學習,難題總會有,筆者這個階段也遇到各種難題,挺過去,意想不到的事情在後面。祝學者們好好學習,成為一名合格的Android程式設計師。

1.JavaSE部分

以下是學習大綱:
(A)Java執行環境,開發環境與HelloWord
1、JDK和JRE以及JVM
2、Eclipse編輯器或者IntelliJ IDEA等等
3、HelloWorld例子

(B)資料型別與String,註釋
1、8大基本資料型別以及引用型別
2、常量,變數以及賦值語句
3、資料型別轉換,自動型別轉換,強制型別轉換,什麼是型別轉換異常
4、字串型別String,正則表示式,StringBuffer,StringBuilder…
5、註釋,理解註釋對於Java程式設計的重要性,看看JDK原始碼,大神的註釋是怎麼寫的?

©程式執行流程控制:條件語句
1、理解布林型別和布林表示式
2、if語句的各種寫法
3、switch語句
4、運算子的優先順序(通常不用死記硬背,用著用著就亂熟於心了)

(D)、解決重複的程式碼執行:迴圈語句
1、while語句
2、do-while語句
3、for語句
4、break/continue關鍵字

(E)方法和封裝
1、什麼是方法
2、無參方法和有參方法
3、過載方法
4、Math類
5、Date類

(F)陣列和集合
1、陣列的宣告和初始化
2、foreach迴圈
3、陣列的簡單排序
4、Arrays
5、二維陣列和多維陣列

(G)面向物件
1、定義物件的類
2、構造方法
3、this關鍵字
4、protected和super(繼承)
5、override(多型)

(H)抽象類和介面
1、包裝類
2、abstract
3、interface
4、static

(I)字串和檔案
1、Object常用方法
2、String常用方法
3、StringBuffer
4、正則表示式
5、File的I/O

(J)異常處理
1、try/catch
2、finally
3、throw

(K)除錯
1、debug
2、log4j列印log

(L)資料結構
1、List
2、Map
3、二叉樹
4、泛型

(M)演算法
1、遞迴
2、氣泡排序
3、歸併排序
4、快速排序

(N)設計模式
1、介面卡模式
2、單例模式
3、工廠模式

(O)架構
1、JavaBeans(model模組)
2、MVC架構

以上大綱不是筆者自己創的,而是通過某大神而來的,借用的-_-,因為筆者也是按照這個大綱進行學習的。
在此期間筆者推薦一些愛看書籍的同學一些書籍:

初學者–>

Java核心技術系列:包含卷I和卷II,目前筆者卷II基本沒怎麼看,價格稍微顯得有些貴,還請自己斟酌,知識無價。

Java核心技術第10版卷I截圖

資料結構與演算法分析–>使用Java語言對一些常用的資料結構進行講解,當然還包含一些常用的演算法,比如:排序,查詢等…

資料結構與演算法分析 Java語言描述

還有…想到會繼續新增,暫時沒想到其它好的初學者書籍。

進階階段–>

Think in Java–>經典的一批的Java書籍,這本書的特點就是重在思想,學習Java路途中必看書籍,筆者看了兩遍,受益匪淺,最好買一本,珍藏學習是相當不錯的。 讓你體會設計思想的重要性。

Java程式設計思想

演算法導論 -->一本介紹各種演算法的書籍,如果你想成為牛逼的程式設計師,一些高深的演算法你需要知道,儘管Java不需要掌握那麼多演算法就可以開發出很好的程式,但是對於JDK原始碼感興趣的你,此書是不可錯過的,裡面介紹了各種排序演算法,查詢演算法,各種資料結構,貪心演算法等等,一切演算法都有,想進牛比的公司,這本書是必看的。當然想吃透這本書,難度非常之大。

演算法導論第3版

演算法4 -->T友推薦的一本演算法書,筆者特意從網上下載了PDF,看了幾天,確實是一本非常好的演算法書籍,尤其是它使用的Java講解的,內容上講解的細緻易懂,強力推薦。

演算法4

深入理解Java虛擬機器 Java高階特性與最佳實踐 -->這是本講解Java虛擬機器的書籍,筆者非常喜歡這種書,如果你有多餘的時間,建議還是把Java虛擬機器研究研究,好處是你能瞭解到你的程式碼怎麼執行在各種平臺上的,最主要重新整理你對記憶體的認識,GC回收機制,什麼時候靜態變數被回收等,對於過後Android學習的記憶體優化有極大的幫助。建議花時間研究研究。

深入理解Java虛擬機器

還有…想到會繼續新增,暫時沒想到其它好的進階書籍。筆者是一個愛看書籍的人,所以會篩選一些好的書籍,以上書籍網上都會有PDF,不想買書看的可以去下載PDF的。

學習的時候請結合視訊教程一起看,筆者選的是傳智播客風清揚的那個JavaSE視訊教程,真心不錯,很贊!當然筆者的雲盤分享的有個2016最新黑馬的也不錯,不過筆者沒看。

2.Android部分

  由於Android的知識體系比較多,寫出完善的大綱是一件叫 so difficult 的事兒,所以這裡就講一下筆者的Android學習經驗給大家作參考:

  2015年筆者收到學校畢業設計的通知,當時筆者研究Java去了,這個畢業設計是完全沒管,整天就在寢室裡看Java視訊,因為大三下學期才決定去深入學習Java,因為看到一篇介紹Java的部落格,瞬間心動了,就決定學好Java,於是在網上找各種JavaSE視訊教程,找到一個尚學堂高淇300集,記憶非常時刻,於是每天都看,確實是個很好的初學者視訊教程,那段時間筆者很難忘,到了實習的時候,筆者就找個地方實習去了,實習期間由於某種原因,荒廢了很多時間,一大段時間沒有學習,回到學校,畢業設計一來筆者就慌了,既然當時選的是Android方向的畢業設計,於是筆者網上找各種類似的專案,想把專案進行小修小改,但是Android知識是真一點都不知道,又加上Java只是半桶水而已,那段時間特擔心畢業設計搞不好,無意間聽取某大神的意見,邊學Android邊學Java,我從網上購買了《第一行程式碼》,當時是第一版,確實是一本初學者上手的好書籍,並買了Java學習書籍,由於當時買書還比較外行,所以就買了本不那麼好的Java書籍,但好在筆者網上找的Java視訊教程好,是傳智部落格風清揚劉意的,於是筆者開啟一波跨門學習模式,一段時間,也就2,3個月,當時快放暑假了,也就是筆者快畢業了,這時候Android專案筆者已經可以上手了,於是我把之前下載的一個接近與畢業設計的專案的程式碼進行閱讀,很快掌握了這個專案的設計邏輯,於是每日每夜的修改整理,到最後答辯寫論文,筆者畢業設計就輕鬆過了。筆者說的沒有那麼囉嗦哈,因為這只是一次大學的經歷,最寶貴的你真心去想學好一門技術,就應該全心投入到研究和學習當中去,你會發現自己不經意間就變得一天比一天強,筆者畢業後的Android技術應該可以算是個初級學者。之後筆者想成為Android高手,就不間斷的每日學習,到現在筆者可以自信的說自己是一名合格的Android程式設計師了。下面是筆者整理的Android合集資料,視訊教程裡使用Android Studio講的:

這裡推薦的書籍:

入門階段 -->

第一行程式碼第2版 -->講的非常細,而且清楚易懂,學完整本書,你完全具備獨立開發的水平,只不過程式碼設計上算不上高手。

第一行程式碼第2版

Android程式設計權威指南第3版 -->看完第一行程式碼的,最好再看看這本書,這本書也是講基礎的,算是對你基礎的鞏固。

Android程式設計權威指南第3版

筆者入門書籍就這兩本。

進階階段 -->

Android開發藝術探索 --> 進階的書籍嘛,講事件攔截機制,優化,BitMap優化問題等等。

Android開發藝術探索

Android 原始碼設計模式解析與實戰 -->這本書是非常厲害的一本書,看了不止能讓你以後研究Android原始碼有好處,對於自己寫程式碼時也有大的好處,Java 23種設計模式的深入學習。

Android 原始碼設計模式解析與實戰

其他的書籍容筆者再想想…

最後,如果你過了這些階段那麼就應該去研究Android原始碼啦!研究原始碼通常不需要看書的,下載原始碼每日每夜的研究,這時候你可是相當厲害的人物了,想想研究原始碼,研究大神寫的東西,簡直絕了。最後再來談談學習Android時如何獲取書上沒有的: