基于Android手机平台的音乐播放器
目录
第一章引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 1 -
1. 1项目背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 1 -
1.2编写目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-2-
第二章系统需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-3 -
2. 1功能需求用例图分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-3 -
2. 1. 1播放器的基本控制需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-3-
2. 1.2播放清单列表管理需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-5-
2. 1.3播放友好性需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-7-
2. 1.4播放器扩展卡需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 8-
2. 1.5功能需求(时序图)分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-9-
2.2系统结构图和流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 10-
2.3系统界面需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 11 -
2.4系统性能需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 12-
2.5运行环境需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 12-
第三章Android数据库设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 13-
3. 1数据库及字段属性设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 13-
3. 1. 1字段设计表、 图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 13-
3.1.2音乐播放器E-R图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 15-
3.2数据库连接. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 15-
3.2. 1创建数据库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 15-
3.2.2操作数据库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 16-
3.2.3数据显示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 17-
第四章Android项目介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 18-
4. 1什么是Android. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 18-
4. 1. 1 Android简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 18-
4. 1.2 Android Features特性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 18-
4. 1.3 Android基本框架Android Architecture. . . . . . . . . . . . . .- 19-
4. 1.4 Android系统的四大组件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-22-
4.2搭建Android开发环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-23-
4.3 Android常用工具的使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-25-
4.3. 1命令行的使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-25-
4.3.2 Dalvik Debug Monitor Service (DDMS)的使用. . . . . . . . . . .-26-
4.4 Android音乐播放器的工程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-26-
4.4. 1 Android项目. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-26-
4.4.2 Android工程程序结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-27-
4.4.3 AndroidManifest.xml文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-29-
第五章播放器系统功能详细设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 31 -
5. 1音乐播放器主界面功能实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 31 -
5. 1. 1播放器主界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-31 -
5. 1.2播放界面音轨的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-32-
5. 1.3播放器播放、暂停、停止等功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-35-
5.2播放列表功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 36-
5.3菜单功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .- 38-
5.3. 1菜单界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-38-
5.3.2菜单功能实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-39-
5.4播放设置界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-41 -
5.4. 1界面实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-41 -
5.4.2歌词显示实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-42-
5.5手机扩展卡的访问. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-44-
5.5. 1文件浏览器界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-45-
5.5.2文件浏览器功能实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-46-
5.6数据存储方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-47-
5.6. 1 SharedPreferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-47-
5.6.2 File存储方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-48-
5.6.3 SQLiteDatabase数据库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-48-
第六章结论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-49-ii
摘 要
当今社会的生活节奏越来越快+Android系统上一的款音乐播放器应用程序的设计与实现进行讨论。 Android是一个开源的系统它底层是基于Linux的操作系统本论文的音乐播放器采用了Android开源系统技术利用Java语言和Eclipse编辑工具对播放器进行编写。 同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图本文还对高度过程中遇到的问题和解决方法进行了详细的讨论该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示等功能于一体性能良好在Android系统中能独立运行。该播放器还拥有对手机文件浏览器的访问功能、歌曲播放模式、 以及歌词开闭状态的友好设置.MP3的全名是MPEG Audio Layer-3,是一种声音文件的压缩格式,由于本播放器只限于应用层程序的探讨所以对具体的压缩算法不作深究。
关键词 Android ;开源系统; linux ;音乐播放器iii
AB S TRA C T
The pace of life in today's society,with more advanced hardware mobiledevices for mobile devices,people more and more is also high, the requirementsfrom the previous pursuit to pursue the visual technology, therefore,alsogradually improve the system requirements, the paper mainly is to take on amusic player from system design and realization of the application is discussed.Take the system is an open source, it is based on the operating system,use theLinux music player of the Android open-source system technology,using theJava language and editing tools for players to Eclipse.Presents the detaileddesign process, the part of the system and the main functions of operationinterface diagram of height, this paper also flow process problems and solvingmethods are discussed in detail,and the music player episode,pause, stop and a,next,volume adjustment, lyrics display functions, such as performance is good,can operate independently in the Android system.This player has access to thefile browser phone functions, songs and played pattern,open and close conditionof friendly words.MP3 Audio MPEG Layer-name is 3, is a kind of sound filescompressed format,because the players to explore, so the application procedurefor specific compression algorithm not probe
KeyWo rds Andro id;Open source system; linux;mus ic p layeriv
第一章引言
1. 1项目背景
当今社会的生活节奏越来越快人们对手机的要求也越来越高 由于手机市场发展迅速使得手机操作系统也出现了不同各类现在的市场上主要有三个手机操作系统 Windows mobile symbian 以及谷歌的Android操作系统其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢能的谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。
Android是谷歌于2007年公布的开放式源代码手机系统它的开放性就优于其它封闭式的手机系统因此任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于Android平台的。
随着计算机的广泛运用手机市场的迅速发展各种音频视频资源也在网上广为流传这些资源看似平常但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来但是很多播放器一味追求外观花哨功能庞大对用户的手机造成了很多资源浪费 比如CPU存等的占用率过高在用户需要多任务操作时受到了不小的影响带来了许多不便而对于大多数普通用户许多功能用不上形同虚设。针对以上各种弊端选择了开发多语种的音频视频播放器将各种性能优化继承播放器的常用功能满足一般用户如听歌看电影的需求除了能播放常见格式的语音视频文件高级功能还能播放RMVB格式的视频文件。此外还能支持中文、英文等语言界面。
要研究了各种市场上流行的手机播放器 了解它们各自的插件及编码方式还有各种播放器播放的特别格式文件分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点编写出功能实用使用方便快捷的播放器。目前已经实现的功能有能播放常见音频文件的功能如MP3 WAV等拥有播放菜单能选择播放清单具备一般播放器的功能如快进快退音量调节等。播放模式也比较完善有单曲顺序循环随机播放等模式。
- 1 -
1.2编写目的
现今社会生活紧而欣赏音乐是其中最好的舒缓压力的方式之一本项目的目的是开发一个可以播放主流音乐文件格式的播放器本设计的实现的这主要功能是播放Mp3 Wav多种格式的音乐文件并且能够控制播放暂停停止上一曲下一曲音量调节视觉外观播放列表和歌曲文件的管理操作等多种播放控制功能界面简明操作简单。
本项目是一款基于Android手机平台的音乐播放器使Android手机拥有个性的多媒体播放器使手机显得更生动灵活化与人们更为接近让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使设计者更加熟练Android的技术和其它在市场上的特点
-2-
第二章系统需求分析
2. 1功能需求用例图分析
根据项目的目标我们可获得项目系统的基本需求以下从不同角度来描述系统的需求并且使用用例图来描述系统的功能需求我们分成四部分来概括即播放器的基本控制需要播放列表管理需求播放器友好性需求和播放器扩展卡需求。 以下分别描述
2. 1. 1播放器的基本控制需求
图2.1 播放器基本控制图
- 3-
-4-
2. 1.2播放清单列表管理需求
当用户选中列表中某一项歌曲就有的需求
图2.2 播放器清单
- 5-
EtherNetservers是一家成立于2013年的英国主机商,提供基于OpenVZ和KVM架构的VPS,数据中心包括美国洛杉矶、新泽西和杰克逊维尔,商家支持使用PayPal、支付宝等付款方式,提供 60 天退款保证,这在IDC行业来说很少见,也可见商家对自家产品很有信心。有需要便宜VPS、多IP VPS的朋友可以关注一下。优惠码SUMMER-VPS-15 (终身 15% 的折扣)SUMMER-...
hostyun新上了香港cloudie机房的香港原生IP的VPS,写的是默认接入200Mbps带宽(共享),基于KVM虚拟,纯SSD RAID10,三网直连,混合超售的CN2网络,商家对VPS的I/O有大致100MB/S的限制。由于是原生香港IP,所以这个VPS还是有一定的看头的,这里给大家弄个测评,数据仅供参考!9折优惠码:hostyun,循环优惠内存CPUSSD流量带宽价格购买1G1核10G3...
适逢中国农历新年,RAKsmart也发布了2月促销活动,裸机云、云服务器、VPS主机全场7折优惠,新用户注册送10美元,独立服务器每天限量秒杀最低30.62美元/月起,美国洛杉矶/圣何塞、日本、香港站群服务器大量补货,1-10Gbps大带宽、高IO等特色服务器抄底价格,机器可选大陆优化、国际BGP、精品网及CN2等线路,感兴趣的朋友可以持续关注下。裸机云新品7折,秒杀产品5台/天优惠码:Bare-...