
自從開始從事 Android 工程師 (Android Developer),一路上除了詢問 Google,看官方文件,最多最多充實自己的方式就是看書。
網路的資料太過於零散,以及太龐大,學習的方式只能透過搜尋引擎,整體知識會局限在學習者理解的關鍵字夠不夠精準,夠不夠豐富,才能汲取到想要的 Android 開發知識。
但是書最大的好處就是系統化整個 Android 安卓的知識,會更有脈絡的介紹,不過工作一路上也看過一些很水的書籍,就是照著程式碼照本宣科走,為了讓學習更加精準,以下整理精華 Android 書籍清單,希望能對開發之路更加有幫助。
入門書籍介紹

Android程式設計入門、應用到精通(第五版)
⇒ 點擊看書籍資訊
這本應該是新手頗適合入門學習的書籍,是這篇唯一一本原汁原味繁體中文的 Android 程式開發書籍,之後比較深入的書籍原文不是英文就是簡體中文,親切度上就沒有這本來的高。因為寫這本的作者本身是大學教授,所以在教學上應該是著墨的非常深,才能把知識深入淺出。


Android編程權威指南
這本介於入門跟進階之間,基本上所有 Android 元件都有提到一輪,畢竟是國外給培訓班的教材,不過首先要先懂 Java 跟物件導向需要先有概念,進入這本書學習比較容易。



進階書籍介紹

Android開發藝術探索
這本非常用心,其實 App 初階設計透過 Google 搜尋是很容易可以獲得解答,但是對於整個 Android 系統需要進一步脈絡了解,非常需要這一本書,不過我認為第二章講 IPC 放得太前面了,不是所有 App 應用都會使用到,沒在用很容易看不懂,但是到了第三、四、五章務必要好好深入閱讀,每個專業的 App 一定少不了客製化 UI ,透過那幾個章節可以更深入打造屬於自己的 UI,再來是第十一章 Thread 概念也是每個 App 必須掌握的技能。

Android 高效能多執行緒
Android 在做長時間的工作,例如網路請求、資料庫讀取等,這時候如果在主線程執行 UI 會卡死,造成程式無回應,也就是 ANR ,如何友好操作線程 Thread,使其 UI 體驗流暢,是每個 Android 工程師的必修課,這本書的幫助很大。

設計模式:Android原始碼解析與應用
⇒ 點擊看書籍資訊
先前我有在 《六本推薦網路上經典必看程式書籍清單:打造職業級軟體工程師必備》大力推薦 深入淺出-設計模式 的書,如果那本看完絕對適合接下來看這一本,結合 Android 系統下的設計模式,這本還有時下最流行的 MVP 架構介紹。找工作時如果會 MVP 、 MVVM 應該都很加分。
高級終極書籍介紹

Android底層驅動分析和移植
越到後面越深入底層發現 Android 是基於 Linux 系統的架構去做成的,這本感覺是比較偏向 Android BSP 需要的技能,但是在開發 APP 時如果知道底層運作,如果需要在 APP 層改動甚麼會比較有概念方向調整,不然就像是一個黑盒子,永遠不知道摸索的結果是否正確。

深入理解Android:Java虛擬機ART
雖然 Android 主要用 Java 跟 Kotlin 撰寫,但並不是在 JVM 上執行,早期是 Delvik 再來效能問題所以改在 ART 上運行,這本完整呈現 ART 原理,讓你開發時更有感自己的程式碼到編譯、記憶體釋放、GC回收皆有涉獵到。

Android Hacker’s Handbook駭客攻防聖經
⇒ 點擊看書籍資訊
Android 系統因為是開源的,所以在 APP 及系統都有很多方式可以破解裡面的程式碼,甚至 APP 可以修改程式碼後再打包,繞過一些檢查規則,如果公司主力服務不在 APP 就還好,但是主要功能在 APP 上,尤其是金流或是一些敏感資訊,就要非常注意。但是台灣對於這塊知識著墨非常稀少,這本是經典很推薦。

Android軟件安全攻防實例分析
這本跟上面都是安全系列的書,不過著重在實例分析,如果看完上面那本再來看這本應該能夠更全面汲取 Android 系統安全的知識。
總結
一直以來,選擇 Android 做為職業切入點,就是因為這個系統是開源的,所以有超多資源可以汲取學習。
其實還有很多書籍來不及分享,因為實在太多太多了,技術的世界是無窮無盡的,如果有不錯的書籍也歡迎留言推薦!一起交流學習 Android。
如果你比較喜歡有互動以及老師手把手的學習,可參考下面文章。
(延伸閱讀:中文線上課程 - 新手入門 Android 實戰開發 APP,轉職工程師、充電學習必選好評課程懶人包)
如果你比較喜歡有互動以及老師手把手的學習,可參考下面文章。
(延伸閱讀:中文線上課程 - 新手入門 Android 實戰開發 APP,轉職工程師、充電學習必選好評課程懶人包)
沒有留言:
張貼留言