Android新手看什麼書?

新手


看什麼書,看官方文檔。


有java基礎么?

沒java基礎的話,至少得先看java!

有的話推薦《瘋狂Android講義》這本書


題主的範圍還是不很明確,新手是哪種新手?

如果題主有其他的GUI編程經驗,比如你是個ios或者web前端的老手,那麼你可以直接閱讀官方文檔,甚至不需要書。然後概念稍微了解之後,就可以開始寫小的APP。在寫小型APP的過程中,你會逐步了解其他平台中的概念在Android相對應的部分。如果你想系統的學習,可以仔細把官方文檔閱讀完畢。入門之後,可以去看主席的《Android開發藝術探索》,去了解一下原理性的知識

如果題主沒有相關的GUI編程經驗,甚至和我一年多前一樣,只會某種編程語言。那麼,不要相信某些老手給你的答案「看什麼書,直接去看官方文檔/擼代碼」,這種回答完全對新手沒有引導作用,不負責任。因為這一種新手大部分很難適應官方文檔的思維,畢竟是美國人寫的而且是英文。所以,入門的時候有一本中國人參與過的思維引導是必要的。所以,在這個階段,我建議的是《第一行代碼》 + 官方文檔的Training。

郭霖的《第一行代碼》能在出版後非常火熱的原因,就是因為他在思維上對新手的引導很好。直接帶你走進Android的世界但是沒有太多讓你疑惑不解的東西,而且章節分類清晰

作者將android分為界面-&>界面碎片-&>廣播-&>本地存儲,再從多線程-&>AsyncTask-&>服務-&>網路編程。這是一個非常好的漸進思維,比那些一上來就是四大組件怎麼這麼的講好很多。因為對Android系統不了解的人,上來就是四大組件的,一定會被講懵掉,除了Activity。因為Activity處於第一眼看到的,所以很容易入門。所以,《第一行代碼》第一章的名字就叫「先從看得到的入手,探究活動」。

很多人說他的開發環境不是Android Studio,我想說的是,完全沒關係,因為這本書幾乎所有的內容,都和環境無關。換成Android Studio,寫法不會有多大改變。入門之後折騰下Android Studio的安裝配置也是很快的。

至於其他人推薦的《Android編程權威指南》,我覺得這確實是一本好書,但是不適合所有人。因為書中穿插多個項目,雖然很小,但是對讀者來說多少是一種約束,你不能跳著看,必須一字一句認真看完,不然很可能莫名其妙的看不懂。而且作者熱衷於使用Fragment,觀點有點偏向,所以不建議讀者看這本書,畢竟某些觀點,有些人贊成有些人不贊成。

由於《第一行代碼》是國人寫的,雖然是好書,但是還是應該花一部分時間去閱讀官方文檔,對於底子好的人來說,這樣能減少作者自身觀點的錯誤引導。對於底子差一點的,是一個逼自己閱讀英文,提升自己以後閱讀一手國外資料能力的機會。是一個提示自己綜合實力的過渡。

入門之後,最重要的就是動手實踐。可以自己想幾個APP寫,初期也不要管什麼架構,設計之類。先把功能實現。基於此要關注自己代碼的健壯度,比如非空驗證之類的,某些邊界情況的處理等。防止你的APP出bug。有了一定開發經歷,再去研究設計模式和MVP,MVVM之類的東西。

至於進階書籍,《Android進階—從小工到專家》,《Android群英傳》,《APP研發錄》,《Android開發藝術探索》都不錯。

《Android進階—從小工到專家》裡面有很多輪子,作者也很牛,跟著他的思維,然後自己去嘗試造一些輪子,會有很大的進步;

《Android群英傳》偏界面,想把自定義View,動畫之類的東西研究好,可以仔細讀讀這本。《Android開發藝術探索》這本比較難,但是裡面的章節可以跳著看,抽出一部分看,多看幾遍,受益匪淺。附上作者的博客任玉剛,主席的書絕對是牛逼的!

《APP研發錄》,完全將工程和經驗的書,很多內容你看了之後會發現,這個坑就是我踩過,需要總結或者正在踩,看了之後豁然開朗的,絕對的良心之作。

需要警惕一本垃圾書,叫《瘋狂Android講義的書》,此書完全章節混亂,翻譯文檔,毫無開發思維。新手千萬不要用。當然如果你以後有經驗了又不想看官方文檔,隨時翻閱此書獲取點知識還是可以的。

最後附上主席的兩篇博客:

Android學習路線指南

android學習路線:如何成長為高級工程師

希望題主在Android的學習路上順心高效,獲取到的知識越來越多,進步越來越快~


郭霖的《第一行代碼》比較好入門


無論是之前人說的看文檔還是看書,在這之前你要考慮清楚自己的情況。

新手和新手也是不一樣的,不清楚你是之前就是做Java開發想開發Android應用的,還是之前就沒寫過代碼的。如果是之前Java就沒學過,建議先學一些Java方面的基礎知識,不需要多麼的精進,起碼先把基本語法,和常用的幾個類看了,就能開始看Android了。在開發Android的過程中可以同時的提高Java水平。

其次,你需要知道你是出於什麼樣的目的來做Android開發的,是作為業餘愛好,還是想真的找一份賴以生存的工作,你給自己的學習周期是多長的,根據這些的不同策略都不一樣的。

如果你的英文不錯的話,當然可以直接看官方的文檔,寫的很好,也有入門的指導,而且例子里的代碼都是符合Google規範的,從一開始就緊隨Google的編程規範無疑是有巨大好處的,但是如果你的英文是需要各種查單詞的意思的話,真的不建議了。在初期,你會浪費大量的時間在一些單詞的翻譯上,而且有很多的單詞在實際使用中是並不需要翻譯的,作為一個新入門的人,分辨這些是有些困難的。

那接下來就說說書的事,《第一行代碼》這本書在一年前應該還是Android入門最好的中文書了,但是一年之後,你會發現你直接就卡在開發環境的配置上了。但是書中對一些概念的理解,一些寫法還是對編程很有幫助的,建議可以在有一點點基礎的時候,跳躍性的翻看一下,總能收穫一些東西的。而其他的入門書籍,暫時還沒發現太好的。。。入門的書籍最近不太買了。。。

但是,Android的入門不光可以看書,網上也有很多的教學視頻可以看,慕課網的Android部分的教學視頻很多還是很不錯的,跟著寫代碼,要比看書更舒服一些,尤其是可以一邊看視頻,一邊同步的就把代碼寫了,效率提升也不錯。

關於IDE,Android Studio 和Eclipse,現在都有使用的,可以入門使用Studio,在目前的時間點上,它在開發Android方面要比Eclipse方便太多了,畢竟Eclipse已經不提供官方的支持了,但是,如果你真的是想找一份工作的話,建議一定要能使用Eclipse,因為很多公司目前開發還在使用Eclipse,而且這樣的公司很多,很多。

最後,如果真的是想找一份工作的話,時間緊迫的前提下,注意,是時間緊迫,沒有太多的自學時間的前提下,可以找個培訓班,雖然這在知乎是很被看不起的,但是它確實能幫助你快速的掌握一些基本的Android開發,比自學的效率高一些,畢竟,自學的時候,很多時間都用來去查一些小問題了,但是找培訓班一定要實地考察一下,千萬要冷靜。

以上


曾經學習過1年Android開發,也是Android帶我進入了Java的世界。

在學習Android開發的過程中,我也大致看過一些寫的很好的書,有些還是去淘寶上買的掃描版電子書(僅僅是因為個人比較喜歡看電子版的書,如果喜歡看紙質書,還是推薦大家支持一下寫書作者,去買原版紙質書哈~)。這些電子書基本覆蓋了很多Android大牛推薦的書單,在這裡分享給大家:(如文件失效,歡迎私信~)(更多分享,歡迎關注我的微信公眾號:EnjoyMoving

《Android開發藝術探索》:

鏈接:http://pan.baidu.com/s/1bpiwaMN 密碼:iwbs

《Android開發進階從小工到專家》:

鏈接:http://pan.baidu.com/s/1nv6ycx7 密碼:vlun

《Android軟體安全與逆向分析》:

鏈接: https://pan.baidu.com/s/1eSzkOCE 密碼: 349a

《瘋狂Android講義》(第三版、含源碼):

鏈接:http://pan.baidu.com/s/1hrLln8K 密碼:lqop

《Android系統源代碼情景分析》:

鏈接:http://pan.baidu.com/s/1boC7YeN 密碼:vnnv

《Android Dalvik虛擬機結構及機制剖析 第2卷》:

鏈接:http://pan.baidu.com/s/1pKGnnEN 密碼:hvi3

《Android框架揭秘》:

鏈接:http://pan.baidu.com/s/1hsIdCGk 密碼:li6f

《Android內核剖析》:

鏈接:http://pan.baidu.com/s/1o7IrjS2 密碼:9qae

《深入理解Android 卷I》:

鏈接:http://pan.baidu.com/s/1slhn39V 密碼:k3u8

《深入理解Android 卷II》:

鏈接:http://pan.baidu.com/s/1slNQUID 密碼:gjwx

《深入理解Android 卷III》:

鏈接:http://pan.baidu.com/s/1hsDZV1q 密碼:fj28

《Android經典項目案例開發實戰寶典》:

鏈接:http://pan.baidu.com/s/1o7D7xz0 密碼:o6e2

《Android群英傳》:

鏈接:http://pan.baidu.com/s/1slK3gXf 密碼:mlec

《Android源碼設計模式解析與實戰》:

鏈接:http://pan.baidu.com/s/1mh8lPdm 密碼:nmrc

《App研發錄:架構設計、Crash分析和競品技術分析》:

鏈接:http://pan.baidu.com/s/1hrHNz2O 密碼:8t9d

《第一行代碼》:

鏈接:http://pan.baidu.com/s/1nvI9ztv 密碼:xz55


新手也分很多種:完全不懂計算機 or 只學過C語言 or 學過Java or 學過Android基礎。

看病也講究望聞問切的對症下藥的。

如果是像題主這種寬泛的提問,很難得到你想要的答案的。

補充:直接運行官方文檔中的Sample 和 training部分代碼,不懂的再去官方文檔里搜索.

再往後,可以去GitHub上找別人開源的項目學習。

再往後,可以去反編譯Apk學習。

這幾種方式效率比看書和直接看文檔都高,另外,看書的效率最低。


英文學習書,然後是官方文檔,然後是stackoverflow,然後是github


個人觀點,僅供參考。

如果是初學者的話,主要先熟悉基本概念和用法。

建議先看官方文檔,或者一些入門書籍。

這個階段是搞明白有什麼可以用,做到了解。

在有了基本概念以後,可以去做一些有意思Demo,或者去實現些不錯的idea。

不要跟著書本來,不然要麼就是做完了完全沒印象,要麼是根本不理解或者沒興趣跟著做。

就是憑喜好,憑想法,去拼湊一個或簡陋或粗糙的東西。無所謂,這會兒就是加深使用的印象,摸索可行的方案。

可以產生點兒成就感,而且是自己做的。

然後再回來看書本,對用到的知識加以理解,形成系統化的體系,明白自己用到了啥知識點,可以有啥改進。偶爾會發現,自己在某些地方的方案是多麼取巧,多麼機智。

再做改進,或者重做,甚至完成更複雜功能。

再對書,強化理解。

如此循環…

接著就可以看晚上比較牛逼的輪子了。當然最牛逼的還是官方源碼。

模仿學習之。

再然後你就知道自己啥不知啥欠缺了。。。


我推薦這幾本,都是mobi和azw的電子書,手機和電腦都能直接看,

Android從入門到精通

Android編程權威指南

Android軟體安全與逆向分析

深入理解Android-Telephony原理剖析與最佳實踐

深入理解Android-卷1

深入理解Android-卷2

不過你需要安裝一個btsync才能下載,打開btsync後,添加這個密鑰: BI3ACGSYU7DTURRU44AKLJ6FQNYXZG64P


英語好就上官方文檔?官方視頻,不好就上第一行代碼


第一行代碼雖然時間有點老,但是入門還是可以的,也可以去看一些入門視頻先了解一下布局、常用控制項、四大組件和常用api,進階就看《安卓開發藝術探索》《安卓從小工到專家》學習一下安卓應用層源代碼、自定義view和常用的第三方庫,學有餘力還可以了解一下安卓系統框架層(java和c++)、反射、ndk,很多第三方庫和黑科技用的就是這些技術。瘋狂講義真的不推薦,知識面很廣,連感測器和opengl都講了,但是它太過於駁雜了,真正核心的東西沒有深入分析下去,入門不適合入門,進階不適合進階,只能用來做字典類的參考書,還不如看中文幫助文檔。安卓知識體系龐大,永遠有學不完的新知識新技術,還有那麼多腦洞大開的黑科技。


《Android從入門到放棄》


推薦閱讀:

如何看待使用 native 開發 Android/iOS 跨平台應用?
(2013.12)最近需要購入一台筆記本,有高手給點好建議么?
作為一個個人android開發者,下面哪些能力是比較重要的?
Android中,在子線程使用Toast會報錯?
安卓手機應用中界面切換卡頓和滑動卡頓的區別是什麼,請從專業角度解釋?或者給出一個開發者需要注意事項?

TAG:編程 | Android開發 | Java |