安卓學習,從初學者到大神
工欲善其事,必先利其器
雖然Android開發的門檻比較低,但是有件得心應手的兵器還是很有必要的。
-
開發裝置 : Mac (作為開發者,我認為入手一臺mac還是很有必要的,推薦還是mac pro,這種裝置真的是早用早享受,如果你是學生黨那麼這真的是你對自己非常好的投資,如果你不是,那麼我相信你是買得起的,購買渠道就不詳細說了,港貨確實能省一筆錢,官網分期無利息也是挺好的。如果你確定不購買的話,那麼Linux開發也是比在Win下開發好一些的)
-
除錯裝置 : 真機 (推薦使用真機除錯,速度更快)
-
模擬器 :genymotion (有時候還是要用到模擬器的,那麼我推薦你使用geymotion,這貨速度絕對比自帶快很多,雖然自帶模擬器也可以使用x86核心,不過速度依舊不如genymotion)
-
IDE :Android Studio (這裡我想到一句別人說過的話,如果你是Android開發老老手,那麼我推薦你使用Android Studio,如果你是新手,那麼我更要推薦你使用Android Studio。其實我發現很多人在學習過程中繼續使用eclipse的原因是,他看的的書或者視訊教程使用的是eclipse,他們和我說新手就該用eclipse,除了一些做NDK開發的,我說的是專業人士,其他人請你們換成AS吧,去學習一下使用AS,也會有不少提升,至少比你照著視訊敲看不懂的程式碼好)
-
梯子 : 雲梯(在我大天朝做開發有一架梯子還是很必要的,你可以去找一些免費的,不過速度確實渣。雲梯是我用過的梯子裡非常不錯的,也有很多人推薦,你可以點我的推薦連結可以省一點錢!
學習路線入門級
-
語言基礎Java (使用Java語言。現在開發Android的方式有很多,如Hybrid開發,但如果你是新手,我推薦你使用原生開發,使用Java語言,因為任何跨平臺開發最後你的web和Native都要精通,不然你總有解決不了的的問題)
-
Android官網 (需梯子)
(Android官網更新其實很快的,你應該經常上去看看,需要梯子,如果你英文不錯把Training部分練習一遍,就基本可以寫一些小東西了) -
學習ApiDemo ApiDemo 是很重要的,很多的功能其實Google官方以及幫我們做好了例子,只要學習一下就好了
-
學習視訊 其實我是很喜歡對著視訊學習的,再用播放器調整為2-3倍速度播放,其實視訊學習有利有弊吧,利就是你在學習一個知識點的時候,也附帶學習了講課者的思維方式,以及其他一些小知識點你也可能注意到(比如一些好用的外掛,軟體等)弊可能就是視訊良莠不齊,開發方面的視訊我並不認為存在什麼經典,隨著時間的流逝和技術的發展反而不再適用,盲目學習事倍功半。
這裡插入一個小廣告吧,下載視訊的話,可以關注我的微信公眾平臺曉晨學習組(微訊號:xiaochenAndroid),在裡面你能找到學習視訊下載,都是我認為不錯的學習資源。然後我想說的是視訊教程,重要的是理解思想,寫程式碼要關了視訊敲一遍,照著寫實現了也沒有什麼提高。
-
遇到問題能Google少百度,可以到eoe找找,,而且要多查檢視看,注意文章日期,因為有些問題其實已經有了更好的解決方法,我舉個例子,比如要在Android上實現下拉重新整理,百度得到的內容基本都是使用pull-to-refresh這個第三方庫,但是在Android官方提供的Support包裡其實已經帶了實現下拉重新整理的快捷方法,而且效果更好。
進階篇
如果你完成了入門教程,那麼你應該進階了
-
學習使用Git
使用Git對於一個開發者來說是非常重要的。你並不需要成為一個Git專家,只要能正常使用基本就夠了。我就推薦兩個學習Git的教程吧! -
關注一些開源專案,並使用他們
Android開源庫真的太多了,如果你不是特別閒的話,就去關注些大公司,或者知名開發者的,這裡我推薦一些資源Android開源專案分類彙總 這是Trinea發起的開源專案整理,我很喜歡他說的,我們不重複造輪子,不代表我們要不知道輪子的原理。
程式碼家的部落格程式碼家的很多UI 動畫庫做的非常不錯,在他的部落格裡也很容易找到他的Github,就不貼了。
下面是CSDN部分,這部分有些我沒有讀過,只是看到Mark下
我之前有訂閱AndroidWeekly郵件,不過是全英文的,可能是英文水平沒有那麼高看英文看久了就會累,後來在知乎上找到了翻譯版專欄。推薦幾個我的收藏。
在開發中你總會碰到好久才能解決的問題,為了避免後來的人掉坑,搭建你的部落格來和大家分享吧!
這點你可以參考30分鐘內擁有一個漂亮的部落格教程-
AndroidDevTools 整理了不少Android開發需要用到的外掛,自己看!
-
AndroidCN 一個朋友做的Android社群
-
推酷 排版很不錯,內容豐富
-
23code 一個不錯的原始碼分享網站,還有App,可以看效果
-
修煉原始碼 原始碼網站
-
谷歌開發者中文頻道 有不少谷歌的開發者視訊,不用梯子就行
-
我的收藏夾 最後放一部分我的收藏夾內容
-
搭建你自己的部落格分享
-
知乎專欄
-
Android_Tutor的專欄 他寫的“Android開發高手進階教程”系列文章感覺不錯
-
郭霖的專欄《第一行程式碼》作者
-
任玉剛 百度的工程師
-
老羅的Android之旅 羅昇陽大神,博文質量非常高,《Android系統原始碼情景分析》作者
-
stormzhang部落格精華 最近寫了Android Studio的系列教程,推薦看看
-
胡凱的部落格之前翻譯的Android效能優化的文章轉載率很高
-
ChenQichao’s Blog 感覺他好像對material design情有獨鍾
-
使用第三方服務
除了開源庫,你還可以使用很多第三方服務來加快你的開發(如百度地圖,ShareSDk等等)
這裡我要推薦一個網站 DevStore整理了大多數第三方開發者服務,不用你一個一個去找了。 -
微博
利用好微博這個工具,你可以關注一些開發者,微博上有很多樂於分享的人。你可以更快的的知道很新的開發的資訊。
android擁有本地sqlite進行本地儲存資料,但是這個遠遠不夠的。我們很多的是直接從網上得到資料,然後初學者或者是個人開發者沒有屬於自己的伺服器,那麼我們可以通過bmob雲資料庫實現,個人版是免費的。bmob的其他元件比如支付元件等還是不錯的。
-
部落格
關注知名開發者的部落格也是非常好提高技術的辦法,具體到關注誰的問題,我建議你到知乎上提問,有很多大神整理好的,包括國內國外的,我這裡就連結幾個我收藏的,因為有些大神的技術深度我目前還消化不了。
-
高手篇
究竟什麼是寫程式碼的高手,可能每個人都有自己見解,在這裡我其實不知道該寫什麼東西,我覺得每一個開發者最終的產物都是你的專案,所以你要做的並不是去炫技,而是寫出更健壯、更易用的程式碼。那麼我臆測該學的可能有如下:
-
設計模式 (設計模式更像是一種經驗的東西,知道和用是不一樣的,根據程式碼能看出這是什麼設計模式似乎很容易,但是高手總是能巧妙的運用他們,你看完後發現,好有道理哦!就是寫不出來5555 。。。)
-
學習架構師方面的知識 (開發小專案看不出來,開發大一點的前期的設計真的很重要啊)
-
學習核心相關內容 (有去看過講核心的沙龍,我就是打醬油的,需要彙編和c,大神講的理所當然,我是一頭霧水,不過深入還是有很多好玩的東西的)
-
寫寫演算法 全A了,有些題其實還有更優解法的,但是我不推薦你做ACM的(大神請無視)基本上都是些數學內容。
-
學習設計 不會做設計的程式設計師不是好的產品經理,我最近在學習使用sketch,其實很好玩的。
-
學習各種新技術,做做小玩意(比如木匠活的什麼的,我覺得挺好玩的),你除了是一個做技術的還要提高情商,不然你怎麼追妹子啊!
-
鍛鍊身體 這個真的特別重要!!!