官术网_书友最值得收藏!

  • Android群英傳
  • 徐宜生
  • 3053字
  • 2019-01-03 15:19:07

前言

寫書之前

當電子工業出版社的官楊女士邀請我寫書之前,我一直在CSDN博客堅持發表Android相關的技術博客,并給在線教育網站——慕課網錄制Android相關的教學視頻。自大學接觸Android以來,通過不斷的學習,逐漸對Android開發有了越來越深入的了解。回想當初學習Android的時候,還是有很多感觸的。由于對Java語言的熟悉,因此Android的入門就顯得非常輕松,然而學習一段時間后,雖然對Android的基礎內容已經掌握得比較熟練,但仍然無法做出比較滿意的App。一方面想通過綜合的App來提升自己學習的成就感,一方面又無法融會貫通知識點,創作過程中坎坷不斷。其實這段過程與大多數人的高中時期是非常相像的,記得當時在高中的時候,很多人都會遇到一個學習的瓶頸期,在這段時間里我們對基礎知識掌握得非常熟練,但對稍微拔高一點的內容就力不從心了,總是不能發揮出應有的能力。其實不管學習什么東西都是一樣,都存在這樣的瓶頸期,這時候你并不是沒有能力去解決這些問題,而是沒有找到解決問題的方法。我覺得克服瓶頸期的最好辦法就是六個字——總結、歸納、演繹。

我們在學習某項知識的時候,不能只停留在最基礎的層面上,你不僅僅是一個學習者,更應該是一個創造者。就拿學習Android來說,如果僅僅去學習如何使用Android提供的API,或者去網上尋找現成的解決方法,那么即使再熟練,也還是一個低級的層次。當基礎的東西掌握熟練之后,就應該總結知識、歸納知識,并將其擴充到自己的認知、理解中。你需要記憶的不僅僅是API的使用方法,更應該了解為何Android要這樣設計,API的參數不記得可以去查,但對它的理解,卻是屬于自己的。這就好像高中的物理公式,很多人覺得非常難記,的確如果單純地看那些字母組成的公式確實非常難記,但實際上,那些復雜的物理公式都是可以由基本的公式一步步推導出來的,每個字母都有它背后的含義,結合這些東西去記,公式就像活了一樣。同樣,Android的學習也是如此,站在知識體系的高度上重新去理解那些基礎知識,你才能真正地把它們融合起來,任何一個組件的設計都不是獨立的,總結、歸納、演繹它們之間的聯系才是記憶知識最好的方法。

我跟很多Android開發者一樣,也經歷過了這樣一個階段,因此對于開發者,特別是自學開發者的這段時期的心情深有體會,所以在出版社的編輯邀請我寫書的時候,我就萌生了寫這樣一本書的念頭。期望從我的學習經歷、開發經驗中整理出正確的學習方法,讓開發者少走彎路,幫助Android開發者早日度過瓶頸期。

本書內容

我在學習、研究Android的過程中,也讀過很多前輩們寫的Android書籍,這些書籍大多分為三種類型:基礎型、實例型和底層型。

基礎型是市面上最多的一類書籍,這些書籍基本上有一個共性,就是按照Android組件類型、資源類型、網絡、傳感器等方面進行非常細致地講解。在學習的初期,這樣的書確實是非常有必要的,它可以幫你快速地了解整個Android的內容,但里面的很多東西,其實用的并不多,全部羅列在一起,反而增加了記憶的難度。實例型的書籍是最受開發者喜愛的一類,大家都希望通過看這些實例型的書籍來快速提高創造的成就感,但是很多時候,在看完這類書后卻發現,除了書中講的實例之外,還是無法獨立完成一個App。而底層型的書籍相對于應用層的書籍來說是最難讀懂的,很多應用開發者都希望通過了解底層的實現細節來更好地掌握Android系統,這當然是非常正確的,不過這些底層型的書籍的作者,大多都是經驗非常豐富的高手,書中包含了大量的底層實現細節,初學者在閱讀時,由于功力不夠會導致越讀越沒有信心。

所以我在寫這本書的時候,就在想如何才能避免上面的類似情況發生。記得還是在讀高中的時候,市面上的參考書,基本上也是這樣一個情況,但是有一本書卻給我留下了很不錯的印象——重難點手冊。這本書不像其他參考書那樣把書本上所有的知識點都羅列出來,也不會通過題海戰術讓學生背題,而是通過知識點的關系圖理清知識點之間的聯系,再通過分析重點、難點的知識點,來提高學生對知識體系的認識與理解。我期望我寫的這本書能達到這樣的一個效果,那么所有的辛苦也就值得了。

而這本書之所以取名為《Android群英傳》,是因為我想通過比較輕松有趣的名字來提高讀者的學習興趣。Android中的一個個知識點,并非是枯燥乏味的,通過一些神話、傳說故事來類比這些知識點,可以讓讀者在閱讀過程中,能體會到學習的樂趣。

創世紀(第1~2章):講解Android背景知識與Android架構、IDE相關的基本知識點。講解Android體系架構,好比上帝的創世紀,告訴讀者如何理解Android的架構;講解Android開發的工具,好比上古四大神器,讓讀者欲善其事,必先利其器。

群英會(第3~12章):針對Android開發中的重點、難點,講解開發中重要的經驗和技巧,并總結、歸納其使用方法。這幾章講解了Android中一些比較重要的組件和設計方法,筆者分別為它們著書立傳,讓每個知識點都好比一個英雄的傳記。例如講解Android控件架構,好比神筆馬良的故事,讓讀者知道如何去設計控件。

地下城(第13章):通過實例開發過程的講解,綜合運用知識點。本篇帶領讀者來到地下城的挑戰,綜合前面的知識點,好比讀者在玩游戲的時候,在升級過程中,去挑戰一些比較有難度的地下城,獲得更多的經驗。

本書讀者對象

本書適用于各個層次的Android開發者。對于Android初學者來說,可以通過前兩部分的內容,快速建立Android開發的知識體系;對于有經驗的Android開發者來說,可以通過對這本書的學習快速提高自己的開發經驗;對于處于瓶頸期的開發者來說,更是可以非常有效地提高開發能力。

本書特色

● 本書各個章節之間并沒有嚴格的遞近關系,讀者可以隨時挑選自己感興趣的章節開始讀起。

● 本書在講解時,盡量使用通俗易懂的講解方式,不講過多深入的理論和不常用的知識點,而是將這些深入分析的過程留給讀者,培養讀者分析、理解的能力。

● 本書所使用的代碼都是基于Google最新的Android Studio進行開發的,所有的實例都在Android Studio 1.1正式版上通過測試,對讀者使用Android Studio具有很好的幫助。同時,書中包含了大量Android 5.X的新功能實例,讀者可以第一時間掌握Android 5.X的新特性,并運用到自己的App中。

● 書不僅介紹了Android組件之間的聯系與設計思想,同時與很多Framework層的知識點聯系起來,讓讀者知其然,并知其所以然。

● 本書中不引用大量的底層實現代碼,而是先讓讀者對系統的實現有一個認識,等到讀者遇到相關的問題時,再去查看源代碼中的實現。這樣就不會沒有方向、摸不著頭腦,而是有目的地去驗證。

● 筆者作為Android的一線開發者,所寫內容具有很強的實戰性,而且書中很多實例都來源于平時網友、群友的問題,因此應用性強。

學習方法

在學習Android的初期階段,開發者可以通過一本比較詳細、豐富的講解基本內容的書籍,對整個Android有一個比較清晰的印象。當然,最好的基礎學習資料莫過于Google的API Guide和Training,這些內容經常被開發者所忽視,但是確實是最有價值的學習資料,不僅權威而且非常實用,地址如下所示:

API Guide http://developer.android.com/guide/index.html

Training http://developer.android.com/training/index.html

另外,在線教育視頻網站——慕課網,也是非常好的學習資源,通過這里的視頻教程,開發者可以利用空余時間很好地提高自己,地址如下所示:

慕課網http://www.imooc.com/space/teacher/id/347333

在對基礎知識有所掌握后,通過本書的學習,相信大家的開發能力一定能更上一層樓。

致謝

感謝朋友、群友在我寫書的這段時間內對我的幫助,也感謝電子工業出版社編輯們對文章的核對和建議,沒有你們的幫助,也就沒有這本書的誕生。

資源與勘誤

由于個人能力的局限,雖已竭盡全力,但對于書中一些問題的分析難免會有紕漏,實例中的解決方法可能也不是盡善盡美,敬請讀者海涵,并希望讀者朋友能將發現的問題及時向筆者反饋,筆者將感激不盡。書中的代碼、實例,都會上傳到Github代碼分享平臺供大家frok、下載。同時,本書的勘誤與讀者的反饋內容都將在筆者的博客和微信公眾賬號上不斷更新。

源代碼Github:https://github.com/xuyisheng/AndroidHeros

CSDN博客地址:http://blog.csdn.net/eclipsexys

本書微信公眾號:Android群英傳

主站蜘蛛池模板: 武清区| 乃东县| 宁乡县| 鄂伦春自治旗| 宝清县| 南召县| 南部县| 孟津县| 栾川县| 象山县| 敦化市| 临西县| 迭部县| 称多县| 大英县| 浦县| 双牌县| 北宁市| 宜川县| 定远县| 天峻县| 德兴市| 静海县| 鲁山县| 齐齐哈尔市| 临城县| 偃师市| 尖扎县| 瓦房店市| 西平县| 岑溪市| 读书| 南靖县| 丰都县| 娱乐| 玉田县| 怀远县| 炎陵县| 郓城县| 响水县| 廉江市|