1. 程式人生 > >安卓學習,從初學者到大神

安卓學習,從初學者到大神

工欲善其事,必先利其器

雖然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,其實很好玩的。

  • 學習各種新技術,做做小玩意(比如木匠活的什麼的,我覺得挺好玩的),你除了是一個做技術的還要提高情商,不然你怎麼追妹子啊!

  • 鍛鍊身體 這個真的特別重要!!!