Android自带音乐播放器代码分析(1)

要查看android自带的Music播放器需要下载android源码,具体方法在android源码网站有介绍,自带的Music播放器的代码位于android4.0\packages\apps\Music中 为了查看代码的方便可以将项目导入Eclipse查看,忽略提示的错误。

原生的music代码有很多bug,可以用虚拟机模拟查看。

首先查看整个项目中的java类如下介绍各类的作用:

1.AlbumBrowserActivity此类继承自ListActivity实现接口View.OnCreateContextMenuListener,   MusicUtils.Defs,    ServiceConnection该类的作用是显示专辑的界面。

2.ArtistAlbumBrowserActivity此类继承自ExpandableListActivity实现接口View.OnCreateContextMenuListener, MusicUtils.Defs, ServiceConnection该类的作用是显示艺术家列表,内部是ExpandableList。

3.AudioPreview此类继承自Activity实现接口OnPreparedListener, OnErrorListener, OnCompletionListener此类提供界面当其他程序如彩信要加入音乐时提供音乐预览的界面。

4.CheckableRelativeLayout此类继承自RelativeLayout实现接口Checkable,这是一个自定义的布局

5.CreatePlaylist此类继承自Activity该类提供创建播放列表的界面

6.DeleteItems此类继承自Activity该类提供删除音乐时的提示界面主题是Dialog

7.MediaAppWidgetProvider此类继承自AppWidgetProvider,其作用是实现桌面的音乐插件

8.MediaButtonIntentReceiver此类继承自BroadcastReceiver,此类提供对相应按钮按下发送的广播进行接收的机制

9.MediaPickerActivity此类继承自ListActivity实现接口MusicUtils.Defs

10.MediaPlaybackActivity此类继承自Activity实现接口MusicUtils.Defs,  View.OnTouchListener,  View.OnLongClickListener该类提供音乐播放的界面,用户在该界面上可以点击控制音乐的播放,暂停,前进和后退。

11.MediaPlaybackService此类继承自Service此类提供音乐的播放服务,音乐的播放控制都在内部定义的

12.MusicAlphabetIndexer此类继承自AlphabetIndexer

13.MusicBrowserActivity此类继承自Activity实现接口 MusicUtils.Defs

14.MusicPicker此类继承自ListActivity

15.MusicUtils该类提供获取音乐播放状态的辅助方法

16.PlaylistBrowserActivity此类继承自View.OnCreateContextMenuListener,  MusicUtils.Defs此类用于显示播放列表

17.QueryBrowserActivity此类继承自ListActivity实现接口MusicUtils.Defs, ServiceConnection

18.RenamePlaylist此类继承自Activity该类用于对音乐列表进行重命名

19.RepeatingImageButton此类继承自ImageButton该类实现长按某个图片时 歌曲的快进

20.ScanningProgress此类继承自Activity显示当前扫描的进度

21.SharedPreferencesCompat存储上次使用时的某些播放器首选项的信息保存

22.SortCursor此类继承自AbstractCursor

23.TouchInterceptor此类继承自ListView

24.TrackBrowserActivity此类继承自ListActivity 实现接口 View.OnCreateContextMenuListener,   MusicUtils.Defs,   ServiceConnection

25.VerticalTextSpinner此类继承自View

26.VideoBrowserActivity此类继承ListActivity 实现接口 MusicUtils.Defs

27.WeekSelector此类继承自Activity

28.还有个定义的 aidl文件IMediaPlaybackService此文件中定义了IPC的接口

你可能感兴趣的:(eclipse,android,ListView,dialog,音乐,代码分析)