嵌入式基于Android的音乐播放器设计与实现(18页).doc
《嵌入式基于Android的音乐播放器设计与实现(18页).doc》由会员分享,可在线阅读,更多相关《嵌入式基于Android的音乐播放器设计与实现(18页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-嵌入式基于Android的音乐播放器设计与实现-第 14 页学校代码: 10128学 号: 200920201039嵌入式系统综合设计说明书题 目: 基于Android的音乐播放器设计与实现姓 名: 王若禹学 院: 信息工程学院班 级: 计算机09-2指导教师: 刘志强 庄旭飞 王晓强 杜秋阳2012 年 9 月 25 日摘 要 当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉效果及用户体验,因此,也逐步的提高了对系统的要求。本文主要是在Android系统上对音乐播放器应用程序的设计与实现进行讨论,通过这一过程来进一步
2、学习与应用Android平台,这样对个人的未来发展也很有意义。 本论文的音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse开发工具对播放器代码进行编写。同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集下载、播放、暂停、停止等功能于一体,性能良好,在Android系统中能独立运行。MP3是一种声音文件的压缩格式,由于本播放器只限于应用层程序的探讨,所以对具体的压缩算法不做深究。 实验证明,基于Android平台的软件开发简单,使用方便简洁,必将成为未来几年的发展方向,具有普遍意义。关键词
3、:Android;音乐播放器;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 安装JDK53.2 安装Eclipse53.3安装SDK53.4安装ADT53.5 创建AVD6第四章系统的总体设计74.1 设计思想74.2 系统功能结构图7第五章音乐播放器的详细设计115.1项目UI篇115.2开机动画页面的设计115.2.1 设计步骤115
4、.2.2效果图125.3基本代码的编写125.3.1在Service 里定义一系列关于播放状态的常量125.3.2注册广播接收 以及定义广播的action135.3.3写发送广播(前歌曲的信息及状态)的一些方法135.3.4播放控制代码的编写135.4主页面的代码实现145.4.1 初始化页面的一些基本控件145.4.2 Seekbar的更新与监听145.5播放列表页面的实现155.5.1适配器的创建155.5.2 musiclist 中getMultiData( )方法的创建155.5.3 点击列表中的一项 跳转到播放列表 并播放当前歌曲155.6 Notification功能的实现165.
5、6.1 创建MyNotification 这个类165.6.2在activity中调用notifation这个类165.7菜单功能的实现165.8 AppWidget的实现175.8.1 Appwidget布局页面175.8.2 AppWidget类的创建18第六章总结19参考文献20第一章 引言1.1项目背景Android是谷歌于2007年公布的开放式源代码手机系统,一直受到人们的热捧。Android是基于Linux内核的软件平台和操作系统,它开放性就优于其他封闭式的手机系统。因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放
6、器就是基于Android平台的。 随着计算机的广泛运用,手机市场的迅速发展,各种音频资源也在网上广为流传。这些资源卡是平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味最求外观花俏,功能庞大,对用户的手机造成很多资源浪费。比如CPU、内存等的占用率过高、在用户需要多任务操作时,受到不小的影响,带来了许多不便。而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户听歌的需求。现今社会生活紧张,而欣赏音乐史其中最好的舒缓压力的方式之一。本项目的目的是开发
7、一个可以播放主流音乐文件格式的播放器。本设计的实现的这主要功能是播放MP3等音乐文件,并且能够控制播放器播放、暂停、停止、上一曲、下一曲。界面简单,操作简单。本项目是一款基于Android手机,平台的音乐播放器,使Android手机拥有个性的播放器,让手机主人随时随地处于音乐的旋律中。使人们的生活更加多样化。也使设计者更加熟练Android的技术和其它在市场上的特点。1.2 编写目的现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放MP3文件格式的播放器,并且可以从服务器下载歌曲,控制播放,暂停,停止,音量调节,播放列表和歌曲文件的管理操作等多种播放控制
8、功能,界面简明,操作简单。本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更加生动灵活化,与人们更为接近,让手机主人随时随地处于音乐旋律之中。使人们的生活更加多样化,也使设计者更加熟悉基于Android平台的应用布局及开发模式的特点,为以后实现更复杂的应用打好基础。第二章 Android应用软件开发基础2.1 Android的基本介绍Android一词的本义指“机器人”同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称。该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真
9、正开放和完整的移动软件。Android是基于Linux内核的软件平台和操作系统。早期由Google开发,在华注册商标名为“安致”,后由开放手机联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构。主要分为三部分。低层以Linux内核工作为基础,只提供基本功能,其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其他几十个手机公司建立开发手机联盟。Android在未公开之前常被传闻为Google电话或gPhone。大多传闻认为Google开发的是自己的手机电话产品,而不是一
10、套软件平台。到了2010年1月,Google开始发表自家品牌手机电话的Nexus One。2.2 Android应用开发语言Java是Android上的主流开发语言,各种支持也最完善。Android发布的API和SDK也都主要是面向Java开发人员的。我们的播放器实例也是用Java开发的。2.3 Android应用程序组件 Android应用程序最大的一个特点就是每个应用都由若干组件构成。而且各个应用程序的组件还可以相互调用(需要在代码中设置相应权限)。例如假设我们需要编写一个内嵌有网页的程序,那么我们无需亲自编写浏览器,而是可以直接调用系统自带的Chrome Lite浏览器组件。又如假设我们
11、编写了两个应用程序,其中一个程序中有列表显示图片的组件,那么我们在另外一个应用程序中就可以使用该组件,而不需要再编写该功能。也就是说,不同于我们平常编写的程序,Android的应用程序不是单一入口,而是可以从代码的不同位置启动。这就要依靠组件来实现。 Android应用程序的组件有以下四种: 1. Activity 一个activity实际上表现出来的就是一个程序的界面。这个界面可能有许多种不同的形式,比如有列表形式,有文字形式,有图像格子等形式。一个应用程序也可能有不止一个activity。比如一个短消息的程序,需要有列表显示所有消息的activity,还至少需要一个编辑短消息的activi
12、ty(界面),还可能需要设置、菜单等界面。每个activity都有一个默认的窗口用于绘制界面,一般情况下,它是充满全屏的,但是我们可以通过程序控制它,使其小于屏幕大小,也可以控制其浮动于其它窗口之上(如Android中的Toast信息)。 Activity中显示出来的内容其实是由view堆叠形成的,view是由View基类派生出来的各种形式的界面元素,如ListView,GridView等等,通过组合这些view,就形成了一个可见的activity。我们可以用Activity.setContentView()方法来设置一个activity中所要显示的view。2. Service servic
13、e是一种没有界面的组件,同我们平常在Windows或Linux系统中所理解的“服务”一样,Android上的service也是运行在后台的,运行时间可以从系统启动到系统关闭为止。对于许多应用程序来说,service组件是至关重要的。以下载管理器为例,用户肯定希望能够在切换到其它程序时仍然在后台进行下载,这就需要用到service完成下载工作。而显示下载进度、已下载文件等信息则由activity完成,同时我们还希望能控制下载过程,如停止、继续等,这就需要activity与service之间进行通信。 Android允许activity连接到或者绑定到service上,这样就可以让用户在界面上控制
14、后台service的行为。 3.Broadcast receiver Broadcast意为广播消息,Android系统自身会发出许多广播消息,如电量不足,用户修改了全局设置等,各个应用程序也以向整个系统广播消息,如文件下载完毕等。 Broadcast receiver则是程序中专门用来接收广播消息的组件,它没有界面显示,只负责监听、接收广播消息,然后根据程序逻辑,启动其它组件去处理广播消息。它可以启动一个activity来同用户交互,也可以使用NotificationManager向用户发出通知。NitificationManager的通知形式有许多种,比如说振动、响铃、闪LED灯,还可以在
15、Android界面的消息栏处显示信息。 4.Content provider content provider是一种为其它应用程序提供数据的组件。这些数据可以保存在文件中,也可以保存在SQLite数据库中,还可以以其它任何有效的方式保存。ContentProvider类为我们提供了一系列保存数据的方法供我们调用,可以很方便地存储数据。其它应用程序在需要使用这些数据时,可以用ContentResolver对象,使用其中的方法。ContentResolver可以与任何content provider交互,获取其中的数据。 只要需要某个组件,Android就会尽力保证它的可用:如果该组件还没启动,就
16、启动它,如果该组件所属的应用程序还没拥有一个进程,则为它启动一个进程,如果系统资源不足以容纳一个新的进程,则将后台的某个进程杀死为新进程腾出资源。2.4 AndroidManifest.xml文件AndroidManifest.xml是每一个应用都需要的文件, 位于应用根目录下,它 描述了程序包的全局变量, 包括暴露的应用组件(activities, services等等)和为每个组件的实现类, 什么样的数据可以操作,以及在什么地方运行。 AndroidManifest.xml文件是一个结构化的XML文件,它除了包含有各个组件的信息,还包括许多其它的信息,它的基本样式如下所示: 不难看出,na
17、me,icon,lable这些属性就分别指activity的名称、图标、标识。我们通过manifest描述程序的信息,Android系统就能读取出来并产生相应的行为。第三章 搭建Android开发环境3.1 安装JDK由于Android开发是基于Java的基础上的,所以我们必须得安装JDK(JDK下载地址: 1.右击计算机-属性-高级系统设置-高级-环境变量,新建“系统变量”,设置变量名:“java_home”。变量值:“C:Program FilesJavajdk1.7.0_02”(视个人安装路径而定)。 2.找到变量名为path的项,双击,在变量值后面添加:“;%JAVA_HOME%bin
18、;”, 3.新建“系统变量”变量名:“classpath”,变量值:“.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;” 配置完成后,重启可以在cmd下输入java或者javac测试。3.2 安装EclipseEclipse是我们以后在Android开发时使用的开发平台,它集成了很多功能以及插件,在开发的过程中便于我们使用,在官网(http:/www.eclipse.org/downloads/)可以下载到对应系统以及功能的安装包,在安装提示安装完成后并且完成了JDK的安装后即可正常使用。 3.3安装SDKSDK(Software Developm
19、ent Kit)初始包中有开发Android程序所要用到的工具,它包括了从编译到运行Android应用程序所需要的各种工具。安装时可以根据自己的需求选择安装相应的版本。 3.4安装ADT 按照2.3.4安装完SDK初始包后,就可以开始开发Android应用程序了,但是为了更高效地进行开发,Android团队推出了Android Development Tools (ADT) 。ADT是目前开发Android应用最有效的工具,它是一个Eclipse插件,支持Eclipse 3.4及3.4以上的版本。以Eclipse 3.5 (Galileo)为例,安装过程如下: 1. 打开Eclipse,选择
20、Help Install New Softare。 2. 在Available Software 对话框中,点击Add.。 3. 在弹出的Add Site 对话框中,任意填写一个名字到Name一栏。在Location一栏,则填入这一URL:“https:/dl-4. 返回到Available Software 窗口后,就能看到列表中出现了Developer Tools ,选中它前面的复选框,再点击“Next”,就会开始下载安装ADT的各种组件了。5. 安装完毕后将弹出窗口显示ADT相关的各种信息以及许可协议,点击“Finish“即可完成安装。6.重新启动:Eclipse。3.5 创建AVD在安
21、装好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虚拟机版本(如Andr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 基于 Android 音乐 播放 设计 实现 18
限制150内