基于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-
diyvm怎么样?diyvm是一家国内成立时间比较久的主机商家了,大约在6年前站长曾经用过他家的美国机房的套餐,非常稳定,适合做站,目前商家正在针对香港沙田机房的VPS进行促销,给的是五折优惠,续费同价,香港沙田机房走的是CN2直连的线路,到大陆地区的速度非常好,DiyVM商家采用小带宽不限流量的形式,带宽2Mbps起步,做站完全够用,有需要的朋友可以入手。diyvm优惠码:五折优惠码:OFF50...
这个月11号ShockHosting发了个新上日本东京机房的邮件,并且表示其他机房可以申请转移到日本,刚好赵容手里有个美国的也没数据就发工单申请新开了一个,这里做个简单的测试,方便大家参考。ShockHosting成立于2013年,目前提供的VPS主机可以选择11个数据中心,包括美国洛杉矶、芝加哥、达拉斯、杰克逊维尔、新泽西、澳大利亚、新加坡、日本、荷兰和英国等。官方网站:https://shoc...
CloudCone 商家在以前的篇幅中也有多次介绍到,这个商家也蛮有意思的。以前一直只有洛杉矶MC机房,而且在功能上和Linode、DO、Vultr一样可以随时删除采用按时计费模式。但是,他们没有学到人家的精华部分,要这样的小时计费,一定要机房多才有优势,否则压根没有多大用途。这不最近CloudCone商家有点小变化,有新人洛杉矶优化线路,具体是什么优化的等会我测试看看线路。内存CPU硬盘流量价格...