Android中必須學習的七大開源專案
1,LoginButtons
編寫各類展示效果,專案程式碼量比較少,也很適合新手學習。
2,Material Animations
演示View的平移、縮放動畫,activity進入和退出動畫,介面間元素共享,並且開發者在README中,對動畫原理進行了精講,是學習動畫很好的專案,專案程式碼量比較少,也很適合新手學習。
3,Meizhi
每天推送一張妹子圖、一個小視訊和一系列程式設計師精選文章,資料來源於程式碼家的乾貨集中營。唯一不足就是視訊解析還有bug,聲音視訊無法同步,希望能儘快修復。
架構:MVC
圖片載入:Picasso
網路請求:RxJava & Retrofit+okhttp
介面:遵循Google Meterial 設計風格
其他:nineoldandroids,photo view,numberprogressbar,umeng-analytics,rxandroid,butterknife,otto
4,LookLook
可以閱讀知乎日報,網易頭條,每日推送一張妹子圖片和視訊,是一個精美的閱讀軟體。遵循Google Meterial 設計風格,加入了一些5.0以上的新特性,閱讀體驗絕不遜色於官方的app。
架構:MVP
圖片載入:Glide
網路請求:RxJava & Retrofit+okhttp
介面:遵循Google Meterial 設計風格
其他:Cardview,RecycleView,Butterknife,PhotoView
5,android-UniversalMusicPlayer
這個開源專案展示瞭如何實現一個橫跨各種Android平臺的音樂播放器,包括手機,平板,汽車,手錶,電視等。Google官方推出,跨平臺開發必看專案。
架構:MVC
6,plaid
由谷歌工程師開發,展示Google Material風格設計,專案程式碼量大,但是結構清晰,還是很好理解的。
架構:MVC
圖片載入:Glide
網路請求:RxJava & Retrofit
其他:RecycleView,Butterknife
7,MyMusicPlayer
本專案是一個安卓的線上音樂專案原始碼,歌曲資料來源於百度音樂盒介面。可以實現歌曲的線上搜尋和下載。
架構:MVC
圖片載入:Picasso
網路請求:retrofit2 + okhttp3
其他:fastjson,httpclient,xrecyclerview等等。
總結:
建議學習順序從第一個開始一直到最後一個,由易到難。專案中用到的開源庫,如果不熟悉,網上搜一些文章進行學習,把開源庫的基本使用都瞭解了之後再去看專案,這樣就不會一頭霧水。當下比較流行的技術有MVP,RxJava + Retrofit+okhttp3,RecycleView,Butterknife,Glide,fastjson等,這些技術在MyMusicPlayer專案中都用應用,如果把 MyMusicPlayer這個專案搞懂了,基本就沒有問題了。
看開源專案的心得:
剛開始看一些專案可能會感覺沒有頭緒,專案看多了,就不會有這種感覺了。只要靜下心,一切都ok了。任何事情都可以熟能生巧,在看了一些開源專案後,自己最好開發一個。看專案原始碼是一個很費腦子的事情,不能急於求成,我之前就有點著急,看了很多專案,高強度的進行了20多天後,把自己徹底累壞了,掉頭髮很嚴重,大腦嚴重勞累過度,休息了一個星期才緩解過來。所以建議大家制定一個合理的學習時間,不要讓自己強度太大。
來自:http://www.jianshu.com/p/be248c5af1c6