對程序員來說,最好的學習也是閱讀,多看別人優秀的代碼,加以總結學習應用。如果你想成爲一個更好的開發者,就必須閱讀大量的代碼。
書本,博客,論壇在一定程度上都是比較好的,但是比不上一些功能完整詳細的開源項目。
所以你要做的就是喝着咖啡看代碼。O(∩_∩)O哈哈~
下面列出來一些比較好的開源項目,每個項目都標註有難易程度。希望可以幫到你~
LeafPic
(Github | Play Store | Difficulty: 初級)
照片牆類的app是比較常見的。你是否有想過它們是如何開發的呢?LeafPic就是一個比較好的開源照片牆類的APP。
這個項目較簡單,容易上手,比較適合初級選手。值得一提的是它包含了切換主題這一功能。
Simple Calendar
(Github | Play Store | Difficulty: 初級)
這是一款用Kotlin語言編寫的日曆app。如果你想學Kotlin,這個開源項目絕對能幫到你。該項目還可以幫助你學習到添加桌面小工具。
Amaze File Manager
(Github | Play Store | Difficulty: 中級)
文件管理類的app也是一類比較常見的應用。
做一個能適配大部分android設備的管理類app是相當難的。你可以從這個項目中學到很多,尤其是處理SD卡上的文件。
但是不建議參考這個項目的編碼,因爲不夠標準。
Easy Sound Recorder
(Github | Play Store | Difficulty: 初級)
這是一款簡單的錄音app。如果你想學關於錄音方面,這個開源項目可以幫到你。
該項目只有一個Activity,代碼非常好理解,並且採用的是MD設計。
MLManager
(Github | Play Store | Difficulty: 初級)
該軟件可幫助管理手機裏面的apps。從這個項目中可以學到如果獲取軟件的詳細信息,導出apk,卸載軟件等功能。
這個項目的編碼風格很好,可以借鑑,它的簡潔代碼設計和MD設計都可以參考。
PhotoAffix
(Github | Play Store | Difficulty: 初級)
這款應用可以水平或者垂直合併圖像。從它的代碼中可以學到簡單的自定義控件基礎。
MovieGuide
(Github | Difficulty: 中級)
該項目採用了MVP,Clean架構進行開發。包含了RxJava和Dagger2的應用。
AnExplorer
(Github | Play Store | Difficulty: 中級)
同樣是一款輕量級的文件管理器,適用於手機和平板。
root管理,loaders,自定義控件等功能都可以從這個項目中學到。
Minimal ToDo
(Github | Play Store | Difficulty: 初級)
該項目比較適合初學者學習參考。
Timber
(Github | Play Store | Difficulty: 高級)
Timber是一款設計非常漂亮的音樂播放器,如果你正在開發一款屬於自己的播放器,那麼正好可以參考學習一下這個。
這個項目距比較大,但是非常受歡迎。
AnotherMonitor
(Github | Play Store | Difficulty: 中級)
該項目可以幫助你瞭解到監控系統進程,內存使用,CPU使用等情況。
代碼風格較好,簡單容易理解。但是UI設計不敢恭維。
InstaMaterial
(Github | Difficulty: 初級)
該項目學習了Instagram這款應用的材料設計,正好可以幫助你提高你的MD水平。
Cocoin
(Github | Difficulty: 初級)
Cocoin是一款個人財務記賬軟件。該項目可以幫助你學到操作大量用戶數據,繪製漂亮的表格,自定義比較酷的控件等。
OmniNotes
(Github | Play Store | Difficulty: 中級)
這是款類似於Evernote的筆記類app。
該項目由大量的功能,比如分享和收縮note,在note中可添加圖片,視頻,音頻,sketch等附件,還可以添加提醒人。
Clip Stack
(Github | Play Store | Difficulty: 初級)
該項目是一個簡潔漂亮的剪切板管理軟件。
Super Clean Master
(Github | Difficulty: 高級)
這是一個模仿【清理大師】的應用。
功能較多,建議仔細研究。
Traval Mate
(Github | Difficulty: 中級)
如果你正在開發一款重度依賴位置和地圖旅行類的app,那麼你就可以參考該項目。
KISS
(Github | Play Store | Difficulty: 初級)
一個簡單,快速,輕量級的launcher應用。
Turbo Editor
(Github | Play Store | Difficulty: 中級)
這是一款非常強大的文本編輯器。通過這個app可以編寫代碼,並提供語法高亮的功能。
Wally
(Github | Difficulty: 中級)
這是一款壁紙應用。
Pedometer
(Github | Difficulty: 初級)
這是一款通過傳感器計步類的app。
代碼可參考學習,界面設計就慘了點~~