Android音樂播放器


大家抱歉~~,課業繁忙,暫時鴿了。以后還是會補上的。源代碼分享給大家了。    --2020.6.4

---------------------------------------------------------------------------------------------------

收到了好多小伙伴的私信,那就和大家分享一下程序開發的思路和代碼。

功能說明->說明文檔

演示視頻->Android音樂播放器

源代碼->GitHub

每個功能具體實現可能需要單開一篇博客來介紹,不然篇幅太長大家也就失去了耐心。

 

1.系統功能

圖1.1頁面層次

圖1.2首頁 功能概述圖

圖1.3服務 功能概述圖

 

系統界面和功能概述如上圖所示,主要具體實現功能如下:(*與代碼量/實現難度成正比)

  1. 點擊播放音樂*
  2. 后台播放***
  3. 點擊/自動播放下一曲**
  4. 單曲循環/列表循環*
  5. 進度條顯示,可拖動播放的進度條
  6. 歌曲名/歌手名搜索**
  7. 自動掃描獲取手機內存歌曲*
  8. 聯網時加載預置在線歌曲*
  9. 初次打開軟件,請求獲取存儲權限*
  10. 側滑菜單欄界面+主頁面動態聯動***
  11. 前端交互優化,點擊水波紋效果/控制鍵按壓反色動態效果**

2.涉及到的技術點

技術難點:

①    實現完全的前后端分割,activity與service分割,activity結束后service仍可后端運行,activity再次啟動時,綁定service並獲取信息設置頁面信息。

②    側滑菜單欄的實現頁面切換時,為了減小頁面切換的延遲,使用動態fragment,並將每個創建的fragment壓棧。

③    為了達到列表的篩選效果,無方法可以調用的情況下,自己實現了基於歌名和歌手名的篩選邏輯。

④    設計了軟件圖標、界面和所有的交互按鈕動態效果。

用到的組件/類:

Activity中:

ImageView(所有的點擊圖標)、TextView(顯示信息)、ToolBar+SearchView(搜索框)、RecyclerView+ LinearLayoutManager (列表)、SeekBar+Handler+ Runnable(進度條)、BroadcastReceiver+ IntentFilter (界面信息更新)、ConnectivityManager+ NetworkInfo (網絡狀態)、ContentResolver+ Cursor(讀取內存歌曲)

DrawerLayout+ NavigationView+ Fragment+ FragmentManager+ FragmentTransaction(側滑菜單)、DisplayMetrics+ RelativeLayout(主頁面動態聯動)

 

Service中:

Service(音樂服務) 、IntentService(轉發更新信息)、MediaPlayer(音樂播放)

 

啟動頁面:

RxPermissions(github第三方開源庫  動態權限獲取)

 

其他:Toast、Intent等

3.功能實現

  1.后台音樂播放構架

  2.待更......

  3.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM