0.前言
前面有同學問我,想要做一個Android 實戰專案,問我有沒有好的開源專案可以參考和練習?
想想自己以前也是,當專案沒有什麼新任務的時候,想著自己寫一個實戰專案來來練練手,那拿什麼專案來練手呢?我覺得最好的專案就是自己寫一個音樂播放器。一個音樂播放器裡幾乎能包含Android 中的大部分常用技術,Android 的四大元件(Activity,Service,BroadcastRecevier,ContentProvider都有使用),自定義View、widgets元件,程式通訊、通知欄、網路相關、音訊、視訊相關技術等等。因此,如果你做完一個完整音樂播放器,那麼對你自己的技術提升也不小。
本篇文章就介紹幾個不錯的開源Android音樂播放器,UI美觀,程式碼質量不錯,如果你正打算找一個專案練練手,那麼不妨去看看:
1. Timber
Timber 是一款功能強大的開源音樂播放器,有如下功能:
- Material Design 設計
- 歌曲、專輯、歌手 瀏覽
- 建立、編輯播放列表
- 桌面widgets控制元件
- 主題切換
- 支援Android手錶和車載
- 通知和歌詞等等。
功能全面,介面遵循Material Design 設計規範,非常漂亮,裡面也有一些炫酷的自定義控制元件,如果你想找一個開源專案來模仿和練習實戰,這個專案是個不錯的參考。
地址: https://github.com/naman14/Timber
Github star: 4.2k
2. remusic(高仿網易雲音樂app)
網易雲音樂應該算是國內最好音樂APP之一,我也是網易雲音樂的忠實使用者,不僅app介面美觀,整個社群也是做的很好,在音樂推薦方面深的人心,幾乎每一首都符合口味,網上更有流傳了這樣一張圖:
不裝個網易雲音樂,連女朋友都找不到(開個玩笑...)。
而remusic是對網易樂音樂app的高仿,介面幾乎一模一樣, 功能很全面,專案中有使用一些優秀的開源框架:
- 圖片載入框架 Fresco
- 網路框架:Retrofit+okhttp
- 換膚:MagicaSakura
還有一些自定義View ,如歌詞控制元件、播放進度控制元件、暫定、播放控制元件等等。如果你想開發一款音樂播放器來實戰進階,remusic 是一個不錯的參考開源專案。
地址:https://github.com/aa112901/remusic
Github star: 3.9k
3. ListenerMusicPlayer(高仿輕聽app)
輕聽是騰訊出品的一款Android本地音樂播放器,顏值爆表,非常小清新,整體設計運用Material Design風格,配合優雅的場景轉換和漣漪效果、便捷的手勢操作,讓你一見傾心,保證你看到就會喜歡上它。
ListenerMusicPlayer 是高仿的 聽聽app介面和互動,使用 Lastfm Api 與 酷狗歌詞Api。專案架構採用 mvp-clean,基於 Retrofit2 + Dagger2 + Rxjava + RxBus + Glide。
裡面也有一些炫酷的動畫效果,是一個值得參考的開源專案。
地址:https://github.com/hefuyicoder/ListenerMusicPlayer
Github star: 1.9k
4. android-UniversalMusicPlayer
android-UniversalMusicPlayer 是 google 的 一個音樂播放器示例App,沒有炫酷庫的UI,重點展示如何使用Android api 來打造一個自己的多媒體播放器。專案中不僅有手機上播放器的示例,更有多種其他平臺,如平板、手錶、車載、電視等等。是一個很好的學習多媒體相關api的開源專案。
地址:https://github.com/googlesamples/android-UniversalMusicPlayer
Github star:9k
5.總結
其實寫一個音樂播放器還是挺鍛鍊人的,涉及的知識面廣,對於初、中級Android 工程師適合。本篇文章介紹了4個優秀的開源音樂播放器,有興趣的可以去看看研究一下。我相信寫完後對你的幫助會很大的。如果你還有什麼優秀的開源庫推薦,歡迎文末留言。
更多Android乾貨文章,關注公眾號 【Android技術雜貨鋪】