## 1.背景
前面已經總結了MainActivity,MusicService ,MusicNotification的實現,在這里將總結MainActivity 與 MusciService ,MusicService 與 MusicNotification , 以及三者的關系;
## 2.MainActivity 與 MusicService?
(1)過程圖

(2)說明
1)當應用啟動的時候,就初始化MusicService , 包括 初始化的音樂數據 ,通知,廣播,MediaPlay ;
2)在主頁中音樂信息展示的數據是在Fragment中,所以需要回調函數回調出點擊的位置,從而播放當前點擊的音樂;
3)在MainActivity播放當前點擊的音樂,通過廣播發送Intent,進行播放;
## 3.Notification與Serivice
(1)關系圖

(2)說明
1)Notification在Service中初始化;
2)Notification 在音樂狀態發生改變的時候,發生改變(Service調用更新);
3)Notification 在Service 關閉的時候,移除通知;
4)Service 在音樂狀態發生改變的時候,更新Notification;
5)Service 正在播放的Music信息,會更新到通知欄;
6)Service與Notification 通信通過 BoradCastReceiver實現;
(3)BoradCastReceiver過程圖
廣播的使用,不僅僅是在Notification與MusicService ,還用在 MainActvity與MusicService ,當然后面還有使用的地方,盡情期待;

## 4.總結

MainActivity,MusicService , Notification 的關系,通信以 BroadCastReceiver為媒介,來傳遞信息;MusicService作為播放器的心臟,BoradCastReceiver 在MusicService中以內部類的形式實現,并沒有單獨的寫成一個類,這樣的話,方便了音樂的控制,不然要寫很多回調函數。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
- 前言
- Android實戰 - 音心音樂播放器 (開啟篇)
- Android實戰 - 音心音樂播發器 (主界面實現)
- Android實戰 - 音心播放器 (Music Service 實現)
- Android實戰 - 音心播放器 (通知實現音樂的播放/暫停/下一曲控制)
- Android實戰 - 音心播發器 (MusicService ,Notification, MainActivity 總結)
- Android實戰 - 音心播放器 (MusicActivity-音樂播放頁面界面實現)
- Android實戰 - 音心播放器 (MusciActivity-專輯圖片獲得,基本控制實現)
- Android實戰 - 音心播放器(MusicActivity - 歌詞實現)
- Android實戰 - 音心播放器 (MusicActivity - 倒計時 ,進度條實現)
- Android實戰 - 音心播放器 (MusicActivity ,MusicNotification,MusicService總結)
- Android實戰 - 音心播放器 (MusicListActivity - 分類信息界面實現)
- Android實戰 - 音心播放器 (MusicListActivity - 音樂播放和MainActivity的一個問題)
- Android實戰 - 音心播放器 (啟動頁與社交分享(ShareSDK))
- Android實戰 - 音心播放器 (優化Service退出,按兩下退出應用實現)
- Android實戰 - 音心播放器 (項目總結,應用打包發布)