Android应用实例之----基于Service与ContentProvider的音乐播放实例!

Android实现音乐播放器,Service后台播放&Notification控制播放状态 前言 优快云和百度上有许多关于做音乐播放器的资料,但是基本上都只是贴上主要代码或者是要积分/C币,考虑到音乐播放器是比较基础的项目,也只有新手或者对这方面不了解的人才会来系统的学习,因此本篇博客由浅及深讲解,并把最终代码献上。 本音乐播放器的功能: 1.实现访问手机本地的.mp3音乐文件 2.在主页中将访问的数据显示出来(这里简单点用ListView,用RecycleView当然也可以) 3.在... 阅读详情

大家好今天我将为大家分享基于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~

 

Android 基于ContentProvider 的音乐播放器 Android基于ContentProvider的音乐播放器,通过读取系统多媒体信息,得到储存在外部存储器上的所有音频文件内容,用listview显示歌曲名和歌手信息.并通过mediaPlayer进行播放.该版本只是完成了一个音乐播放器的最简单功能,界面不炫酷,也没有特殊功能.主要用于参考学习Android系统功能强大的ContentProvider. 立即下载

相关推荐

带通知栏的安卓音乐播放器

实现了类似天天动听的通知栏管理音乐功能,有上一首、下一首、播放、暂停、关闭应用,实现中用到了IntentService、BroadcastReceiver、Application、Notification等,对安卓进阶很有帮助,当然项目只是个demo,还有很多地方没处理好,如果你想做个完整的音乐播放器应用,可以拿他作基础

android音乐停止广播,android暂停或停止其他音乐播放器的播放

今天在csdn上有问这个问题就研究下,正好自己的项目也需要用到,顺便做个记录。来自android自带的music源码,下面是广播接收的代码,通过发送广播来控制音乐的播放,停止等。代码如下:publicstatic final String PLAYSTATE_CHANGED ="com.android.music.playstatechanged";public static finalStrin...

weixin_34856060的博客 1324

Android使用Service及BroadcastReceiver实现音乐播放器

播放音乐,我们需要在AndroidManifest.xml文件添加权限 创建Service,需要在AndroidManifest.xml文件配置 现在我们创建了一个叫做MusicService的Service,它是继承Service类的 话不多说,先看看效果图 布局文件: Activity部分代码: package com.example.ch8; import androidx.appcompat.app.AppCompatActivity; import an

Media Player控件使用

1 新建Dialog应用程序 2 1)在Dialog上右击, 选择"Insert ActiveX Control"   2)选择"Windows Media Player", ID为"IDC_OCX1" 3 1)在ClassWizard中为"IDC_OCX1"添加变量"m_player"   2)Category:Control Variabletype:CWMPPlayer4 添加

big_dreamers的博客 2716

Android 中ContentProvider的实例详解

主要介绍了Android 中ContentProvider的实例详解的相关资料,希望通过本文大家能掌握这部分内容,需要的朋友可以参考下

GATK SNP过滤参数优化:从标准到个性化调整的实践指南

本文深入探讨了GATK SNP过滤参数的个性化调整策略,强调不应盲目套用官方标准参数。文章详细拆解了QD、FS、SOR等关键过滤参数的含义,并提供了通过数据分布分析、文献调研和迭代测试来确定适合自身数据(如动植物重测序)最佳阈值的实践方法,旨在帮助研究者在保留真实变异与剔除假阳性信号之间找到最优平衡。

weixin_29216049的博客 275

通过ContentProvider播放音乐文件

今天我将为大家分享基于Service与ContentProvider的音乐播放实例,对于接触Android有一些时日的人来说,Android的核心就是Activity、Service、ContentProvide,BroadcastReceiver,以及串联它们的Intent五大模块。 Service Android中的服务,与Activity不同,它是不能与用户交互的,是运行在后台的程序。如果

almo_omla的博客 1493

ldpc编解码器设计与仿真

计算校验节点到变量节点的消息 m_{c \to v}=2 \cdot atanh(\prod_{v’ \in N©\setminus v}tanh(\frac{m_{v’ \to c}}{2}))。计算变量节点到校验节点的消息 m_{v \to c}=L_{v,0}+\sum_{c’ \in M(v)\setminus c}m_{c’ \to v}。◦ 对于每个变量节点 v,计算最终 LLR 值 L_{v,f}=L_{v,0}+\sum_{c \in M(v)}m_{c \to v}。

youngerwang的博客 808

android 之 service+contentProvider 音乐播放示例

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ethan.service" android:versionCode="1" android:versionName="1.0" > <application android

ETHAN IN IT 1925

高通Camera HAL3调试实战:如何用camxoverridesettings.txt高效抓取日志与dump图像数据

本文深入探讨了高通Camera HAL3调试中camxoverridesettings.txt文件的高效应用,重点介绍了如何通过该文件精准控制日志输出级别与dump图像数据,帮助开发者快速定位移动影像系统中的问题。文章详细解析了日志分级配置、图像数据捕获技巧及典型问题排查流程,为高通Camera HAL3项目开发提供了实用技术点。

weixin_30315905的博客 861

电容DAC版图布局中的对称艺术:从二维共质心到误差最小化

本文深入探讨了电容DAC版图布局中的对称艺术,重点介绍了二维共质心技术如何有效最小化误差。通过分析系统误差和随机误差的来源,详细解析了共质心布局的核心技术及优化策略,包括梯度误差补偿和寄生参数平衡方法。实战案例展示了该技术在12位SAR ADC设计中的应用效果,为高精度集成电路设计提供了重要参考。

weixin_29300241的博客 580
上一篇: Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!
下一篇: 论手持设备应用的WebApp化!
Android_Tutor
博客等级 码龄17年 1万+粉丝 122原创
评论 47
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值