android 學習之路
阿新 • • 發佈:2019-02-14
本篇文章是從stormzhang那瞅到的,作為參考瞭解一下
有一些連結可能還不是特別準確,因為我只能根據圖片上的書或者資源的名字去Google可能的書籍,所以連結上有什麼不對的,歡迎大家評論指出,我會及時更正。請參考原文:另一份 Android 開發學習路線圖 幫助修改。謝謝。
- 基礎工具部分: 中文手冊,我猜測是Maven中文手冊,可是我並沒有找到這樣的資源,歡迎知道的朋友告訴我;
- Android部分有 『第三方庫集合』,我沒能找到資源地址;
- 書籍我大多是給的豆瓣連結,如果覺得不合適可以替換一下;
關於Markdown表格
本來我一開始整理了一份表格版本的, 用 Mou 寫的,表格內的換行用<br/>標籤處理的,但是在DiyCode上來發的時候,發現Markdown表格內部不支援<br/>標籤換行,所以就只能整理成平鋪的文件格式。Markdown對於表格的支援不是很強大。
程式設計
一、java
(a)基本語法(如繼承、異常、引用、泛型等)
(b)多執行緒、併發
- Java併發程式設計實戰 (系統全面的介紹了Java的併發,如何設計支援併發的資料結構)
(c)Java 7
(d)Java 8
(e)Java虛擬機器
- 深入理解Java虛擬機器 (並不是那麼難,Java程式設計師都該看看)
(f)效能優化
- Java效能優化權威指南 (後面的章節好像用處不大,前面有些部分還是值得看)
二、演算法與資料結構
- 演算法時間複雜度、空間複雜度的基本認知
- 熟悉常用資料結構:連結串列、佇列、散列表、樹等;
- 遞迴、分支等基本思想;
- 常用演算法應用:排序、查詢、比較等
- 資料結構與演算法分析 (涵蓋面比較全、示例是Java語言)
- 演算法設計與分析基礎 (實用主義的典型、偏演算法設計)
- 程式設計珠璣 (實踐型演算法資料)
三、作業系統
- 對Linux/OS的基本認知
- Linux的常用命令
四、網路
- Http/Https
- TCP/IP
五、Android
- 四大元件(服務、廣播、ContentProvider、頁面容器)
- 基礎UI元件(ListView、ViewPager)
- 非同步任務機制(AsyncTask、Handler、執行緒池)
- 佈局優化(層級、繪製、碎片化處理)
- 圖片載入(Bitmap、緩衝區)
軟體工程
一、基礎工具
IDE、Git、Maven
二、軟體質量
- 程式碼整潔
- 碼質量
- 碼重構
- 編寫可讀程式碼的藝術 (來自Google工程師,專注於程式碼可讀性)
- 程式碼整潔之道(使用面向物件+敏捷開發原則編寫清晰可維護的程式碼)
- 重構手冊 (改善程式碼的實際操作)
三、設計模式
23種常見設計模式
四、敏捷開發
五、專業開發
- 序員職業素養
- 更高效、更實效
六、思考人生
- 黑客與畫家 (矽谷創業之父Paul Craham 的文集,主要介紹黑客及優秀程式設計師的愛好和動機)