自學android 編程的網址

如何自學Android編程?

2016-01-21 stormzhang AndroidDeveloper


送給你們的壁紙


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


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


如何自學Android編程

https://www.zhihu.com/question/26417244


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


準備


自學之路是一項很苦逼的差事,自學的人很多,但能真正堅持下去的很少,在準備自學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開發工具


  • 科學上網

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


  • Android Studio

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

http://t.cn/RbH8Q3V


  • AndroidDevTools

我是強烈建議Android開發者一定要學會科學上網的,但是如果你覺得暫時還不需要接觸外面的世界,那麼我的一個朋友搭建的網站,可以讓你們無須翻牆即可下載使用官方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、Facebook、Twitter等開源的代碼,簡直是號稱進階必備,某種意義上看大牛的代碼是最好的學習進階方式。


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開發者的博客


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


  • stormzhang的博客

http://stormzhang.com/


  • 郭霖的博客

http://blog.csdn.net/guolin_blog


  • Trinea的博客

http://www.trinea.cn/


  • 魏祝林的博客

http://blog.csdn.net/android_tutor


  • 愷風(Wei)之Android專欄

http://blog.csdn.net/column/details/flowingflying02.html


  • 張鴻洋的博客

http://blog.csdn.net/lmj623565791


  • 張興業的博客

http://blog.csdn.net/xyz_lmn


  • 更多國內優秀開發者的博客

http://t.cn/RPniqXI


  • 國外著名優秀開發者博客

http://t.cn/RPni7a0


國內外優秀Andorid團體博客


  • Android Developers Blog (Android開發者官方博客,須翻牆)

http://android-developers.blogspot.tw/


  • 美團點評技術團隊

http://tech.meituan.com/


  • 騰訊全端 AlloyTeam 團隊 Blog

http://www.alloyteam.com/


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

Facebook推出的針對移動應用的跨平臺解決方案,目前還不成熟,但是由於Facebook推出,光環效應引起不少目光,這是不是未來暫且還沒結論,但是有必要了解學習下。

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


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


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


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


發佈了153 篇原創文章 · 獲贊 9 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章