基于Android的移动音乐播放器的设计与实现.docx

上传人:b****6 文档编号:3265549 上传时间:2022-11-21 格式:DOCX 页数:22 大小:358.06KB
下载 相关 举报
基于Android的移动音乐播放器的设计与实现.docx_第1页
第1页 / 共22页
基于Android的移动音乐播放器的设计与实现.docx_第2页
第2页 / 共22页
基于Android的移动音乐播放器的设计与实现.docx_第3页
第3页 / 共22页
基于Android的移动音乐播放器的设计与实现.docx_第4页
第4页 / 共22页
基于Android的移动音乐播放器的设计与实现.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

基于Android的移动音乐播放器的设计与实现.docx

《基于Android的移动音乐播放器的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Android的移动音乐播放器的设计与实现.docx(22页珍藏版)》请在冰豆网上搜索。

基于Android的移动音乐播放器的设计与实现.docx

基于Android的移动音乐播放器的设计与实现

郑州大学毕业设计(论文)

 

题目:

基于Android的移动音乐播放器的设计与实现

指导教师:

马建红职称:

讲师

 

学生姓名:

许明荣学号:

20127760351

专业:

计算机科学与技术(软件开发Java)

院(系):

软件与应用科技学院

完成时间:

2016年04月16日

 

2016年05月15日

摘要

基于Android的移动音乐播放器是一款免费的、运行于安卓操作系统的手机音乐播放器。

本音乐播放器系统包括以下几个模块:

欢迎使用、我的音乐、音乐播放、歌词同步、我的收藏、最近播放、网络推荐、下载音乐。

我的音乐扫描并过滤时长小于3分钟的音频,实现音频过滤;“音乐播放”播放当前选定的音乐、调用sharedPreferences记录音乐的播放模式和当前播放的音乐;当用户选择播放歌曲时,第三方组件AndroidLrcView实现用户歌词同步功能以及后台加载网络歌词功能,并将歌词下载到本地;调用okHttpclient联网方式,用户可以获取当前互联网最火的歌曲信息并可下载到本地。

该音乐播放器用户体验良好,功能齐全,符合当代用户需求。

关键词:

安卓开放平台后台播放音频过滤

Abstract

Android-basedmobilemusicplayerisafree,runsonAndroidoperatingsystemformobilephonesmusicplayer.

Themusicplayersystemincludesthefollowingmodules:

Welcome,mymusic,musicplayer,synchronizedlyrics,favorites,recentlyplayed,recommendnetwork,downloadingmusic.Mymusicscanandfilterlengthislessthan3minutesofaudio,theaudiofilter;"MusicPlayer"Playsthecurrentlyselectedmusic,callsharedPreferencesrecordmusicplaybackmode,andthecurrentlyplayingmusic;whentheuserchoosestoplayasong,athirdpartycomponentsAndroidLrcViewachievesynchronizationnetworkuserslyricsandbackgroundloadingfeaturelyricsanddownloadlyricstothelocal;callsokHttpclientnetworking,Internetuserscanaccessthemostcurrentinformationonfiresongscanbedownloadedtothelocal.

Keywords:

AndroidOpenPlatformBackgroundplayMusicPlayer

 

目录

摘要I

AbstractI

1前言1

1.1开发来源1

1.2开发目标1

2项目总体设计2

2.1运行环境设计2

2.2技术框架设计2

2.2.1Android的基本框架2

2.2.2handler机制的原理3

2.2.3MVC模式的原理4

2.2.4内存泄漏操作5

2.2.5ANR5

2.2.6service5

2.3技术框架设计6

2.3.1系统功能需求7

2.3.2数据库逻辑设计7

2.4经济、社会效益分析7

3项目功能描述8

3.1欢迎页面8

3.2我的音乐界面8

3.3音乐播放界面9

3.4网络歌曲推荐界面10

3.5个人信息界面11

3.6音乐下载界面12

3.7音乐搜索界面13

3.8歌词同步界面14

3.9最近播放界面14

3.10我的收藏界面15

3.11快速滑动15

4结论16

4.1技术创新及特点16

4.2个人收获与体会17

参考文献18

致谢19

 

1前言

1.1项目来源

该项目为基于Android的核心组件Activity、Service、SharePreferences、Fragment、ViewPager等,并加入第三方组件:

PagerSlidingTabStrip、Jsoup、OKHttpClient、AndroidLrcView等,该项目为自主研发,参考网络资源设计。

1.2开发目标

随着科技的发展很智能手机的普及,智能系统在我们的生活中手机占据更加重要的位置,各类手机APP也孕育而生。

在Android系统中开发音乐播放软件支持的用户也与其他系统相比之下更多[1]。

Android是一个真正意义上的操作平台,它包括操作系统,中间件和一些关键应用程序的平台移动设备的开放式平台,以及在操作过程中的AndroidJava程序。

从系统功能实现角度来分析,音乐播放器系统分为:

欢迎界面、我的音乐、音乐播放、歌词同步、我的收藏、最近播放、网络推荐、下载。

各大模块的功能如下:

1、我的音乐:

扫描本地已下载的音乐显示到界面。

2、音乐播放:

显示正在播放的音乐。

3、歌词同步:

显示正在播放音乐的歌词。

4、我的收藏:

显示被用户加入收藏夹的音乐列表。

5、最近播放:

显示最近播放的音乐列表。

6、网络推荐:

从后台拉取XX音乐中当下的热歌排行。

7、音乐下载:

下载歌曲。

 

2运行环境

2.1运行环境设计

软件平台:

1)操作系统:

OSXEiCapitan10.11.3

2)开发工具:

AndroidStudio

3)Web服务器:

XX后台服务器

4)数据库:

sqlite数据库

硬件平台:

1)CPU:

1.6GHzIntelCorei5

2)磁盘空间容量:

400MB以上

3)内存:

2G

4)其他:

键盘、鼠标

2.2技术框架设计

2.2.1Android的基本框架

Android的基本框架由五大部分组成,应用层、应用框架层、类库、Android运行时环境和Linux内核[2]。

1、Applications 

Android的应用是将核心应用程序包一起发布工作,这个应用程序包包括SMS短消息程序,电子邮件客户端,地图,浏览器,联系人管理,日程计划。

用Java语言开发的核心应用[3]。

 

2、ApplicationFrameWork  

API允许开发人员完全访问使用的核心应用程序框架[4]。

这个应用架构来简化组件的重用;符合任何应用程序的系统安全要求可以发布它的功能.

3、Libraries库 

在我们做开发的时候,开发的手机软件可能会有多个,而且这些app中会有一些通用的模块,比如一些工具方法或者自己自定义的控件。

通常我们需要调用这部分代码时,将代码复制的到不同的工程中实现复用。

随之带来的麻烦就是当我们想要对这部分代码做稍微改动时,就需要同时在多个工程中进行修改,这样非常的繁琐。

那么,有什么好的方法实现这种复用呢?

那就是Android中的library工程,并且相比jar而言,它可以实现资源的复用甚至覆盖。

Android中包含一些c/c++库供开发者进行调用[5]。

4、AndroidRuntime   

每一个Android应用程序都在它自己独立的线程中运行,都拥有一个相对独立的Dalvik虚拟机实例[6]。

但Dalvik虚拟机效率并不高,app在每次运行之前字节码都需要通过即时编译器转换位机器码。

Google公司在2014年发布了最新的操作系统Android5.0,使编译机制彻底从Dalvik转换为ART。

在ART环境下,在APP首次安装时,字节码就预先编译为机器码,使其变为真正的本地应用。

这样做,应用在启动时会变得更加快速,用户体验得到很大的提高。

5、Linux内核 

Android的核心系统服务依赖于Linux3.10内核,如安全性,网络协议栈,内存管理,进程管理和驱动程序模型[7]。

本项目是一款音乐播放器,能够播放本地音乐文件以及下载网络歌曲,具有歌曲列表功能,同时能够对歌曲进行一些简单的操作,如:

播放、暂停、上一首、下一首、随机播放、列表循环、单曲循环等。

界面简洁明了,操作简单方便,给人良好的视觉享受。

当音乐播放器运行时,用户单击“播放/暂停”按键,播放器就会播放被选中的音乐,并同时显示当前进度。

当歌曲正在被播放时用户点击“暂停”按键,播放器就会进入暂停状态。

当播放器正在播放时,用户点击“上一首”或者“下一首”按键,播放器就会播放上一首或下一首歌曲。

播放时,用户在播放界面中可以选择自己喜欢的播放模式,如:

单曲循环、顺序播放、随机播放等。

本项目所搭建的设计框架如图所示:

 

图1设计框架

2.2.2handler机制的原理

Andriod提供了Handler机制来满足线程间的通信。

Handler有两个主要的用途:

1.确定在将来的某个时间点执行一个或者多个Message和Handler对象。

2.在其他线程中(非handle绑定线程)排入一些要执行的动作。

Looper:

消息队列的处理者,用于循环检查消息队列,内部使用链表数据结构实现一个消息池,用于重复利用避免大量占用消息造成内存浪费。

Handler:

消息处理者,通过该对象的消息队列,并最后通过HandleMessag处理数据。

MessageQueue(消息队列):

存放消息对象的消息队列遵循先进先出的原则。

Looper:

消息队列的处理者,用于循环检查消息队列,从消息队列中一个一个的取出消息对象,传入handlemessage方法。

Handle获取当前线程中的looper用来从存放Message的MessageQueue中取出message,再由handle进行message的分发和处理。

2.2.3MVC模式的原理

MVC应用程序由三个部分组成:

模型_视图_控制器[8]。

Event导致Controller改变Model或View,或者同时改变两者[9]。

视图层:

在Android主要用XML描述界面,当然,如果Java和html加上JavaScript进行通信的话,可以表示视图层,安卓提供了它们的通信实现。

控制器层:

和WEB端不同,安卓把控制层的重任交给activity处理。

模型层:

当我们涉及到数据库和网络操作时,我们需要放在Model中处理。

图2MVC模式图

2.2.4内存泄漏操作

内存泄漏也可叫做“存储渗漏”[10]。

利用动态存储分配函数动态开辟的内存空间[11],在使用完毕后如果未及时释放内存,结果导致垃圾资源一直占据该内存单元。

直到程序结束。

即所谓内存泄漏。

内存泄漏简单地说就是申请了一块内存空间,使用完毕后没有释放掉。

在JAVA中,应用程序一般使用new一个对象从堆内存中分配到一块内存,内存使用完后,程序就调用对应的方法close()、free()、delete()释放该内存块,否则,这块内存就不会再次使用,我们就可以说,这块内存泄露了。

Android应用中常见的解决内存泄漏的有如下表:

表1解决内存泄漏

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1