音乐播放器代码结构
Android源码的Music应用相关代码不算多,packages/apps/Music是关于UI界面的,\packages\providers\MediaProvider关于数据库的,数据库文件放在data/data/com.android.providers.media, 这里面有两个或更多个.db文件,external是外部数据库,记录着Music里显示的那些歌曲,internal是内部数据库,存放着系统铃声文件。根据sd的不同,每次.db文件名字也不同,一张sd卡对应的一个文件。代码方面只有com.android.music一个包,常用的几个类如下:
几个关于列表显示的类,下面这些类的显示都用到track_list_item_common.xml这个布局文件,充分体现最大程度复用代码的原则。
MusicBrowserActivity.java 主控制界面
TrackBrowserActivity.java 音乐列表界面
PlaylistBrowserActivity.java 播放列表界面
AlbumBrowserActivity.java 专辑浏览界面
ArtistAlbumBrowserActivity.java 艺术家浏览界面
这两个应该是Music应用中最重要的类了,音乐播放器吗,没播放界面怎么行。
MediaPlayerbackActivity.java 音乐播放界面
MediaPlaybackService.java 音乐播放器服务
下面这些都是对话框形式呈现出来的。
RenamePlaylist.java 重命名播放列表界面
CreatePlaylist.java 新建播放列表界面
DeleteItems.java 删除提示框界面
ScanningProgress.java 音乐描扫进度显示界面
MediaAppWidgetProvider.java Widget实现类
MusicPicker.java 音乐选择界面,这是给其它应用程序调用的界面。
MusicUtils.java 播放器公共方法类