基于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-
看到群里网友们在讨论由于不清楚的原因,有同学的网站无法访问。他的网站是没有用HTTPS的,直接访问他的HTTP是无法访问的,通过PING测试可以看到解析地址已经比较乱,应该是所谓的DNS污染。其中有网友提到采用HTTPS加密证书试试。因为HTTP和HTTPS走的不是一个端口,之前有网友这样测试过是可以缓解这样的问题。这样通过将网站绑定设置HTTPS之后,是可以打开的,看来网站的80端口出现问题,而...
BGP.TO目前针对日本和新加坡服务器进行促销,其中日本东京服务器6.5折,而新加坡服务器7.5折起。这是一家专门的独立服务器租售网站,提供包括中国香港、日本、新加坡和洛杉矶的服务器租用业务,基本上都是自有硬件、IP资源等,国内优化直连线路,机器自动化部署上架,并提供产品的基本管理功能(自助开关机重启重装等)。新加坡服务器 $93.75/月CPU:E3-1230v3内存:16GB硬盘:480GB ...
DiyVM是一家比较低调的国人主机商,成立于2009年,提供VPS主机和独立服务器租用等产品,其中VPS基于XEN(HVM)架构,数据中心包括香港沙田、美国洛杉矶和日本大阪等,CN2或者直连线路,支持异地备份与自定义镜像,可提供内网IP。本月商家最高提供5折优惠码,优惠后香港沙田CN2线路VPS最低2GB内存套餐每月仅50元起。香港(CN2)VPSCPU:2cores内存:2GB硬盘:50GB/R...