2016年最值得學習的五大開源項目

2016年最值得學習的五大開源項目

xinghongfei 發表於 2016-08-30 19:56 第 1200 次閱讀 android,開源,源碼php

1android

1,Material Animations

演示View的平移、縮放動畫,activity進入和退出動畫,界面間元素共享。是學習動畫很好的項目,項目代碼量比較少,也很適合新手學習。git

 shared_reveal_anim.gif

 

項目地址GitHub: https://github.com/lgvalle/Material-Animations程序員

2,Meizhi

天天推送一張妹子圖、一個小視頻和一系列程序員精選文章,數據來源於代碼家的乾貨集中營。github

Meizi.gif

架構:     MVC數據庫

圖片加載:"picasso"網絡

網絡請求:RxJava & Retrofit+okhttp架構

界面:      遵循google材料設計app

其餘:nineoldandroids,photo view,numberprogressbar,umeng-analytics,rxandroid,butterknife,ottoide

項目地址github:https://github.com/drakeet/Meizhi

3,LookLook

能夠閱讀知乎日報,網易頭條,同時每日推送一張妹子圖片和視頻,是一個精美的閱讀軟件。遵循了谷歌材料設計,加入了一些5.0以上的新特性,閱讀體驗毫不遜色於官方的app。

looklook.gif

架構:      MVP

圖片加載:」glide」

網絡請求:RxJava & Retrofit+okhttp

界面:      遵循google材料設計

其餘:Cardview,RecycleView,Butterknife,PhotoView

項目地址github:https://github.com/xinghongfei/LookLook

4,android-UniversalMusicPlayer

這個開源項目展現瞭如何實現一個橫跨各類Android平臺的音樂播放器,包括手機,平板,汽車,手錶,電視等。

Universal music player.gif

架構:MVC

項目地址github:https://github.com/googlesamples/android-UniversalMusicPlayer

5,plaid

由谷歌工程師開發,展現google的材料設計,項目代碼量大,可是結構清晰,仍是很好理解的。

plain.gif

 

架構:    MVC

圖片加載:」glide」

網絡請求:RxJava & Retrofit

其餘:RecycleView,Butterknife

項目地址github:https://github.com/nickbutcher/plaid

 

總結:

建議學習順序從第一個開始一直到最後一個,由易到難。項目中用到的開源庫,若是不熟悉,網上搜一些文章進行學習,把開源庫的基本使用都瞭解了以後再去看項目,這樣就不會一頭霧水。當下比較流行的技術有RxJava + Retrofit+okhttp,RecycleView,Butterknife,Glide等,這些技術在LookLook項目中都用應用,若是把LookLook這個項目搞懂了,基本就沒有問題了。

 

看開源項目的心得:

剛開始看一些項目可能會感受沒有頭緒,項目看多了,就不會有這種感受了,只要靜下心,一切都ok了。

準備工做:  下載項目,編譯後運行在虛擬機或真機上,讀README瞭解項目概況。

看項目源碼:打開Manifest文件,找到入口activity,簡要瀏覽項目中有一些什麼activity,Broadcast Receiver,Service。而後在虛擬機或真機上打開程序對照源碼看。順藤摸瓜,一步一步往下看,第一遍可能不會徹底看懂。第一遍就是把程序運行的主要脈絡搞懂,熟悉項目中用到的開源庫和知識點,若是有本身不熟悉的,上網搜一些文章學習。第一遍主要脈絡搞懂了以後,再進行第二遍,第三遍,甚至第四遍,每一遍都會加深對代碼的理解。

 

若是你的項目看多了以後你會發現一個項目能夠分爲如下幾個模塊:

1,activity 和fragment

2,adapter

3,數據實體

4,第三方開源庫的使用,網絡、圖片、其餘工具

5,一些工具類

6,項目配置類

7,自定義View

8,其餘(數據庫,activity、fragment的基類,API等)

任何事情均可以熟能生巧,在看了一些開源項目後,本身最好開發一個。看項目源碼是一個很費腦子的事情,不能急於求成,我以前就有點着急,看了不少項目,高強度的進行了20多天後,把本身完全累壞了,掉頭髮很嚴重,大腦嚴重勞累過分,休息了一個星期才緩解過來。因此建議你們制定一個合理的學習時間,不要讓本身強度太大。

最後的感受就是,看似難以想象的事情,只要本身靜下心來,循序漸進,最後發現都不過如此嘛。

既然閱讀源碼這麼重要,那該如何讀?請看我另外一篇文章閱讀源碼的經驗總結(android程序員)

相關文章
相關標籤/搜索