基于Android的在线音乐播放器开发终稿.docx

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
从本文开始,详细讲述一个音乐播放器的实现,以及从网络解析数据获取最新推荐歌曲以及歌曲下载的功能。?功能介绍如下:?1、获取本地歌曲列表,实现歌曲播放功能。?2、利用硬件加速感应器,摇动手机实现切换歌曲的功能?3、利用jsoup解析网页数据,从网络获取歌曲列表,同时实现歌曲和歌词下载到手机本地的功能。?4、通知栏提醒,实现仿QQ音乐播放器的通知栏功能.?涉及的技术有:?1、jsoup解析网络网页,从而获取需要的数据?2、Android中访问网络,获取文件到本地的网络请求技术,以及下载文件到本地实现断点下载?3、线程池?4、图片缓存?5、service一直在后台运行?6、手机硬件加速器?7、notification通知栏设计?8、自定义广播?9、android系统文件管理?主要技术是这些,其中,利用jsoup解析网络网页,从而获取需要的数据,请参考我的博文:?android中使用JSOUP如何解析网页数据详述下面是最终结果展示:??图一 本地歌曲列表图二 网络歌曲列表?图三 播放歌曲界面图四 播放界面歌词显示部分?图五 通知栏展示 播放和下载时的展示在本地歌曲列表界面长按菜单键可以显示菜单:??在网络歌曲列表中,点击歌曲,可以显示下载和取消菜单项:?基本的界面就是上面的图所展示的。大家觉得还可以的话,就给留个言~~^_^【握手】下面就开始详细讲述实现细节。首先提一点,播放器中获取的网络歌曲部分,请参看我的博文:android中使用JSOUP如何解析网页数据详述?网络歌曲列表的获取就是利用jsoup从网页抓取数据进行展示的。关于这部分的东西,在本系列博文中不再详细说明了。关于音乐播放器部分,需要使用到service服务,总共需要两个,一个是音乐播放的service,一个是歌曲下载的service,关于service一直在后台运行的问题,请参考我的博文:实现音乐播放器后台Service服务一直存在的解决思路根据这篇博文的说明,很容易设计application类的实现,application类实现代码如下:/** * 2015年8月15日 16:34:37 * 博文地址:/u010156024 */publicclassAppextendsApplication {publicstatic Context sContext;publicstaticint sScreenWidth;publicstaticint sScreenHeight;@Overridepublicvoid onCreate() {super.onCreate(); sContext = getApplicationContext(); startService(new Intent(this, PlayService.class)); startService(new Intent(this, DownloadService.class)); WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(dm); sScreenWidth = dm.widthPixels; sScreenHeight = dm.heightPixels; }}application类中启动了上面的两个service服务,同时获取了手机屏幕的宽和高。手机宽和高是为了后i面设计界面使用的。?有了application之后就可以设计Activity类,首先设计BaseActivity类,把复用的代码放在基类中,子类覆盖或重写BaseActivity中的方法,代码如下:/** * 2015年8月15日 16:34:37 * 博文地址:/u010156024 */publicabstractclassBaseActivityextendsFragmentActivity {protected PlayService mPlayService;protected DownloadService mDownloadService;privatefinal String TAG = BaseActivity.class.getSimpleName();private ServiceConnection mPlayServiceConnection = new ServiceConnection() {@Overridepublicvoid

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档