收藏 分享(赏)

嵌入式基于android的音乐播放器设计与实现.doc

上传人:无敌 文档编号:643413 上传时间:2018-04-16 格式:DOC 页数:25 大小:1.59MB
下载 相关 举报
嵌入式基于android的音乐播放器设计与实现.doc_第1页
第1页 / 共25页
嵌入式基于android的音乐播放器设计与实现.doc_第2页
第2页 / 共25页
嵌入式基于android的音乐播放器设计与实现.doc_第3页
第3页 / 共25页
嵌入式基于android的音乐播放器设计与实现.doc_第4页
第4页 / 共25页
嵌入式基于android的音乐播放器设计与实现.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、嵌入式系统综合设计说明书题 目 : 基于 Android 的音乐播放器设计与实现姓 名 : 王若禹学 院 : 信息工程学院班 级 : 计算机 09-2指 导 教 师 : 刘志强 庄旭飞 王晓强 杜秋阳学校代码: 10128学 号: 2009202010392012 年 9 月 25 日摘 要当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉效果及用户体验,因此,也逐步的提高了对系统的要求。本文主要是在 Android 系统上对音乐播放器应用程序的设计与实现进行讨论,通过这一过程来进一步学习与应用 Android 平台,这样

2、对个人的未来发展也很有意义。本论文的音乐播放器采用了 Android 开源系统技术,利用 Java 语言和 Eclipse开发工具对播放器代码进行编写。同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集下载、播放、暂停、停止等功能于一体,性能良好,在Android 系统中能独立运行。MP3 是一种声音文件的压缩格式,由于本播放器只限于应用层程序的探讨,所以对具体的压缩算法不做深究。实验证明,基于 Android 平台的软件开发简单,使用方便简洁,必将成为未来几年的发展方向,具有普遍意义。关键词:Android;音

3、乐播放器;MP3;JAVA目 录第一章 引言 .11.1 项目背景 .11.2 编写目的 .1第二章 Android 应用软件开发基础 .22.1 Android 的基本介绍 .22.2 Android 应用开发语言 .22.3 Android 应用程序组件 .22.4 AndroidManifest.xml 文件 .4第三章 搭建 Android 开发环境 .53.1 安装 JDK.53.2 安装 Eclipse.53.3 安装 SDK.53.4 安装 ADT.53.5 创建 AVD.6第四章 系统的总体设计 .74.1 设计思想 .74.2 系统功能结构图 .7第五章 音乐播放器的详细设计

4、 .115.1 项目 UI 篇 .115.2 开机动画页面的设计 .115.2.1 设计步骤 .115.2.2 效果图 .125.3 基本代码的编写 .125.3.1 在 Service 里定义一系列关于播放状态的常量 .125.3.2 注册广播接收 以及定义广播的 action.135.3.3 写发送广播(前歌曲的信息及状态)的一些方法 .135.3.4 播放控制代码的编写 .135.4 主页面的代码实现 .145.4.1 初始化页面的一些基本控件 .145.4.2 Seekbar 的更新与监听 .145.5 播放列表页面的实现 .155.5.1 适配器的创建 .155.5.2 musicl

5、ist 中 getMultiData( )方法的创建 .155.5.3 点击列表中的一项 跳转到播放列表 并播放当前歌曲 .155.6 Notification 功能的实现 .165.6.1 创建 MyNotification 这个类 .165.6.2 在 activity 中调用 notifation 这个类 .165.7 菜单功能的实现 .165.8 AppWidget 的实现 .175.8.1 Appwidget 布局页面 .175.8.2 AppWidget 类的创建 .18第六章 总结 .19参考文献 .201第一章 引言1.1 项目背景Android 是谷歌于 2007 年公布的开

6、放式源代码手机系统,一直受到人们的热捧。Android 是基于 Linux 内核的软件平台和操作系统,它开放性就优于其他封闭式的手机系统。因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于 Android 平台的。 随着计算机的广泛运用,手机市场的迅速发展,各种音频资源也在网上广为流传。这些资源卡是平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味最求外观花俏,功能庞大,对用户的手机造成很多资源浪费。比如 CPU、内存等的占用率过高、在用户需要多任务操作时,受到不小

7、的影响,带来了许多不便。而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户听歌的需求。现今社会生活紧张,而欣赏音乐史其中最好的舒缓压力的方式之一。本项目的目的是开发一个可以播放主流音乐文件格式的播放器。本设计的实现的这主要功能是播放 MP3 等音乐文件,并且能够控制播放器播放、暂停、停止、上一曲、下一曲。界面简单,操作简单。本项目是一款基于 Android 手机,平台的音乐播放器,使 Android 手机拥有个性的播放器,让手机主人随时随地处于音乐的旋律中。使人们的生活更加多样化。也使设计者更加熟练

8、 Android 的技术和其它在市场上的特点。1.2 编写目的现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放 MP3 文件格式的播放器,并且可以从服务器下载歌曲,控制播放,暂停,停止,音量调节,播放列表和歌曲文件的管理操作等多种播放控制功能,界面简明,操作简单。本项目是一款基于 Android 手机平台的音乐播放器,使 Android 手机拥有个性的多媒体播放器,使手机显得更加生动灵活化,与人们更为接近,让手机主人随时随地处于音乐旋律之中。使人们的生活更加多样化,也使2设计者更加熟悉基于 Android 平台的应用布局及开发模式的特点,为以后实现更复

9、杂的应用打好基础。第二章 Android 应用软件开发基础2.1 Android 的基本介绍Android 一词的本义指“机器人” 同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称。该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android 是基于 Linux 内核的软件平台和操作系统。早期由 Google 开发,在华注册商标名为“安致” ,后由开放手机联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架

10、构。主要分为三部分。低层以 Linux内核工作为基础,只提供基本功能,其他的应用软件则由各公司自行开发,以 Java作为编写程序的一部分。另外,为了推广此技术,Google 和其他几十个手机公司建立开发手机联盟。Android 在未公开之前常被传闻为 Google 电话或 gPhone。大多传闻认为 Google 开发的是自己的手机电话产品,而不是一套软件平台。到了 2010 年1 月,Google 开始发表自家品牌手机电话的 Nexus One。2.2 Android 应用开发语言Java 是 Android 上的主流开发语言,各种支持也最完善。Android 发布的 API和 SDK 也都

11、主要是面向 Java 开发人员的。我们的播放器实例也是用 Java 开发的。2.3 Android 应用程序组件Android 应用程序最大的一个特点就是每个应用都由若干组件构成。而且各个应用程序的组件还可以相互调用(需要在代码中设置相应权限) 。例如假设我们需要编写一个内嵌有网页的程序,那么我们无需亲自编写浏览器,而是可以直接调用系统自带的 Chrome Lite 浏览器组件。又如假设我们编写了两个应用程序,其中一个程序中有列表显示图片的组件,那么我们在另外一个应用程序中就可以使用该组件,而不需要再编写该功能。也就是说,不同于我们平常编写的程序,Android 的应用程序不是单一入口,而是可

12、以从代码的不同位置启动。这就要依靠组件来实现。Android 应用程序的组件有以下四种: 31. Activity 一个 activity 实际上表现出来的就是一个程序的界面。这个界面可能有许多种不同的形式,比如有列表形式,有文字形式,有图像格子等形式。一个应用程序也可能有不止一个 activity。比如一个短消息的程序,需要有列表显示所有消息的activity,还至少需要一个编辑短消息的 activity(界面) ,还可能需要设置、菜单等界面。每个 activity 都有一个默认的窗口用于绘制界面,一般情况下,它是充满全屏的,但是我们可以通过程序控制它,使其小于屏幕大小,也可以控制其浮动于其

13、它窗口之上(如 Android 中的 Toast 信息) 。Activity 中显示出来的内容其实是由 view 堆叠形成的,view 是由 View 基类派生出来的各种形式的界面元素,如 ListView,GridView 等等,通过组合这些 view,就形成了一个可见的 activity。我们可以用 Activity.setContentView()方法来设置一个 activity 中所要显示的 view。2. Service service 是一种没有界面的组件,同我们平常在 Windows 或 Linux 系统中所理解的“服务”一样,Android 上的 service 也是运行在后台

14、的,运行时间可以从系统启动到系统关闭为止。对于许多应用程序来说,service 组件是至关重要的。以下载管理器为例,用户肯定希望能够在切换到其它程序时仍然在后台进行下载,这就需要用到 service 完成下载工作。而显示下载进度、已下载文件等信息则由activity 完成,同时我们还希望能控制下载过程,如停止、继续等,这就需要activity 与 service 之间进行通信。 Android 允许 activity 连接到或者绑定到service 上,这样就可以让用户在界面上控制后台 service 的行为。 3.Broadcast receiver Broadcast 意为广播消息,And

15、roid 系统自身会发出许多广播消息,如电量不足,用户修改了全局设置等,各个应用程序也以向整个系统广播消息,如文件下载完毕等。 Broadcast receiver 则是程序中专门用来接收广播消息的组件,它没有界面显示,只负责监听、接收广播消息,然后根据程序逻辑,启动其它组件去处理广播消息。它可以启动一个 activity 来同用户交互,也可以使用 NotificationManager向用户发出通知。NitificationManager 的通知形式有许多种,比如说振动、响铃、闪 LED 灯,还可以在 Android 界面的消息栏处显示信息。 44.Content provider cont

16、ent provider 是一种为其它应用程序提供数据的组件。这些数据可以保存在文件中,也可以保存在 SQLite 数据库中,还可以以其它任何有效的方式保存。ContentProvider 类为我们提供了一系列保存数据的方法供我们调用,可以很方便地存储数据。其它应用程序在需要使用这些数据时,可以用 ContentResolver 对象,使用其中的方法。ContentResolver 可以与任何 content provider 交互,获取其中的数据。 只要需要某个组件,Android 就会尽力保证它的可用:如果该组件还没启动,就启动它,如果该组件所属的应用程序还没拥有一个进程,则为它启动一个进

17、程,如果系统资源不足以容纳一个新的进程,则将后台的某个进程杀死为新进程腾出资源。2.4 AndroidManifest.xml 文件AndroidManifest.xml 是每一个应用都需要的文件, 位于应用根目录下,它 描述了程序包的全局变量, 包括暴露的应用组件(activities, services 等等)和为每个组件的实现类, 什么样的数据可以操作,以及在什么地方运行。AndroidManifest.xml 文件是一个结构化的 XML 文件,它除了包含有各个组件的信息,还包括许多其它的信息,它的基本样式如下所示:. . .不难看出,name,icon,lable 这些属性就分别指 a

18、ctivity 的名称、图标、标识。我们通过 manifest 描述程序的信息,Android 系统就能读取出来并产生相应的行为。5第三章 搭建 Android 开发环境3.1 安装 JDK由于 Android 开发是基于 Java 的基础上的,所以我们必须得安装 JDK(JDK 下载地址:http:/ 。安装过程中应对系统的环境变量做出相应的设置: 1.右击计算机-属性-高级系统设置-高级-环境变量,新建“系统变量” ,设置变量名:“java_home” 。变量值:“C:Program FilesJavajdk1.7.0_02”(视个人安装路径而定) 。 2.找到变量名为 path 的项,双

19、击,在变量值后面添加:“;%JAVA_HOME%bin;” ,3.新建“系统变量”变量名:“classpath” ,变量值:“.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;” 配置完成后,重启可以在 cmd 下输入 java 或者 javac 测试。3.2 安装 EclipseEclipse 是我们以后在 Android 开发时使用的开发平台,它集成了很多功能以及插件,在开发的过程中便于我们使用,在官网(http:/www.eclipse.org/downloads/)可以下载到对应系统以及功能的安装包,在安装提示安装完成后并且完成了 JDK 的

20、安装后即可正常使用。 3.3 安装 SDKSDK(Software Development Kit)初始包中有开发 Android 程序所要用到的工具,它包括了从编译到运行 Android 应用程序所需要的各种工具。安装时可以根据自己的需求选择安装相应的版本。 3.4 安装 ADT按照 2.3.4 安装完 SDK 初始包后,就可以开始开发 Android 应用程序了,但是为了更高效地进行开发,Android 团队推出了 Android Development Tools 6(ADT) 。ADT 是目前开发 Android 应用最有效的工具,它是一个 Eclipse 插件,支持 Eclipse

21、3.4 及 3.4 以上的版本。以 Eclipse 3.5 (Galileo)为例,安装过程如下: 1. 打开 Eclipse,选择 Help Install New Softare。 2. 在 Available Software 对话框中,点击 Add.。 3. 在弹出的 Add Site 对话框中,任意填写一个名字到 Name 一栏。在 Location一栏,则填入这一 URL:“https:/dl- ,然后确认返回。 (注意:如果在后续的步骤中发现无法安装插件,可以试着把 URL 中的https 换成 http。 )4. 返回到 Available Software 窗口后,就能看到列

22、表中出现了“Developer Tools“ ,选中它前面的复选框,再点击“Next” ,就会开始下载安装 ADT 的各种组件了。5. 安装完毕后将弹出窗口显示 ADT 相关的各种信息以及许可协议,点击“Finish“即可完成安装。6.重新启动:Eclipse。3.5 创建 AVD在安装好 JDK,Eclipse,SDK,ADK 之后我们就可以进行 Android 项目开发了,但是在开发的过程中我们经常需要运行、调试我们所开发的软件,这就需要用到AVD(Android Virtual Device) ,也就是 Android 虚拟机。1. 打开 Eclipse。 2. 点击 Opens the Android Virtual Device Manager 图标按钮。 3. 在弹出的窗口中点击 New 新建一个 Android 虚拟机。 4. 在弹出的新建虚拟机窗口中 Name 一栏填上虚拟机的名称(一般与虚拟机的版本号相同,便于区分) 。 5. 在 Target 一栏选择一个 Android 虚拟机版本(如 Android2.2 或Android2.1) 。 6. 在 SD Card 下的 Size 一栏填上我们要设定的 SD 卡容量大小。 7. 点击 Create AVD,这样我们的一个 Android 虚拟机就创建好了。

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

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报