Android音乐解压器源码+课程设计报告(包调试成功

课 程 设 计 论 文

题 目: 音乐解压器

(英文): Music Decompressor

院 别:

专 业:

姓 名:

学 号:

指导教师:

日 期:

目 录

第一章 绪论11

1.1选题背景11

1.2开发技术22

1.3论文结构33

第二章 需求及可行性分析44

2.1需求分析44

2.2可行性分析55

第三章 系统分析77

第四章 系统设计及实现99

3.1播放音乐设置99

3.2记录心情信息设置1212

3.3通知栏设置1414

第五章 总结与展望18

5.1总结1818

5.2展望1919

第一章 绪论
1.1选题背景
随着手机市场不断的发展,手机功能不断的增多,手机已经越来越成为人们不可或缺的工具。根据2008年国际电信联盟(International TelecommunicationUnion,ITU)组织的统计数字,全球约有15亿的计算机使用者,但是手机使用者却高达35亿,在2010年,手机的用户更是超过了50亿。不难看出,手机用户的不断增加将对手机制造商和手机的功能提出更大的挑战。

音乐作为一种普遍、大众化的娱乐方式,渗透在人们生活的各个角落中。以前,听音乐的方式主要依靠广播、电视、收音机、CD等。如今人们的生活越来越忙碌,生活节奏日益加快,生活的压力也越来越多,能够用于娱乐休闲的时间越来越少,利用好碎片化的时间越来越重要。由于智能手机的盛行,很多智能手机都能提供丰富的娱乐活动,人们可以充分利用碎片时间进行自娱自乐。所以,如果能在手机上听歌,并且能够时刻记录自己的心情,写下烦心事宣泄自己的压力,必定是一个很好的娱乐方式和舒缓压力的方式。由于手机是人们随身携带的,人们可以在工作之余,学习之余,甚至上下班的路上利用碎片时间听歌,放松身心。

本项目是一款基于Android手机平台的音乐解忧器,使Android手机拥有个性的多媒体播放器,让手机主人随时随地处于音乐的旋律之中,并且能够为用户提供记录心情的功能,能够随时记录下自己的心情,缓解自己的压力和发泄情绪。本设计实现的重要功能是播放Mp3格式的音乐文件,而且能够控制音乐的播放,暂停,查看歌手信息,记录自己的心情,联系客服反馈问题等功能。本项目还能够使人们生活更加多样化,也使设计者更加熟悉Android的技术和其它在市场上的特点。

1.2开发技术
Android平台主要包括Applications、Application Framework、Libraries 、Android Runtime和 Linux Kernel几部分。Android 四大基本组件分别是Activity,Service服务,Content Provider内容提供者,Broadcast Receiver广播接收器。本项目使用了Activity的四大组件,

一个Activity 通常展现为一个可视化的用户界面,是Android程序与用户交互的窗口,也是Android组件中最基本也是最复杂的一个组件。一个Activity占据当前的窗口,响应所有窗口事件,具备有控件,菜单等界面元素。

Service是运行在后台的一个组件,从某从意义上说,服务就像一个没有界面的Activity。Android 中的服务其实与Windows 中得服务类似,它执行长时间运行的操作,或运程进程执行工作。服务不提供用户界面,例如在后台播放音乐,在你播放音乐的同时还可以干其他事情,而不会阻塞用于与其他活动的交互。另一个组件,比如Activity 可以启动一个服务,并运行或者绑定到它。

Broadcast Receiver是对发送出来的广播进行过滤接收并响应的一类组件。Broadcast Receiver 不包含任何用户界面。通常程序会在状态栏上放置一个持久的图标﹐用户可以打开这个图标并读取通知信息。在Android中Broadcast Receiver组件就提供了一种把Intent作为一个消息广播出去,由所有对其感兴趣的程序对其作出反应的机制。

Content Provider主要的功能就是存储并检索数据以及向其他应用程序提供访问数据的接口为了使其他程序能够操作数据,在Android 中,可以通过做成 Content Provider提供数据操作的接口。Android提供了一些主要数据类型的 Content Provider,比如音频、视频、图片和私人通讯录等。

1.3论文结构
本论文各章内容安排如下:

第一章:选题,介绍了国内的Android手机音乐播放器发展现状,并介绍当代人对于此应用的对待现状,以及对开发技术的介绍,其中包含Android的四大组件。

第二章:音乐解压器的需求分析和可行性分析。主要是对音乐解压器的功能进行需求分析,以及在各方面对该应用进行可行性分析。

第三章:系统分析,主要是通过系统功能结构图对该应用进行系统分析。

第四章:系统设计及实现。概括分析说明了音乐播放器的主要功能,在了解需求的基础上,设计了系统的总体功能模块。从概念结构设计、物理结构设计及数据库设计三方面对系统的设计进行介绍

第五章:总结与展望,总结整个设计,并说明不足及进一步改善的方向

第二章 需求及可行性分析
2.1需求分析

作为Android平台上开发的应用软件,它必须具备与用户交互的界面,界面简洁美观易于操作。因此,对本项目的功能规定可从界面来划分。音乐播放器的用户操作界面可分为以下两部分:登录列表主界面、音乐列表主界面、音乐播放主界面、记录心情列表主界面、记录内容主界面、显示心情内容主界面。本章通过用例图和功能讲解进行功能需求分析。

用例图如下:

注册:用户注册用户名和密码

登录:用户用注册的用户名和密码进行登录

播放:点击列表中的歌曲进行音乐播放

暂停:暂停正在播放的音乐

上一首:播放列表中上一首歌曲

下一首:播放列表中下一首歌曲

拖动进度条:拖动音乐的播放进度

记录心情:添加心情信息,显示具体信息和添加时间,删除心情信息

联系客服:跳转至手机拨号界面并显示客服电话

歌手列表:选择歌手可显示相应歌手详细信息

退出:可选择后台运行和退出应用

2.2可行性分析

技术可行性:1. Java提供了相对稳定的性能,使用Java进行开发更加高效,所设计出的系统运行流畅,管理方面,而且,关于这方面技术上的书籍、资料也比较齐全。2.基于安卓模式的管理系统已发展日趋成熟。系统的开发技术具有可行性,且开发人员掌握了一定的开发技术,所以系统的开发具有可行性。

操作可行性:基于安卓的音乐播放器采用的是移动终端技术,只要用户在安卓智能手机上安装改款软件,就能操作该软件,使用起来不需要受到种种制约,相对简便。同时,本系统是非常容易操作的,能与用户进行良好的交互。因此本系统在操作性上是可以进行开发的。

经济可行性:从经济上来说,只要电脑上有Android开发设备就能设计开发出Android手机音乐解压器,并且Android应用开发是免费的。除此之外,手机音乐解压器是一种大众需求,哪些功能是所有消费者都需要的,哪些功能是部分人需要的,哪些特性是很少使用的这些信息是很容易知道的,在获取需求这块并不需要什么成本。所以系统在开发人力、财力上要求不高,具有经济可行性。

社会可行性:随着手机市场的快速发展,各种音频和视频资源在互联网上广泛流传。这些资源似乎很稀松平常,然而却在人们生活中越来越不可或缺了,这就给各种手机播放器的设计开拓了市场前景。但是许多音乐播放器致力于华丽的外在条件和强大的功能,给用户的手机带来了很多不便之处。有些功能对普通用户来说是没有用的。针对这些问题,开发一个拥有简化功能的特点,有普通播放功能,满足大部分用户的需求,需要的内存小并具有高质量的播放音乐效果的音频播放器,最大限度地优化性能。

系统分析
登录注册功能:用户注册用户名和密码,系统将注册的信息存入数据库,在用户登录是对用户输入的信息进行判断,输入正确后进入音乐界面。

音乐播放功能:用户通过音乐列表点击音乐,进入音乐播放器,用户单击“播放”按钮,播放器将播放选中的播放列表中的音乐,并同时显示当前进度;当歌曲播放音乐时用户单击“暂停”按钮,播放器将进入暂停状态;用户可以在播放界面点击“上一首”或者“下一首”按钮,播放器将播放上一首或是一首歌曲。

记录心情功能:用户选择添加心情,将自己想要宣泄的情绪写下,系统将所写内容存入数据库。记录心情列表显示所添加的信息列表,点击可显示所记录的具体信息和时间。

联系客服功能:用户点击联系客服功能可跳转至拨打电话界面且已显示客服电话,即可选择是否拨打。

系统功能结构图如下:

第四章 系统设计及实现
本应用实现了一个个性化的音乐播放器。在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务。众所周知,音乐播放需要支持应用退出后继续播放,因此不能在Activity中直接播放音乐,因为这样的话界面退出后音乐就停止播放了。

4.1播放音乐设置

使用Service播放音乐
Android SDK提供了Service。Service有两种类型:
本地服务(Local Service):用于应用程序内部
远程服务(Remote Sercie):用于Android系统内部的应用程序之间前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好
后者可被其他应用程序复用,比如天气预报服务,其他应用程序不需要再写这样的服务,调用已有的即可。这里不需要其他程序共享Service,因此采用本地服务。
前台界面(Activity)与后台服务(Service)通信
Android中的四大组件是相互独立的,因此必须设计一个框架来实现前台界面(Activity)和后台服务(Service)的相互。Activity 和 Service的通信有以下几种方式:
a)回调接口的方式。当Activity通过调用bindService(Intentservice,
ServiceConnection conn,int flags),可以得到一个Service的一个对象实例,然后就可以访问Service 中的方法,完成Activity-->Service的通信;通过为Service添加***的方法,Service作为被观察者,Activity作为观察者当有新事件时,Service通知Activity,完成Service--→Activity的通信。这种方式适合Activity与 Service交互比较频繁的情况。
b)通过广播接收者。在Service中执行完耗时操作后,将结果以广播的形式发送,在 Activity中注册广播,接收到结果后更新U。因为耗时的操作结果不需要以Handler的方式发送到主线程,可以直接在子线程中发送广播,接收者始终运行在主线程中。完成Service-→>Activity的通信。同样,Activity将事件以广播的方式发送给Service,完成Activity--Service的通信。这种方式适合Activity与 Service交互不太频繁的情况。
c)通过startService方式。Activity通过startService将事件发送到Service的
onStartCommand()方法,然后Service执行相应的操作,完成
Activity--Service的通信;Service通过广播将事件发送到
Activity,Activity中需注册广播接收器,完成Service-→Activity 的通信。这种方式适合Activity与 Service交互不太频繁的情况。
音乐Activity与后台服务(Service)通信
当Activity通过调用bindService(Intent service, ServiceConnection conn,int flags),我们可以得到一个Service的一个对象实例

详细代码实现:

Activity绑定Service,获得Service的实例,并绑定***


2、Activity使用Service实例,实现音乐播放、暂停等功能

4.2记录心情信息设置

使用数据库存储记录心情信息
数据库是程序开发中重要的知识点,Android采用的数据库是 SQLite 这个轻量级的嵌入式开源数据库, 数据库基本的操作就是先创建表,再对表中的数据进行"增,删,改,查"

因为本应用中运用了两个数据库,论文仅对挑出记录心情信息相关数据库设计做出分析

详细代码实现:

创建数据库和表


插入数据


查找并删除数据


4.3通知栏设置

(1)Notification,是一种具有全局效果的通知,可以在系统的通知栏中显示。当 APP 向系统发出通知时,它将先以图标的形式显示在通知栏中。用户可以下拉通知栏查看通知的详细信息。通知栏和抽屉式通知栏均是由系统控制,用户可以随时查看。

详细代码实现:

获取 NotificationManager 实例、实例化 NotificationCompat.Builder 并设置相关属性、通过 builder.build() 方法生成 Notification 对象,并发送通知


1.登录界面:

该界面是用户进入项目的主界面,即用户选择打开该应用,展示登录界面,选择注册后会展示组成界面,注册成功会返回登录界面进行登录。

2.音乐界面:

该界面是用户进入登录后进入的主界面,该界面中采用了fragment用于实现页面的切换效果,做到一个App可以同时适应手机和平板。在fragment A中显示的是音乐列表,点击音乐列表中的歌曲名可以跳转到播放界面,在播放界面可以控制歌曲的播放、暂停、上一首、下一首、拖动歌曲进度等。在fragment B中显示的是歌手列表,点击歌手列表可以跳转到歌手信息界面,在歌手信息界面可以查看到歌手的详细信息。歌曲能够能够进行后台播放,并且在手机通知栏上显示应用框,并能通过应用框重新进入音乐列表。

记录心情界面:
该界面通过用户点击menu菜单中的记录心情,将会跳转到心情列表中,心情列表中会显示之前所添加的所有心情事件,在心情列表中也有着一个添加的menu菜单,点击进入后会跳转到填写心情的界面,在该界面可以记录下心情和想要发泄的事件。添加成功后会在心情列表中显示添加的信息,点击信息会跳转到显示心情信息界面,显示之前所添加的内容和具体时间。

第五章 总结与展望

5.1总结
本文主要是对Android 平台创新的音乐解压器的分析设计,应用中不仅只是对音乐的播放,还增加可以宣泄记录心情的功能,主要实现了音乐列表、音乐的播放、暂停、上一曲、下一曲、记录心情、删除心情信息、打电话等功能。

在程序设计过程中,有遇到非常非常多的问题,也曾卡住了好几次,比如怎样实现对一个按钮进行播放与暂停,怎么实现上一首和下一首功能,怎么实现后台服务等等。也经过查找资料得到startService和bindService的区别,如果想启动一个后台服务长期进行任务,且这个过程中需要与调用者进行交互,那么可以两者同时使用。本应用就将两者都进行了使用。

在开发过程中我学到了一些经验:系统分析的好坏将决定着的系统开发成功与否,一份好分析设计将是成功开发主要因紊,我们在着手开发之前不要急于编程﹐先应有较长的时间去把分析做好﹐写出相关的开发文档等,然后再开始编写程序代码﹐这样做到每写一步代码心底有数,有条不絮,还有后续的系统测试﹐要能灵活利用各种软件测试模型﹐最大的优化软件。

本次程序设计,有遇到很多问题,但通过查找相关资料以及自己的努力,顺利完成。在程序设计过程中,对Android系统的相关知识有了一个比较深入的了解,对程序的整个开发流程和模式的理解也更加透彻,这对我以后从事Android的软件开发有很大的帮助。

5.2展望
本设计的音乐播放器软件能够稳定运行,体积小且反映灵敏,但还是有几点不足的地方,例如音乐无法在线联网导入、代码编写冗余重复率高、图片素材布局不太美观,功能不够丰富等等。在以后我会改进软件的不足,以更优的编码水平,更高超的布局思维模型,并且学习更多新的知识重构这款软件。软件的不足需要我们不停地去探索新的需求,发展新的技术,使得系统对接更加完善,集成度更加深入。没有最好,只有更好,随着技术的发展,还会有崭新的天地让我们去开拓。

最后,我要诚挚的感谢我的老师,在学习Android期间 ,都得到了老师的悉心指导,老师对应Android的知识都很细心的讲解和解答。老师的严谨治学的态度与求实的工作作风及丰富的学识留给我深刻的印象,使我受益匪浅。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/m0_66999594/article/details/139484284

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值