大家好今天我将为大家分享基于Service与ContentProvider的音乐播放实例,对于接触Android有一些时日的人来说,Android的核心也就是Activity,Service,ContentProvider,BroadCastReceiver,以及串联它们的Intent五大模块,Activity我就不用多说了,而我将就这个例子来说一下Service,以及ContentProvider.

Service:

Android中的服务,它与Activity不同,它是不能与用户交互的,运行在后台的程序,如果我们退出应用时,没有结束进程,它仍然在后台运行,那我们什么时候会用到Service呢?比如我们播放音乐的时候,有可能想边听音乐边干些其他事情,当我们退出播放音乐的应用,如果不用Service,我们就听不到歌了,所以这时候就得用到Service了,又比如当我们一个应用的数据是通过网络获取的,不同时间(一段时间)的数据是不同的这时候我们可以用Service在后台定时更新,而不用每打开应用的时候在去获取。

CotentProvider:

Android中的内容提供者,它让我们可以通过一个URL跨应用获取数据(通常是SQLite数据库),我觉得Android这个还是机制还是非常不错的,特别是我们想获取Sdcard里一些数据时,比如我们想获取所有Sdcard里的音频,视频,图片等,我们只要通过一个URL就可以轻松搞定,其实我们在开机或者插入Sdcard时,Android会做一些事情,就是它自动建库,将我们卡里所有音频,视频,图片等信息存在相应的表中,我们可以用DDMS打开看一下如下图(data/data目录下),红线是我手机当前卡建立的数据库(不同卡会建立不同的数据库)

然后我们可以将这个数据库导出,用可以打开.db的工具打开浏览数据库的相关信息如下图所示(我这里打开了音频的数据表,可以看到我手机里所有音频文件,当然还有数据表字段):

本来这个应用是我用来写播放音乐Widget的代码,但是布局有点多,我就简单化了,做了一个比较 简单的Demo,老规矩Step by Step.

第一步:新建一个Android工程命名为MusicDemo.

第二步:候改main.xml布局文件(我这里增加了四个按钮,上一首,播放,下一首,暂停)代码如下:

第三步:新建一个MusicService.java类,播放音乐都是在这个类里进行的哦,代码如下:

第四步:修改Musicdemo.java代码如下(代码比较简洁易懂):

第五步:修改AndroidManifest.xml,这里只是把我们的MusicService申明进去,不然会报错(第14行代码),代码如下:

第六步:运行上述Android工程,效果如下图所示:

效果1:首界面:

效果2:点击播发按钮开始播放音乐:

效果3:我们可以在设置(Settings)->应用(Applications)->正在运行的服务(Running Services)查看我们启动了一个新的Service:

Ok~今天就先到这里,大家有什么不明白的请留言,Thx~

更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  2. 如何获取android源代码
  3. Android高手进阶教程(二十二)之---Android中几种图像特效处理的
  4. Android(安卓)WebView系列文章2-WebView和js交互
  5. android 类似QQ 换皮肤 实现思路 apk资源共享
  6. ListView setOnItemClickListener无效原因详细分析
  7. Android高手进阶教程(七)之 ----Android(安卓)中Preferences的使
  8. 使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索
  9. android 将程序设置为app2sd

随机推荐

  1. App测试中ios和Android的区别
  2. SQL SERVER修改函数名容易引发的问题分析
  3. SqlServer Mysql数据库修改自增列的值及
  4. SQL Server中避免触发镜像SUSPEND的N种方
  5. 浅谈SQL Server 2016里TempDb的进步
  6. Sql Server中REPLACE函数的使用
  7. SQL Server 2016 查询存储性能优化小结
  8. MyBatis MapperProvider MessageFormat拼
  9. SQL Server 触发器实例详解
  10. 常用SQL语句查询分享