【開源推薦】進階實戰,從一款音樂播放器開始

0.前言

前面有同窗問我,想要作一個Android 實戰項目,問我有沒有好的開源項目能夠參考和練習?java

想一想本身之前也是,當項目沒有什麼新任務的時候,想着本身寫一個實戰項目來來練練手,那拿什麼項目來練手呢?我以爲最好的項目就是本身寫一個音樂播放器。一個音樂播放器裏幾乎能包含Android 中的大部分經常使用技術,Android 的四大組件(Activity,Service,BroadcastRecevier,ContentProvider都有使用),自定義View、widgets組件,進程通信、通知欄、網絡相關、音頻、視頻相關技術等等。所以,若是你作完一個完整音樂播放器,那麼對你本身的技術提高也不小。android

本篇文章就介紹幾個不錯的開源Android音樂播放器,UI美觀,代碼質量不錯,若是你正打算找一個項目練練手,那麼不妨去看看:git

1. Timber

Timber 是一款功能強大的開源音樂播放器,有以下功能:github

  • Material Design 設計
  • 歌曲、專輯、歌手 瀏覽
  • 建立、編輯播放列表
  • 桌面widgets控件
  • 主題切換
  • 支持Android手錶和車載
  • 通知和歌詞等等。

功能全面,界面遵循Material Design 設計規範,很是漂亮,裏面也有一些炫酷的自定義控件,若是你想找一個開源項目來模仿和練習實戰,這個項目是個不錯的參考。api

地址: https://github.com/naman14/Timber網絡

Github star: 4.2k架構

2. remusic(高仿網易雲音樂app)

網易雲音樂應該算是國內最好音樂APP之一,我也是網易雲音樂的忠實用戶,不只app界面美觀,整個社區也是作的很好,在音樂推薦方面深的人心,幾乎每一首都符合口味,網上更有流傳了這樣一張圖:app

不裝個網易雲音樂,連女友都找不到(開個玩笑...)。框架

remusic是對網易樂音樂app的高仿,界面幾乎如出一轍, 功能很全面,項目中有使用一些優秀的開源框架:ide

  • 圖片加載框架 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技術雜貨鋪】

相關文章
相關標籤/搜索