【精華】安卓開發學習路線規劃
近一段時間經常被朋友問到如何從零開始學習安卓,成為一名安卓開發工程師。不得不感嘆,現在各行各業都有不少人在湧向IT/網際網路行業,希望從事程式開發工作,競爭越來越激烈了。藉此機會,我梳理了一下自己所學所知的安卓知識,制定了這份安卓開發學習路線規劃,希望能幫助到有志於安卓開發的夥伴能儘快找到學習的方向,進入安卓開發的大門!
一、安卓開發學習路線
安卓開發可以從深度和廣度兩個維度進行學習。大方向上看,Android在向諸如Flutter這樣的跨平臺技術演進,混合式開發、大前端等正成為移動端的發展方向和熱門技術,而開發語言正從Java切換到簡潔優雅的Kotlin。
安卓開發的學習路線如下圖所示,其中版本管理工具Git、網路技術、設計模式這些內容是很多方向都必學的內容。可以先從Android和Java這兩塊入門,當深度達到進階後逐步開始Kotlin的學習,如果公司有需要可以繼續橫向發展去學習Flutter等跨平臺技術,並學習一些前端知識(諸如HTML5、CSS、JavaScript等)可進行混合式開發,成為應用開發層的大牛。或者可以繼續深入Android、Java的學習,進入安卓FrameWork層的學習和開發,成為框架開發層的大牛。
二、安卓知識學習思維導圖
對於安卓知識的學習,我梳理了入門、進階、高階三個層次的思維導圖,可以沿著這個大綱從易到難進行學習。
三、安卓書籍推薦
梳理市面上的安卓書籍可以分類整理為如下列表,我對其中自己看過或大致瀏覽過的書籍中感覺值得推薦的書籍做了加粗標識,以供參考。
- 入門:
《Android 9程式設計通俗演義》
推薦理由:全書一氣呵成,以做一個仿QQ的專案為例,一步一步從易到難的引入相關的知識點進行講解,並將其應用在案例中,有很強的實操性,符合初學者的認知路線。
《第一行程式碼 Android》
推薦理由:最廣受好評的Android開發入門書籍,講解透徹,但對初學者而言有一定的難度。目前已更新到第三版,用Kotlin語言講解Android基礎知識,並介紹了新技術JetPack庫的幾個常用元件。
《瘋狂Android講義》
推薦理由:用大而全來形容這本書最合適不過,雖然知識有點過時,沒有及時跟進現代Android的發展,但是囊括的Android知識是相對比較系統和全面的。講解有點偏指南類文件。
《Android精彩程式設計200例》
推薦理由:在具備Android基礎知識後,如果練習一遍這本書的200個精彩的小案例,可以對Android基礎知識得到很好的鞏固並提高實操能力,對於實現各類常見效果和場景可以很快形成思路去開發。
《Android開發詳解》
《Android開發精要》
《突破關鍵:Android核心技術102問 》
《Android APP開發實戰》
《Android專案開發:實戰入門》
《Android企業級專案實戰教程》
《Android面試寶典》
推薦理由:市面上少見的專為面試而生的書籍,對於備戰找工作的同學再適合不過了。全書總結了不少高頻面試考點, 背誦全書可以命中不少企業的面試考題。
- 進階:
《Android應用開發實戰》
《Android 6開發祕籍》
《Android開發藝術探索》
廣受好評的Android進階書籍,採用理論、原始碼和實踐相結合的方式來闡述高水準安卓應用開發要點,側重於Android知識的體系化和系統工作機制的分析,學完可以極大提升開發者的Android水平。
《Android群英傳》
推薦理由:實戰性強,既有基礎的案例,又有提高的技巧。從UI、效能、安全、記憶體、工具多角度學習,對Android知識開發做了很好的總結和歸納,讀起來大有裨益。
《Android進階之光》
推薦理由:是劉望舒的安卓進階三部曲第一部,講解了View體系、Material Design庫、常見開源框架、架構模式、新特性等,使用方法結合原始碼分析,是進階安卓技術的一本好書,但是原始碼部分講解得不盡人意,有點簡略不夠透徹,讓人容易迷茫。
《Android進階解密》
推薦理由:是劉望舒的安卓進階三部曲第二部,介紹了JNI、ClassLoader、Java虛擬機器、DVM&ART虛擬機器和Hook等技術,以及熱修復原理、外掛化原理、繪製優化和記憶體優化等與應用開發相關的知識點。本書很好地詮釋了一些我們需要熟知的技術原理,讀完令人豁然開朗,無論是在面試中還是在工作中,都能從中受益匪淺。
《Android進階指北》
推薦理由:是劉望舒的安卓進階三部曲第三部,最新出的一本進階好書,既接續上一本講解了FrameWork層的PMS、IMS、Binder原理等,又講解了Goovy、Gradle、JetPack、跨平臺開發、Flutter等現代熱門技術。
《Android高階進階》
推薦理由:安卓進階必看的一本好書,全書囊括了非常多的高階安卓技術,如同一本地圖式進階書籍,可以讓你知道安卓技術中自己還欠缺哪些方面知識。缺點是講的很籠統,有點的地方只是蜻蜓點水了一下,要想了解詳情仍需自己查資料深入學習。
《高階Android開發強化實戰》
推薦理由:收集了約20個關於高階Android開發的進階例項,這些例項都是對在日常開發中遇到的問題的抽象,涉及整個Android開發的各個技術棧。特色是介紹了響應式程式設計三劍客RxJava+Dagger+Retrofit的不同特性組合使用方法、SVG影像技術、Flux架構、自動化測試框架等。
《Android 6 應用開發案例精解》
《Android開發進階:從小工到專家》
《Android外掛化開發指南》
《Android自定義控制元件開發入門與實戰》
《Android和PHP開發最佳實踐》
《打造高質量Android應用:Android開發必知的50個訣竅》
《深入剖析Android新特性》
《Android C++高階程式設計——使用NDK》
《Android音視訊開發》
《Android併發開發》
《Android工程化最佳實踐》
推薦理由:全書從工程實踐角度詳細闡述了Android的知識內容,分為基礎知識和工程優化兩部分。在工程優化部分專門增加了常用的App編譯提速和瘦身的內容,對於大型分層專案的測試技巧也有所涉及,是一本不可多得的有很強的工程實踐性的好書。
《Android全埋點解決方案》
- 原始碼:
《Android框架揭祕》
《深入淺出Android原始碼:基於Android 6.0和實際開發案例剖析》
《深入理解Android核心設計思想》
《Android深度探索:系統應用原始碼分析與ROM定製》
《Android原始碼設計模式解析與實戰》
推薦理由:本書對各個設計模式做了深入分析,並會對模式相關的技術點進行深入擴充,讓你在掌握模式的同時學習到Android中的一些重要知識,通過實戰幫助達到學以致用的目的,是一本Android與設計模式融會貫通的好書。
《Android核心剖析》
《深入理解Android》三件套
《深入理解Android:Java虛擬機器ART》
- 物聯網:
《Android實戰指南-柯博文》
《Android開發模式和最佳實踐》
《Android感測器開發與智慧裝置案例實戰》
《Android物聯網開發從入門到實戰》
《Android物聯網開發細緻入門與最佳實踐》
《精通Android Wear應用開發》
《Android智慧穿戴裝置開發指南》
《Android可穿戴裝置高階程式設計》
《Android物聯網開發:基於Android Studio環境》
- 安全:
《Android系統安全和反編譯實戰》
《Android 安全架構深究》
《Android安全技術揭祕與防範》
《Android軟體安全權威指南》
《Android應用安全防護和逆向分析》
《Android惡意程式碼分析與滲透測試》
- 效能:
《Android系統優化從入門到精通》
《高效能Android應用開發》
《Android移動效能實戰》
推薦理由:本書從記憶體、CPU、磁碟、網路、電量和互動類效能中的流暢度、響應時延,多個效能測評和優化的方向出發。每個方向,都會幫助你深入淺出地學習 。同時提煉總結不同型別的效能缺陷和對應的排查手段、定位方法和解決方案,透過真實的案例快速學習,讓讀者能快速落地專案併產生成效。
- 網路:
《精通Android網路開發》
《Android網路開發從入門到精通》
《深入理解Android網路程式設計:技術詳解與佳實踐》
《深入理解android:wi-fi、nfc和gps卷》
- 通話:
《Android Telephony原理解析與開發指南》
《深入理解Android:Telephony原理剖析與最佳實踐》
- 驅動:
《Android底層開發實戰》
《Android驅動開發與移植實戰詳解》
《Android驅動開發權威指南》
《Android深度探索:HAL與驅動開發》
- 測試:
《精通移動App測試實戰:技術、工具和案例》
《Android應用測試與除錯實戰》
《深入理解Android自動化測試》
- 架構:
《App架構師實踐指南》
《Android元件化架構》
《Android App開發入門與實戰》
《最強Android書:架構大剖析》
《移動開發架構設計實戰》
- 工具:
《精通Android Studio》
《Android群英傳:神兵利器》
《Android Gradle權威指南》
- 其他:
《RxJava2.x實戰》
《React Native移動開發實戰》
相關文章
- Linux再學習(一)-學習路線規劃Linux
- 人工智慧的學習路線規劃人工智慧
- 大資料學習入門規劃?和學習路線大資料
- iOS開發學習路線iOS
- Web前端初學者應如何規劃學習路線呢?Web前端
- 零基礎java培訓如何規劃學習路線Java
- 學習規劃
- Web前端開發學習路線圖Web前端
- HarmonyOS應用開發學習路線
- 遊戲開發完整學習路線遊戲開發
- 線性規劃對偶學習筆記筆記
- 想問一下這樣規劃的學習路線可以嗎
- Java技術自學規劃(學習路線圖、書籍、視訊總結)Java
- PHP的學習規劃PHP
- 安卓開發中修改TabLayout下劃線的寬度和高度安卓TabLayout
- 百度地圖開發(五)之公交資訊檢索 + 路線規劃地圖
- 全全全棧測試開發學習路線全棧
- web前端就業開發學習路線(乾貨)Web前端就業
- 安卓開發學習-Intent攜帶資料安卓Intent
- 安卓開發學習-按鈕控制元件安卓控制元件
- 出行路線規劃系統設計與開發
- 人工智慧學習規劃人工智慧
- leetcode--重新規劃路線LeetCode
- 開發規範文字(自我學習)
- 線性規劃模型複習總結模型
- 學習嵌入式的開發線路,新手怎麼學習嵌入式?
- web前端開發怎麼樣學習?看這份web前端學習路線Web前端
- app開發的規劃與籌劃APP
- 下劃線的學習3
- 大資料分析學習規劃大資料
- 動態規劃學習筆記動態規劃筆記
- 分數規劃學習筆記筆記
- Web前端找工作晉升路線規劃Web前端
- 嵌入式開發學習的幾種線路圖方向
- 規劃新一年 IT 技術路線?先學習下 Gartner 基礎設施 Hype Cycle
- Python學習筆記-PuLP庫(3)線性規劃例項Python筆記Pulp
- 安卓開發開發規範手冊V1.0安卓
- 安卓開發開發規範手冊 V1.0安卓