源码课程设计报告音乐Android(音乐界面心情功能源码)「音乐 源码」

课 程 设 计 论 文题 目: 音乐解压器(英文): Music Decompressor院 别:专 业:姓 名:学 号:指导教师:日 期:目 录第一章 绪论111.1选题背景111.2开发技术221.3论文结构33第二章 需求及可行性分析442.1需求分析442.2可行性分析55第三章 系统分析77第四章 系统设计及实现993.1播放音乐设置993.2记录心情信息设置12123.3通知栏设置1414第五章 总结与展望185.1总结18185.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的知识都很细心的讲解和解答
老师的严谨治学的态度与求实的工作作风及丰富的学识留给我深刻的印象,使我受益匪浅
源码课程设计报告音乐Android(音乐界面心情功能源码)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息