基于Android系统开发的简易音乐播放器

大概做了一周左右,一个简易版本的音乐播放器。主要有三个界面,先上图:
一个主界面:主要负责1加载外部存储的音乐文件信息到应用内置数据库中2转到音乐文件列表界面

一个音乐文件列表界面:主要1负责展示音乐文件列表2转到歌词界面中3控制音乐播放,如上一首、下一首、暂停、播放模式、进度控制等

一个歌词展示界面:主要负责1展示歌词2控制音乐播放

类层次结构:

主要是3个Activity、1个适配器类、1个SQLite数据库帮助类、1个内容提供者、1个Service、其他一些帮助类等

界面部分主要是反编译一款音乐播放器:

选择反编译这款,是因为它的安装文件比较小(相应的资源文件会比较少吧,我猜,当时下了几款反编译出来,如大名鼎鼎的千千静听、虾米、天天动听还有乐视 等),其他几款反编后资源文件太多,没时间整理。当然,反编得到的布局文件还是得自己修改一下的,毕竟布局中的一些组件是APP内定义的,不是 Android内置的。

代码部分主要看了两个其他音乐播放器的实现代码
http://blog.csdn.net/wwj_748/article/category/1414168 --简、美音乐播放器,不过代码部分感觉有些繁杂,有些是没用的代码
http://pan.baidu.com/s/16aaV8  --《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》这本书的第17章,看这本书的代码纯属偶然,只是在书架随意浏览一下看到刚好有做音乐播放器的,然后回来后直接到网上下载书籍附带源码来看

这个播放器还有很多不足
1:中文乱码
2:不少Bug,如跳转页面,暂停图标和播放图标不对应(最近一次装到其他模拟器中测试,发现第一次点击音乐列表中的文件时会抛异常,现在暂时没时间看了)
3:展示列表listview的优化问题,在网上稍微浏览了一下如何优化,但没去实践
4:service和activity都在同一个线程中,反应有点慢(较严重的问题,虽然一些耗时的操作,比如和数据库相关的部分,我放到了另外一个线程中,但还是不足,还有很大一部分可以移出主线程)
5:代码写得不好。有不少代码重复了,比如展示歌词的界面中控制音乐播放的部分,就直接拷贝音乐文件展示界面的。尽管看过一些设计模式的书,但这个应用中 没用上(不过,期间也算重构了两次吧,为了把逻辑理得更清晰,第二次重构中决定操作界面按钮只向后台service发送广播,而界面组件的变化全部由后台 发出广播启动,这样一个service即可控制多个activity的变化)
因为时间关系,上面这些不足目前就先不解决了。等以后有时间有精力了再来完善。像《黑客与画家》这本书中写的,快速出原型,不要管bug

其他:
github上面有个开源的音乐播放器(jamendo),有时间有精力的话,可以了解一下,网址是:
https://github.com/telecapoland/jamendo-android
另外还有个基于JAVA的跨平台播放器:YOYOPlayer

http://code.google.com/p/yoyoplayer/

另外还有SimpleMusicPlayer的源码和签名了的APK:

http://files.cnblogs.com/creasylai19/SimpleMusicPlayer.zip  这个是源码资源

http://files.cnblogs.com/creasylai19/SimpleMusicPlayer.apk 这个是签名了的APK

后续等有时间了再来讲一下思路和完善这个播放器

转载于:https://www.cnblogs.com/creasylai19/p/3771565.html

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值