为了检验一下最近学习的知识,于是自己做了一个音乐播放器。
功能和一般的播放器差不多,无非是播放暂停下一首,但由于个人开发,资源不足的原因就不提供音乐下载和歌手图片下载的功能了(尝试过用http获得百度搜索引擎返回的网页,发现资源的url都在script里解析不出来。。T_T 实在想不出办法,如果有什么办法可以获得URL的话请务必赐教)。
先上图。
这是大致的UI(舍友问我:为何这么丑?)
这是Notification
代码有点多就不上代码了,如果想看的话可以到下面下载
音乐都是从系统提供的MediaStore的ContentProvider中获得的
因为感觉遍历SD卡太耗时了。但MediaStore的方法就只能获得Music文件夹里的音乐,所以我觉得比较好的做法是自己用SQLite建个库,把搜索到音乐信息存进库里。
总结一下用到的知识:
1、Fragment的调用,切换
2、ContentResolver的使用
3、ViewPager+Fragment
4、Listview:自定义布局,使用了BaseAdapter,设置点击,长按item时的功能
5、Service
6、Handler更新UI
7、PopupMenu
8、BroadcastReceiver
9、Mediaplayer的使用
10、SeekBar的使用
11、(未实现,打算实现)Http异步加载网络歌手图片,SQLite管理音乐信息,下载网络音乐
差不多就这些知识了(少的可怜。。。。)
遇到的比较深刻的问题:
1、ImageView的src与background的区别:在代码里的setImageViewResouce对应src,setBackgroundResource对应background,scaleType属性适用于src,以前误以为src无法拉伸缩小,原来要src和scalType一起用才有效果,以前都是设置background然后在用width和height设置大小
2、ViewPager + Fragment每次划到最后一个返回去都会用到onResume方法
3、Http加载首先得有url T_T
4、include标签在RelativeLayout里使用得先声明宽高
暂时回想起的就这些了
代码下载:
http://download.csdn.net/detail/fuckinglulu/9490378