一個程式設計師學習Android軟體開發應當具備的知識體系
隨著移動手機的普遍使用,各種各樣的移動App層出不窮,Android軟體開發也成為越來越多的程式設計師或者即將從事程式設計師工作的群體熱衷和追捧的學習方向。關於Android知識的學習,個人認為除了學習Android的基礎知識,以便能夠掌握Android開發的基本技能之外,還應當加強Java基礎知識、Web基礎知識、Android高階開發、Android前沿技術等方面的學習,才能形成自己全面的Android知識體系,從而有利於程式設計師快速、高效地投入Android專案實踐工作。本文將重點介紹一個程式設計師學習Android軟體開發應當具備的知識體系,如下圖所示:

Android知識體系
Java基礎知識
Android開發的語言主要是Java語言,因此,Java基礎知識非常重要。對於一個 Android程式設計師首先必須掌握Java的基本語法、面向物件程式設計、異常處理、網路程式設計等Java基礎知識。只有這樣才能具備學習Android開發的資格,否則學習Android開發無從談起。
Web基礎知識
近幾年,Andoid移動App開發使用越來越多的混合程式設計模式,即在Android應用程式中,嵌入HTML網頁或者遠端呼叫HTML網頁實現某些功能。這就要求Android開發程式設計師必須瞭解一些像JavaScript、jQuery、Ajax等等Web程式設計方面的基礎知識,才能開發諸如在Android中呼叫JS,或者JS呼叫Android等軟體功能。
Android基礎知識
Android基礎知識包羅永珍,概括起來包含幾個方面:Android介面程式設計(主要是指佈局以及元件)、事件機制(主要是物件的時間和元件的時間)、通訊(主要是元件之間通訊和應用之間通訊)、非同步開發、後臺服務、網路通訊以及資料儲存。另外,值得強調的是:工欲善其事必先利其器。Android基礎知識學習還應當掌握軟體開發工具選型、軟體開發環境的搭建,以及開發工具相關的外掛選擇。Eclipse是老牌的Android軟體開發工具,當筆者不推薦使用,隨著Android Studio的逐漸完善和程式,推薦大家都使用Android Studio開發。Android Studio提供很多便捷的外掛輔助軟體編碼工作,諸如GsonFormat、CommonCode等,感興趣的程式設計師可以研究一下。
Android高階開發
Android高階開發主要包含JNI/NDK程式設計、Android與JS互調、自定義控制元件等。尤其是JNI程式設計和Android與JS互調技術,是當下流行且常用的開發技術手段之一。
Android前沿技術
Android前沿技術是前輩們寶貴知識經驗總結,學習Android前沿技術,並付諸於專案實踐中,能夠達到事半功倍的效果,不僅僅有利於加快軟體開發進度,還從一定程度上減少了軟體開發的複雜度和難度。目前,像OKHttp、JSON解析等前沿技術,在很多程式設計師的專案中被採納和推廣使用。
總結:在Android知識的學習過程中,形成全面的知識體系是必要的,建議以某個專案為主線,沿著Android知識體系的框架,邊學習邊開發。這樣既能夠掌握了Android知識體系,同時也通過專案的方式進行了親身實踐,加深了對知識的掌握程度。