1、 本科毕业设计 ( 20 届) 基于 Android手机平台的音乐播放器 所在学院 专业班级 通信工程 学生姓名 学号 指导教师 职称 完成日期 年 月 - 1 - 摘 要 随着手机市场的不断发展和手机的不断普及,手机已经越来越成为人们不可或缺的电子产品,其功能更是琳琅满目,而音 乐播放器一直是非常实用和用户非常喜欢的功能之一 ; 这篇论文正是 基于 Android 系统平台,运用 Java 语言和Eclipse 编辑工具 开发设计一款音乐播放器;论文 首先对 Android 手机开发平台进行了介绍,其中包括 Android 定义、开发组件、应用等;然后介绍了该播放器的系统功能以及具体功能设计
2、,包括播放、暂停、停止、歌词显示、上一首、下一首 。 最后,通过仿真器测试并实现音乐播放功能。 关键词 : Android;音乐播放器; JAVA; Eclipse - 2 - Abstract With the continuous development of the mobile market and mobile continues to grow, Cell phones have become the indispensable people electronic products, Its function is dazzling, The mobile phone of a p
3、ractical music player also become the urgent needs of people; This paper based on the Android platform, Use Java language and Eclipse editing tool of a music player development of design, The paper first Android phone development platform are introdeced, Including Android definition, development kit
4、, application,Then introduces the player system function, specific function design, Including play, pause, changing songs, lyrics display. Finally, through the simulator and realize music playback function test. Key Words: Android; music player; JAVA; Eclipse - 3 - 目 录 第一章 引言 . 1 1.1 题研究背景及意义 . 1 1.
5、2 题主要工作与内容安排 . 3 1.3 文章节安排 . 3 第二章 Android 手机开发平台介绍 . 4 2.1 Android 的介绍 . 4 2.1.1 Android 定义 . 4 2.1.2 Android 四大组件 . 4 2.1.3 Android 开发框架 . 5 2.1.4 Andriod 应用 . 7 2.2 在 Windows 上搭建 Android 开发环境 . 8 2.3 Android SDK 中常用命令工具 . 9 2.4 Android 项目 . 10 2.4.1 Android Hello World 项目 . 10 2.4.2 Android 工程基本结
6、构 . 13 2.4.3 AndroidManifest.xml 文件 . 14 第三章 系统功能分析 . 15 3.1 播放器基本功能分析 . 15 3.2 系统流程图和结构图 . 18 第四章 播放器系统具体功能设计 . 20 4.1 音乐播放器主界面功能实现 . 20 4.1.1 播放器主界面 . 20 4.1.2 播放器播放、暂停、停止等功能 . 21 4.1.3 播放器音轨的实现 . 22 4.2 设置播放界面 . 23 4.2.1 歌词设置 . 23 4.2.2 歌词显示实现 . 23 4.3 播放器菜单功能 . 24 4.4 播放 器测试 . 25 第五章 结 论 . 28 致
7、谢 . 29 参考文献 . 30 - 1 - 第一章 引言 1.1 课题研究背景及意义 随着手机市场不断的发展,手机功能不断的增多, 手机已经越来越成为人们不可或缺的工具。根据 2008年国际电信联盟( International Telecommunication Union,ITU)组织 的统计数字,全球约有 15 亿的计算机使用者,但是手机使用者却高达 35亿,在 2010 年,手机的用户更是超过了 50 亿。不难看出,手机用户的不断增加将对手机制造商和手机的功能提出更大的挑战。 2007 年 11 月 5 日, Google 发布了基于 Linux 平台的开源移动平台 Android。
8、该平台有操作系统、中间件、用户界面和应用软件等组成,号称是首个为移动终端打造的真正开放的移动开发平台。 2008 年 9月 22 日,美国运营商T-Mobile USA 在纽约正式发布第一款 Google 手机 T-Mobile G1。 Android 作 为谷歌企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。 Google 长期以来奉行的移动发展战略:通过与全球的手机制造商和移动运营商结成合作伙伴,开发并推广移动服务,志在垄断手机软件行业 1。 2008 年 8月 28 日,谷歌开通了 Android Market,供 Android 手机下载需要使用的应
9、用程序。程序开发人员可以将自己设计的 Android 软件上传到 Android Market,并决定软件是否收取费用。但是 Android Market 上销售软件需要向谷歌支付 25美元的注册费 ,并在每次交易中将 30%的利润支付给运营商。 2008 年 9 月 23 日,发布 Android SDK v1.0 版,这是第一个稳定的 SDK 版本。 SDK 中分别提供了基于 Windows、 Mac 和 Linux 操作系统的集成开发环境,包含完整搞笑的 Android 模拟器和开发工具,详尽的说明文档和开发示例。程序开发人员非常容易就可以掌握 Android 应用程序的开发方法,同时也
10、降低了开发手机应用程序的门槛。 2008 年 10 月 21日,谷歌开放了 Android 平台的源代码。 Android 作为开放源代码的手机平台,任何人或机构都可以免 费使用 Android。并对它做出改进。- 2 - 开放源代码的 Android 有利于创新,能够为用户提供更好的体验。同时也以为着任何厂商都可以推出基于 Android 的手机,且不用支付任何的许可费用。 就是“免费”与“开放”这两个关键字,保证让全球的移动电话制造商可以免费、任意地搭载 Android 操作系统,而不需要付费给 Google,可以降低 15%-20%的手机制造成本,所以在未来手机整体成本中,若除了要给操作
11、系统商的授权费和软件开发费用,以及免费搭载软件组件外,电信商需要花费在手机补贴的支出,以及手机制造商的制造成本都将 下降,这意味着手机整体价格将会有大幅的下降,使用者将得到更多的优惠,进而让人人都可以负担得起智能手机的费用。 而关于“开放”这两个字的做法是指以除了开放源代码的 Linux 作为操作系统的内核外,还开放内核以上的开发工具,让最上层的应用程序开发者可以在统一、开放的平台上开发程序,而不用管这些程序会被应用在什么样的手持装置上,只要采用 Android 操作系统,内容就不受限于不同的硬件装置,程序内容都是可移植的,可以彻底地解决当前太多手机操作系统造成不同智能手机间的文件格式不同而无
12、法让信息顺利地流通或集合的问题。 当 前强势的手机供应商和电信商各自为政的局面造成手机平台开发者的障碍,这正是现阶段手机产业的写照。各厂商大多还是各自做软件,如果将来统一采用 Android,不同手机间的使用与沟通方式会更一致, Google Android 打着免费与开放的旗帜,也正是希望能解决这个难题。因为 Google 相信,若在将来能统一手机泡网功能后,必能早就更多元的广告模式,当广告收益达到一定的水平时,手机月租费也可能降低,同时满足 Google、电信、手机制造商以及使用者多方利益的方案一定可以达成,这也就是 Linux+Google连锁反应的产 物 Android诞生的最大意义
13、2。 在众多的手机功能中,音乐播放器一直是用户非常喜欢的功能之一,也是用户选择手机类型的重要条件之一。但很多音频软件只是一味的追求外观花哨、功能繁多,却忽略了用户的真正需求,操作繁杂、音质一般,对资源造成了极大的浪费。基于 Android 平台的音乐播放器,具有简单的操作界面,让用户能在轻松方便中体验美妙的音乐。 - 3 - 1.2 课题主要工作与内容安排 这篇论文是 运用 Java语言和 Eclipse编辑工具 开发设计一款基于 Android系统平台的手机音乐播放器。用户可以运用该软件在手机上 收听音乐。 课题中设计的软件所要完成的功能包括: ( 1)实现音乐播放、暂停、停止、上一首 /下
14、一首功能。 ( 2)支持歌词显示。 ( 3)支持 MP3播放格式。 1 3 论文章节安排 本论文共分五章,各章的主要内容如下 : 第一章 引言:着重介绍其研究的背景和研究的意义所在。 第二章 具体介绍 Android 手机开发平台的基本知识,包括其定义、开发组件、应用等;我们还将描述如何帮你搭建一个完整的 Android开发平台和 Android SDK 中常用命令行工具以及 Android 音乐播放器的基本介绍。 第三章 具体描述 Android 音乐播放器的系统功能分析和一些功能的实现,还包括一些结构图、流程图的介绍。 第四章 通过代码让上述的各种功能在仿真器上得以实现,即具体功能的设计与
15、完善。 第五章 总结:对本文的工作进行总结,提出一些不足之处以及未实现的功能,并提出今后在该领域的下一步工作。 - 4 - 第二章 Android 手机开发平台介绍 2.1 Android 的介绍 2 1 1 Android 定义 Android 是谷歌于 2007 年公布的开放式源代码系统,是一种专为智能手机设计的操作系统平台,除了操作系统之外,它还包含中间件( Middleware,负责硬件与应用程序之间的沟通)、手机应用软件,还有 Android SDK 应用软件开发组件,开发人员可以利用以上软件来设计开发 Android 平台的应用程序。 简单的说, Android 是一款开源而且免费
16、的系统软件,任何人都可以根据自己喜好来设计程序。本作品音乐播放器正是基于 Android 平台 3。 2 1 2 Android 四大组件 Android 系 统 为 我 们 提 供 了 四 大 组 件 , 其 分 别 是 :Activity ,ContentProdiver,Service 和 BroadcastReceiver。它们 各自有各自的功能,彼此间相互合作。其中, Activity 和 ContentProdiver 是可见视图;Service 和 BroadcastReceiver 是不可见视图 4。 (1)Activity 简介 一个应用程序可能只包含一个 Activity,
17、或者像消息服务程序一样有多个Activity。一个应用程序包含几个 Activity 以及各个 Activity 完成什么样的功能完全取决于应用程序以及它的设计。通常每个应用程序都包含一个在应用启动后第一个展现给用户的 Activity。在当前展现给用户的 Activity 中启动 一个新的 Activity,可以实现从一个 Activity 转换到另一个 Activity。每个 Activity都会有一个用于绘制用户界面的窗口。通常这样一个窗口会填充整个屏幕,当然这个窗口也可以比屏幕小并漂浮在其它窗口之上。 Activity 还可以使用一些额外的窗口,例如一个要求用户响应的弹出式对话框,或者
18、是当用户在屏幕上选择一个条目后向用户展现一些重要信息的窗口。 Activity 有自己的 生命周期 ,如下图 2-1所示,由 Android 系统来控制 5。 - 5 - 图 2-1 android activity 生命周期 7 ( 2) Service 简介 Service是 Android应用程序片段的一种,可以独立启动和停止。和 Activity相同, Service 也是通过 Intent 启动,但 Service 没有界面,其主要用途是提供后台服务调用。一个定义好的 Service 必须在 AndroidManifest.xml 配置文件注册,通过 元素声明才能使用 .Servic
19、e 有自己的生命周期,我们可以调用 startService()启动一个 Service或者 bindService()方法来绑定一个存在- 6 - 的 Service。多媒体播放器播放音乐是应用 Service 的一个很好例子。多媒体播放器程序可能含有一个或多个 activity,用户通过这些 activity 选择并播放音乐。然而,音乐回放并不需要一个 activity 来处理,因为用户可能会希望音乐一直播放下去,及时退出了播放器去执行其它程序。为了让音乐一直播放,多媒体播放器 activity 可能会启动一个 Service 在后台播放音乐。 Android 系统会使音乐回放 Servi
20、ce 一直运行,及时在启动这个 Service 的 activity 退出之后。 ( 3) BroadcastReceiver 简介 BroadcastReceiver 顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。到目前为止我们可以使用 Intent 来启动一个程序组件,我们还可以通过使用 sendBroadcast()方法来发起一个系统级别的事件广播来传 递消息。我们可以在你的应用程序中实现 Broadcast Receiver 来监听和响应这些广播的 Intent。 BroadcastReceiv
21、er 不执行任何任务,仅仅是接受并响应广播通知的一类组件。大部分广播通知是由系统产生的,例如改变时区,电池电量低,用户选择了一幅图片或者用户改变了语言首选项。应用程序同样也可以发送广播通知,例如通知其它应用程序某些数据已经被下载到设备上可以使用。 ( 4) ContentProvider ContentProvider 用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。 它是跨应用程序共享数据的唯一方法。应用程序可以通过ContentProvider 访问其它应用程序的一些私有数据,这是 Android 提供的一种标准的共享数据的机制。共享的数据可以是存储在文件系统中、 SQLite 数据库中或其它的一些媒体中。 ContentProvider 扩展自 ContentProvider 类,通过实现此类的一组标准的接口可以使其它应用程序存取由它控制的书库。然而应用并不会直接调用 ContentProvider 中的方法,而是通过类 ContentResolve。ContentResolve 能够与任何 一个 ContentProvider 通信,它与 ContentProvider合作管理进程间的通信 6。 2 1 3 Android 开发框架 如下图 2-2 所示, Android 平台下层结构的核心为嵌入式 Linux2.6 操作系