如何自學Android編程

s3z28xrgut9 9年前發布 | 110K 次閱讀 Android開發 移動開發

來自: http://stormzhang.com/android/2016/01/21/learn-android-byself/


微信公眾號: googdev原創首發,轉載請注明出處!掃碼關注,第一時間獲取干貨分享

送給你們的壁紙

你們期待的終于來了,我可以算作是Android自學界的鼻祖了,之前自學的故事與分享的知識、經驗影響了無數人,如今幾年過去了,我經常收到不少人的感謝信,很多當初看我的教程的初學者如今已經在Android開發小有成就,而且讓我欣慰的是他們也依然延續我的分享精神,影響更多的人。

如果你現在依然是一個Android初學者,不妨到這里看下我的自學故事:

如何自學Android編程

今天廢話就不多說,就來給大家推薦一份詳細的自學教程,幫助你從入門到進階到精通。

準備

自學之路是一項很苦逼的差事,自學的人很多,但能真正堅持下去的很少,在準備自學Android之前你需要具備以下基本能力能幫助你堅持到最后。

  • 1、對Android開發、對互聯網感興趣,興趣是最好的老師,只有發自內心的感興趣才能真正堅持下去;

  • 2、強大的學習能力,既然自學那學習能力肯定是必備,要有很強的求知欲,持續不斷的學習能力才有機會走的更遠,注意,是持續不斷的學習能力;

  • 3、解決問題的能力,自學過程中肯定會遇到各種各樣的坑,這個時候不要急躁,不要氣餒,不要怕耗時間,一步一個腳印去解決問題,這會為你今后走上工作崗位帶來極大的優勢;

  • 4、設定一個目標,比如我當初測試轉行開發,自學Android的目標簡單直接,因為開發比測試工資高,我轉行就是為了多掙錢。我想大部分人的目標應該都跟我同感。

Java基礎

Android開發是基于Java語言的,所以毫無疑問的是必須要掌握Java基礎,如果你完全沒有任何Java基礎,這步是必須要好好學習的,如果已經有Java基礎的,這步可略過。

對于很多初學者來說入門往往是最難的,如果只看書完全看不下去,也很難理解,所以強烈推薦初學者以書籍結合視頻的方式學習Java基礎,所以給你推薦:

  • 《Java語言程序設計》,優點是非常基礎,適合初學者,建議只要看到前十四章就ok了,第十二章也可以略過。

http://book.douban.com/subject/6529833/

  • Mars老師的Java4Android視頻課程結合學習,便于初學者很好的理解與入門。

http://pan.baidu.com/s/1c1beYo4

如果每天至少堅持學習3-4小時的話,這一階段差不多花費1–2個月之間都算正常,范圍因人以及花費的時間而異。

Android入門資料

經過上面的學習相信你已經掌握了Java基礎了,是時候開始正式進入Android學習的階段了。

  • Android學習之路

我自己整理的Android開發詳細資料,這篇博客影響了無數Android開發者,可謂Android開發必備,某種意義上來說,自學Android有這篇博客足夠了。 http://t.cn/Rz79nfR

  • 《第一行代碼》

郭霖大神的最新力作,全書由淺入深、系統全面地講解了Android軟件開發的方方面面,而且是針對Android 4.0進行講解的,非常適合Android入門。 http://book.douban.com/subject/25942191/

  • Mars老師的Android開發視頻教程

http://marschen.com/portal.php

  • 極客學院Android開發視頻教程

http://www.jikexueyuan.com/path/android/

  • 慕課網的Android視頻教程

http://www.imooc.com/course/list?c=android

至于入門書籍我認為推薦一本適合你的就夠了,而且大部分書籍內容大同小異,但是視頻教程就就不一定講解的內容都一樣了,大家可自行選擇視頻教程。

Android開發工具

  • KX上網

KX上網可以說是程序員必備技能,身為Android開發者那更得會這項技能,不管你是使用Google也好,還是到Android官網查找資料,下載SDK都必須國內或許不能訪問。可以使用goagent也好,修改host,購買vps、V*N等等方式,這個技能不是本文重點,大家可自行搜索去配置。可以告訴大家的是對于新手來說最簡單有效的方式是購買V*N,可以節省不少精力,至于哪個V*N比較好用不敢保證,我使用了兩年的V*N個人感覺相對較穩定,感興趣的可以到我博客主頁去尋找。

  • Android Studio

雖然目前的很多學習資料與書籍都是Eclipse為主,但是Google已經明確未來Android會拋棄Eclipse,所以強烈建議大家直接使用AS,學習的初期花點時間熟悉使用,上手很快就可以對照eclipse方面的教程轉到AS了。當讓我也在AS1.0剛發布的時候就已經出了一個針對新手的Android Studio+Gradle詳細教程,是一個系列,幫助你們更快的入門。 http://t.cn/RbH8Q3V

  • AndroidDevTools

我是強烈建議Android開發者一定要學會KX上網的,但是如果你覺得暫時還不需要接觸外面的世界,那么我的一個朋友搭建的網站,可以讓你們無須KX上網即可下載使用官方SDK。 http://www.androiddevtools.cn/

  • 模擬器Genymotion

首先建議大家能不用模擬器都不要用,模擬器的啟動速度簡直是龜速,現在市面上安卓手機很便宜,打算做Android開發沒個安卓手機真是說不過去。如果你非要用模擬器那就推薦你用Genymotion,目前來說最快的模擬器。具體可以看我下面的博客,最后還是要建議大家不要使用模擬器!! http://t.cn/R4RvAQd

  • Google

問任何問題之前都要先去搜索引擎查一下,這會訓練你的解決問題的能力,而等你以后工作,實際開發中可以知道,有一大半的時間你是在搜索度過的,很多問題都已經是前人遇到并總結的方案。對于新手來說可能百度勉強夠用,但是建議一開始就養成使用Google的習慣,百度在娛樂八卦方面確實靠譜,但是技術方面查出來的東西基本千篇一律,有些答案甚至還會起到誤導作用,直到有一天我的老大告訴我用Google,我才知道這個世界上原來還有另外一個搜索引擎,自此便成為腦殘G粉,所以一定要用Google!一定要用Google!一定要用Google!!!(重要的事說三遍)

  • StackOverFlow

用Google之后搜索出來的東西還是習慣性的點擊中文結果,直到有一天我發現基本每次搜索排名第一的都是這個網站,于是嘗試著點進去用我蹩腳的英語閱讀,之后真是相見恨晚的感覺啊,上面幾乎能搜到你遇到的絕大部分問題,某種程度上來說推薦用Google搜索的原因之一是因為排名靠前的答案基本都在StackOverFlow上。

  • GitHub

現在是全球最知名的程序員開源社區,程序員幾乎人手一個GitHub賬號,在上面你可以找到各種各樣牛人分享的開源項目,包括Google、非死book、推ter等開源的代碼,簡直是號稱進階必備,某種意義上看大牛的代碼是最好的學習進階方式。

Android開發資源

了解這些資源你絕對會接觸另一個世界,這些資源大部分都是我圈中好友總結分享的項目,絕對干貨!

  • Google Android官方教程中文版

http://t.cn/RvHtswy

  • Android 開發最佳實踐

一些優秀Android開發者總結留下來的經驗,了解這些能讓你的學習之路事半功倍。 http://t.cn/RwgJoHm

  • Android開源匯總

GitHub上總結的最全的Android各大開源項目,讓你大開眼界! http://t.cn/R2LTQkN

  • Android Weekly

了解最新的Android相關的技術有哪些,時刻了解緊跟技術趨勢,建議加入郵箱訂閱。 http://androidweekly.net/

  • Android Weekly Cn

我一個朋友做的國內版的Android Weekly,更符合國情。 http://www.androidweekly.cn/

  • Android源碼解析

我的朋友Trinea發起的一個專注于開源項目源碼解析及優秀開源項目的分享的網站 http://p.codekk.com/

  • AndroidDeveloper

我自己的公眾號,算是打個廣告吧,作為國內Android界的精神領袖,我經常也會在我的微信公眾號上分享一些干貨,大多為個人原創,時刻緊跟趨勢,并且只分享對你們有用的干貨,可以微信公眾號搜索googdev關注。

國內優秀Android開發者的博客

這里篩選一些有質量的博客給大家,大都是你們的前輩,絕對一線的博客。

國內外優秀Andorid團體博客

Android進階書籍

當你Android開發已經上手之后,突然發現一直進步很慢,處于一個瓶頸了,這個時候你需要這些書籍。

  • Thinking In Java

Java經典書籍,有中文版的,可能為了學習Android,你只掌握了Java基礎,但是遠遠不夠,你需要再重新系統的學習一下Java,這是一本值得反復看的書籍,針對有一定Java基礎的人,會讓你重新認識下Java。 http://book.douban.com/subject/1474824/

  • Effective Java

這是一本實用至上的書,78條建議,滿滿的干貨。每一條都說明了為什么最好這樣,Java進階必備,目前為止看過這本書評價最好的一本。 http://book.douban.com/subject/3360807/

  • App研發錄

從App架構的角度,重點總結了Android應用開發中常見的實用技巧和疑難問題解決方法,為打造高質量App提供有價值的實踐指導,避免你在實際項目中踩坑,讀完絕對有收獲。 http://book.douban.com/subject/26649050/

  • Android開發藝術探索

這是一本Android進階類書籍,采用理論、源碼和實踐相結合的方式來闡述高水準的Android應用開發要點,Android開發進階值得擁有。 http://book.douban.com/subject/26599538/

AndroidUI設計

  • Material Design

在開發一款Android App之前,你需要了解下Android平臺的設計規范,這里有Google最新推出的Material Design中文翻譯版。 http://t.cn/RLrJg33

而且 Google 官方出了一個支持庫 Android Design Support Library,具體用法見鏈接。 http://t.cn/R2orZH9

  • Sketch 3

這個工具只推薦給對UI感興趣的開發者,這是一個專為設計移動端 UI 的設計工具,作為開發者,不用懂那么復雜的 PS 使用,也可以做非常專業設計。 https://designcode.io/sketch

AndroidApp源碼推薦

當你已經做Android開發一段時間,并苦于進入瓶頸,這個時候閱讀一些優秀App的源碼是最好的學習進階方式,借鑒一些優秀App源碼的設計能獲益很大。

  • iosched

iosched項目是Google I/O的官方app,絕佳的學習項目。 https://github.com/google/iosched

  • android-UniversalMusicPlayer

也是Google官方作品,代碼量不大、注釋清晰,簡單但全功能的音樂播放器。 https://github.com/googlesamples/android-UniversalMusicPlayer

  • android-topeka

這個項目是Google前段時間剛發出來,通過這個app,你還可以學到如何設計你app的交互和視覺以更好的和MaterialDesign搭配。 https://github.com/googlesamples/android-topeka

Google的項目有些時候對于初學者有點困難,下面就推薦兩個完整的輕量的學習項目。

  • 9GAG

9GAG是我個人的開源練習項目,教你使用Studio、Gradle以及一些流行的開源庫快速開發一個不錯的Android客戶端。 https://github.com/stormzhang/9GAG

  • AnimeTaste

代碼家開源的一個線上關注動畫的一個App,同樣適合初學者學習。 https://github.com/daimajia/AnimeTaste

Android新技術

你需要了解Android有以下新興的技術與框架,有些也許還不成熟,但是你應該去了解下,也許就是未來的方向。

  • Kotlin

作為 Android 領域的 Swift,絕對讓你如沐新風。拋棄沉重的 Java 語法,Kotlin 融入了很多現代編程語言的思想,作為開發者,接受新的語言,了解新語言的發展趨勢,更有利于開闊你的思路和加深對語言的理解。 http://t.cn/R2DK0SL

  • React Native

非死book推出的針對移動應用的跨平臺解決方案,目前還不成熟,但是由于非死book推出,光環效應引起不少目光,這是不是未來暫且還沒結論,但是有必要了解學習下。 http://t.cn/RbHmtOk

  • MVP

MVP越來越多的被Android社區所討論,有點是能夠讓代碼更清晰,但同時也會增加很多類,寫起來更麻煩,不過對于一些不是很龐大的項目卻是非常適合的。這里提供一個最先采用MVP模式的開源項目: https://github.com/pedrovgs/EffectiveAndroidUI

  • MVVM

因為官方支持 DataBinding,把 MVVM 直接帶到 Android 中。它非常高效的開發效率,讓你只關心你的數據和業務,從此數據綁定會更加常見。 http://t.cn/RbHmnhE

  • 插件化

一般App上線之后出現bug需要重新提交新版本才能解決,這個就太慢了,由于iOS的審核原因,插件化在iOS開發常見,阿里業務方面這個特別需要,比如雙十一出了bug,不能眼睜睜的看著bug出現不管吧,所以阿里系衍生出了一系列熱修復的框架,dexposed、AndFix,具體可以見這里詳解。 http://lirenlong.github.io/hotfix/

  • RxJava

最近響應式編程框架RxJava越來越受大家待見,RxJava讓你異步任務更簡潔方便,以我對技術的敏感性認為RxJava可能會越來越普遍,推薦大家學習。這里有一系列詳細的資料教你學習。 https://github.com/lzyzsd/Awesome-RxJava

當你下定決心,準備前行的時候,剩下的只有堅持了!

最后,不少人給我留言說希望我加打賞功能,打賞功能是微信內測功能,目前還沒有被邀請。尾部加入了打賞二維碼,我覺得我的這篇分享值得讓你們打賞。

我自學一路走來收藏的不少有用的電子書、視頻、資料什么的,如果你們需要的話我考慮整理下發給你們,但是需要花點時間,想要的請打賞支持下我。

這篇文章值得你轉發、收藏并打賞么?

 本文由用戶 s3z28xrgut9 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!