




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于基于 AndroidAndroid 系统的音乐播放器的设计与实现系统的音乐播放器的设计与实现 摘要 摘要 进入 21 世纪的数字时代 网络发展十分的迅猛 在现今工作压力大的社会下 娱乐随之 兴起 各种各样的网络游戏 娱乐软件像雨后春笋一样以不断更新的方式进入我们的生活 丰富了我 们的业余时间 这些游戏能在不同的操作平台上进行安装 且其安装 操作简单适合每一位玩家 让 所有的玩家都能畅玩一番 然而在所有的操作系统中 Android 系统无疑不是其首选的 在 Android 平台上发布的 酷狗 酷我 百度影音等等播放器 以其简单快捷的操作 好看的画面 舒适的结构 强大的功能所折 服我们 本文通过 Android 技术的研究 实现了自主设计的一款音乐播放器 完成了本地音乐的加载 最近音乐播放的加载 正在播放页面的实现 上一曲 下一曲 暂停 播放 继续播放 进度条 时间 显示等等这些功能 本款音乐播放器采用 TabHost 进行总框架的布局 其他部分则采用相应的布局 方式 使这款播放器看上去丰富 形象点 同时这款播放器操作简单 实用 结合了 Android 课中所学 到的很多知识 即对知识的一个总结 本音乐播放器的设计遵循企业软件的工程思想 开始模拟了客 户来公司洽谈某项业务 完成需求分析 界面设计 编写代码 进一步社交 产品的维护 用户需求 这一系列的流程来一步步的制作这款播放器 关键字关键字 Android 播放器 客户 操作 流程 Abstract Abstract Digital era in twenty first Century network development is very rapid in today s stressful society along with the rise of various kinds of entertainment network game entertainment software like bamboo shoots after a spring rain as to continuously update the way into our lives enrich 2 our spare time These games can be installed in different operating platform and its installation operation is simple and suitable for every game player let all thegame player can play a However all of the operating system the Android systemis not the preferred Published in the Android platform on the cool dog cool and so on Baidu video player with itssimple and quick operation beautiful pictures comfortablestructure powerful function by us In this paper through the research of Android technology realizes anindependent design and music player the local musicloading recently playing music playing loading page realization a song the next song play pause continue to play a progress bar time display and so on thesefunctions The music player using TabHost frame layout the other part is the corresponding arrangement way make the player look rich image point At the same time the player has the advantages of simple operation practical combined with a lot of knowledge learned inAndroid class or a summary of knowledge The design of the music player follows the business softwareengineering thought began to simulate the customers to the company to discuss some business complete therequirement analysis interface design code furthersocial product maintenance user demand This a series of the process step by step making the player Key Words Android Player Customer Operation Process 目目 录录 第第 1 1 章章 绪论绪论 5 5 3 1 1 ANDROID简介及其开发背景 5 1 2 本课题内容的概述 6 1 3 本课题的目的及意义 7 第第 2 2 章章 开发工具的简介开发工具的简介 7 7 2 1 什么是 ECLIPSE 7 2 2 JDK 的下载与安装 9 2 3 ECLIPSE的下载与安装 13 2 4 ECLIPSE中 ANDROID SDK 插件的下载与安装 14 第第 3 3 章章 ANDROIDANDROID 的基本结构的基本结构 1919 3 1 ANDROID 的基本框架 19 3 2 ANDROID系统的四大组件 21 3 3 ANDROID音乐播放器的详细设计思想 22 第第 4 4 章章 本系统内容需求本系统内容需求 2323 4 1 实现的内容需求 23 4 2 播放器实现的目标 24 4 3 播放器的基本控制需求 24 4 4 功能需求分析 25 第第 5 5 章章 ANDROIDANDROID 的项目介绍的项目介绍 2727 5 1 本地音乐列表界面 27 5 2 正在播放界面 29 5 3 退出播放器界面 32 5 4 ANDROIDMANIFEST XML文件介绍 33 第第 6 6 章章 ANDROIDANDROID 模拟器读取模拟器读取 SDSD 卡中音频文件的实现卡中音频文件的实现 3333 6 1 怎样在模拟器中添加音频文件并读取 33 6 2 SD 卡的创建 34 6 3 向 SD 卡里面上传文件 34 6 4 手机 SD 卡音频文件读取的代码 34 第第 7 7 章章 软件测试软件测试 3434 7 1 软件测试环境 34 7 2 测试阶段 34 7 3 测试要点和总结 35 7 4 测试结果 35 结束语结束语 3636 参考文献参考文献 3737 致谢致谢 3737 第第 1 1 章章 绪论绪论 4 1 11 1 AndroidAndroid 简介及其开发背景简介及其开发背景 Android 一词的本意是指 机器人 同时也是 Goolge 与 2007 年 11 月 5 日宣 布的基于 Linux 平台的开源手机操作系统的名称 该平台由操作系统 中间件 用 户界面和应用软件组成 Android 是谷歌与 2007 年公布的开放式源码手机系统 他的开放性就优于其 他封闭式的手机系统 因此 任何人都可能根据自己的喜好将手机系统中的所有功 能重新编写 这使得越来越多的人关注这个系统 本次作品音乐播放器就是基于 Android 平台的 Android 是基于 Linux 内核的软件平台和操作系统 早期由 Google 开发 后 由开放手机联盟开发 它采用了软件堆层 software stack 又名为软件堆层 的 架构 主要分为三部分 底层以 Linux 内核工作为基础 只提供基本功能 其他的 应用软件则由各公司自行开发 以 java 作为编写程序的一部分 另外 为了推广 此技术 Google 和其他几十个手机公司建立了开放手机联盟 Android 在未公开之 前常被传闻为 Google 电话或 gPhone 大多的传闻认为 Google 开发的是自己的手 机电话产品 而不是一套软件平台 到了 2010 年 1 月 Google 开始发表自家品牌 手机电话的 Nexus One 目前最新的 SDK 版本为 Android4 4 硬件产品的发展趋势 手机 在手机产品领域 Android 手机可以说是类型最 为丰富的 同时往往集成了最尖端的技术力 在 2014 年 更大尺寸 2k 分辨率屏 幕将成为高端配置 vivo 品牌已经推出了首款 2k 屏幕机型 64 位处理器及 4GB RAM 也将成为高端手机的标配 此外 摄像头也将继续高像素化 平板电脑 在 2013 年 Android 在平板领域的成绩斐然 甚至抢夺了苹果 ipad 的市场份额 虽然这与 Android 低价平板的增多不无关系 在 2014 年仍将保持占 有率的优势 总结总结 显然 Android 在 2014 年或许不会发生巨大的变化 包括市场份额以及产品形态 从积极的方面来看 新兴市场的发力 新型设备的流行 会让 Android 拥有更多的 用武之地 与三星的关系修复 也有利于谷歌提供更为健康的生态系统 所以 我 们还是十分期待在 2014 年的 Goolge I O 大会上 会看到谷歌更多的大动作 5 1 2 本课题内容的概述本课题内容的概述 进入互联网的信息时代 手机市场越发迅猛的发展 各种音频视频资源也在 网上广为流传 这些资源看似平常 但已经渐渐成为人们生活中必不可少的一部分 了 于是各种手机播放器也紧跟着发展起来 但是很多播放器一味的追求外观花哨 功能的齐全 对用户的手机造成了很多资源的浪费 比如 CPU 内存等占用率过高 会导致一些低端手机卡机 死机等情况的出现 随着用户的要求 播放器的功能越来越齐全 如 听歌 看 MV 等等 除了能播 放常见格式的语言视频文件之外 还要满足 RMVB 格式的视频文件 此外 还需支 持中文 英文 韩文 日文等语言界面 因此 基于 Android 的手机操作系统上的各种应用软件应运而生 其音乐播放 器无疑不是一个最成功的案例 如 酷狗 酷我 QQ 音乐等播放器深受广大用户 的喜爱 所以 各高校都会把播放器作为一个很好的教案 不仅让我们了解了播放 器是如何编写成功的 更重要的是将我们与这个新兴行业紧密的联系在一起了 学 以致用 将书本上的知识归纳 总结后写一个成功的小项目 让自己获得更多 更 牢固的专业知识 同时也为今后找工作打下不错的基础 对于这次的毕业选题 其难度 完整度 完善度都比以往在学校写过写过的任 何一个小项目难得多 但却是对我们一个很好的锻炼机会 使自己的能力进一步升 华 同时也给自己在大学里所有的知识做了一个总结 为自己的大学时代画上一个 圆满的句号 1 31 3 本课题的目的及意义本课题的目的及意义 本次作品就是基于 Android 平台下的音乐播放器 对于此次的项目 我们必须 首先了解 Android 平台下软件开发的相关知识 及软件开发的意义 由于本次的毕 业项目属于个人的开发项目 不存在经济实用性的考量 所以有很多的方面完善的 不是很全 但是作为毕业项目而言 的确是一个很大的挑战 不仅锻炼了自己的能 力 而且让自己所学的知识得到运用 同时也是对自己在大学所学知识的一个总结 并且可以检测自己的实力 总之 本次毕业论文的撰写对我们益处扉多 第第 2 章章 开发工具的简介开发工具的简介 2 12 1 什么是什么是 EclipseEclipse 6 1 简介 Eclipse 是一个开放源代码的 基于 Java 的可扩展开发平台 就其本身而言 它只是一个框架和一组服务 用于通过插件组件构建开发环境 幸运的是 Eclipse 附带了一个标准的插件集 包括 Java 开发工具 Java Development Kit JDK 虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境 IDE 来使用 但 Eclipse 的目标却不仅限于此 Eclipse 还包括插件开发环境 Plug in Development Environment PDE 这个组件主要针对希望扩展 Eclipse 的软件开 发人员 因为它允许他们构建与 Eclipse 环境无缝集成的工具 由于 Eclipse 中 的每样东西都是插件 对于给 Eclipse 提供插件 以及给用户提供一致和统一的 集成开发环境而言 所有工具开发人员都具有同等的发挥场所 这种平等和一致性 并不仅限于 Java 开发工具 尽管 Eclipse 是使用 Java 语言开发的 但它的用 途并不限于 Java 语言 例如 支持诸如 C C 和 COBOL 等编程语言的插件已经 可用 或预计将会推出 Eclipse 框架还可用来作为与软件开发无关的其他应用程 序类型的基础 比如内容管理系统 2 发行版本 从 2006 年起 Eclipse 基金会每年都会安排同步发布 simultaneous release 至今 同步发布主要在 6 月进行 并且会在接下来的 9 月及 2 月释放出 SR1 及 SR2 版本 7 3 语言拓展 Eclipse 是著名的跨平台的自由集成开发环境 IDE 最初主要用来 Java 语言 开发 但是目前亦有人通过插件使其作为其他计算机语言比如 C 和 Python 的开 发工具 Eclipse 的本身只是一个框架平台 但是众多插件的支持使得 Eclipse 拥 有其他功能相对固定的 IDE 软件很难具有的灵活性 许多软件开发商以 Eclipse 为 框架开发自己的 IDE Eclipse 最初由 OTI 和 IBM 两家公司的 IDE 产品开发组创建 起始于 1999 年 4 月 IBM 提供了最初的 Eclipse 代码基础 包括 Platform JDT 和 PDE 目前由 IBM 牵头 围绕着 Eclipse 项目已经发展成为了一个庞大的 Eclipse 联盟 Eclipse 是一个开发源码项目 由于其开放源码 任何人都可以免费得到 并可以 在此基础上开发各自的插件 因此越来越受人们关注 近期还有包括 Oracle 在内 的许多大公司也纷纷加入了该项目 并宣称 Eclipse 将来能成为可进行任何语言开 发的 IDE 集大成者 使用者只需下载各种语言的插件即可 4 插件开发环境 Eclipse 的插件机制是轻型软件组件化架构 Eclipse 使用插件来提供所有的附 加功能 例如支持 Java 以外的其他语 言 已有的分离的插件已经能够支持 C C CDT Perl Ruby Python telnet 和数据库开发 插件架构能够支持将 任意的扩展加入到 现有环境中 例如配置管理 而决不仅仅限于支持各种编程语 言 5 主要组成 Eclipse 是一个开放源代码的软件开发项目 专注于为高度集成的工具开发提 供一个全功能的 具有商业品质的工业平台 它主要由 Eclipse 项目 Eclipse 工 具项目和 Eclipse 技术项目三个项目组成 具体包括四个部分组成 Eclipse Platform JDT CDT 和 PDE JDT 支持 Java 开发 CDT 支持 C 开发 PDE 用来支持 插件开发 Eclipse Platform 则是一个开放的可扩展 IDE 提供了一个通用的开发 平台 它提供建造块和构造并运行集成软件开发工具的基础 Eclipse Platform 允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在 哪里结束 而另一个工具功能在哪里开始 6 Eclipse SDK Eclipse SDK 软件开发者包 是 Eclipse Platform JDT 和 PDE 所生产的组件 8 合并 它们可以一次下载 这些部分在一起提供了一个具有丰富特性的开发环境 允许开发者有效地建造可以无缝集成到 Eclipse Platform 中的工具 Eclipse SDK 由 Eclipse 项目生产的工具和来自其它开放源代码的第三方软件组合而成 Eclipse 项目生产的软件以 GPL 发布 第三方组件有各自自身的许可协议 2 22 2 JDKJDK 的下载与安装的下载与安装 1 JDK 的介绍 JDK 是 Java 开发者工具包 也称 J2SDK 是 SUM 公司提供的基础 Java 语言开发 工具 该工具软件包含 Java 语言的编译工具 运行工具以及执行程序的环境 JRE JDK 现在是一个开源 免费的工具 JDK 是其他 Java 开发工具的基础 也就是 说 在安装其它开发工具之前 必须首先安装 JDK 2 JDK 的下载 现在最新的 JDK 版本为 JDK1 7 JDK 的最新版本的下载地址为 downloads 1591156 html 3 JDK 的安装 在下载好的 JDK 双击进行一步一步的安装即可 之后进行另一项工作 即 环 境变量的配置 4 环境配置图解过程 4 1 右击 我的电脑 选择属性 4 2 选择 高级系统设置 4 3 选择 高级 选项卡中的 环境变量 9 4 4 在系统环境里点击 新建 之后在 新建系统变量 里输入如下内容 在 点击 确定 4 5 Path 系统的变量设置 在系统变量里找到 Path 之后点击 编辑 10 进入 编辑系统变量 编辑 变量值 完成后点击 确定 4 6 classpath 系统变量值的设置 由于 JDK 是 1 7 最高版本的 所以当 JDK 高于 1 6 版本时就不需要设置 classpath 的系统变量值了 5 JDK1 7 安装的最后检查 若想确定 JDK 是否安装成功 可以在 cmd 运行环境里查看 即 JDK 安装成功时 的状态为 11 2 32 3 EclipseEclipse 的下载与安装的下载与安装 1 Eclipse 的下载 JDK 环境配置成功后 接下来就是要把 Java 开发工具给安装起来 即 Eclipse 的下载网址为 http www eclipse org downloads 进入后打开如下的网页 12 根据自己的学习要求下载合适的版本 我这里下载的是第一个中的 Windows 32 Bit 然后再点击那个下载按钮开始下载就可以了 下载下来的是一个压缩包 将该 压缩包解压到一个自定义的文件夹中 之后打开 eclipse 文件夹中的 eclipse exe 就能打开 eclipse 软件 2 42 4 EclipseEclipse 中中 AndroidAndroid SDKSDK 插件的下载与安装插件的下载与安装 1 Android SDK 的介绍 SDK 软件开发工具包 被软件开发工程师用于为特定的软件包 软件框架 硬 件平台 操作系统等建立应用软件的开发工具的集合 因此 Android SDK 指的是 Android 专属的软件开发工具包 2 Android SDK 的下载 Android SDK 的下载网址为 http 下载后解压文 件 13 3 Android SDK 的安装 Android SDK 不用安装 下载后 直接解压即可 将下载后的 SDK 的压缩包解 压到适当的位置 SDK 就安装成功 使用 Eclipse 进行 Android 应用开发需要给 Eclipse 安装 ADT 插件 这样 Eclipse 就可以和 Android SDK 建立连接了 可以在 Eclipse 中启动 Android 模拟 器进行程序调试等 ADT 插件安装 但必须先下载 adt 的 zip 安装包 安装插件后 需要做如下的配置即可 3 1 在 Eclipse 中 选择 Window Preference 3 2 从左侧的菜单中 选择 Android 项 3 4 设置 SDK Location 点 Browse 选择 SDK 的安装根目录 3 5 点 apply 后再点 ok 即安装完成 4 安装 Eclipse 的开发插件 4 1 启动 Eclipse 选择菜单 Help Install New Software 出现如下界面 4 2 点击 Add 按钮 出现如下的界面 输入网址 https dl 14 https 改成 http 名称 Android 自定义 4 3 点击 OK 出现如下的界面 4 4 按照操作 点击 Next 知道出现如下的界面 15 4 5 选择 I accept the terms of the 在点击 Next 进入安装 界面 4 6 安装完成后 出现如下的界面 4 7 点击 Yes 按钮 重启 Eclipse 后 再来配置 android sdk 4 7 1 点击菜单 Window preferences 进入一下界面 在 Browse 选择你 之前 android sdk 解压后的根目录 如下 16 4 7 2 升级 SDK 版本 选择菜单 windows Android sdk and avd manager 4 7 3 选择 Update all 按钮 进入下面操作界面 再点击左边的 Accept 后点 Install 安装 17 4 7 4 点击 Install 后 进入下一个安装界面进行安装 4 7 5 安装完成 4 7 6 新建 AVD 步骤和上面一样 进入 Android SDK and AVD Manager 后一步一步的进行设置就 OK 了 创建完 AVD 之后 我们就可以在 Eclipse 里面新 建 Android 的项目了 新建 Android 项目将在下面第六章进行详细的介绍 第第 3 3 章章 AndroidAndroid 的基本结构的基本结构 3 13 1 AndroidAndroid 的基本框架的基本框架 Android 平台的基本框架如下图所示 18 Android 分为四个层 从高层到底层分别是 程序应用层 应用程序框架层 系统运 行库层和 linux 核心层 蓝色的代表 java 程序 黄色的代码为运行 Java 程序而实现的虚拟机 绿色部分为 C C 的程序库组成 通过 JNI 完成从 Java 到 C 的调用 1 应用程序 所有的应用程序都是使用 JAVA 语言编写的 每一个应用程序由一个或者多个活 动组成 活动必须以 Activity 类为超类 活动类似于操作系统上的进程 但是 活动比操作系统的进程要更为的灵活 与进程类似的是 活动在多种状态之间进 行切换 2 应用程序框架 应用程序的架构设计简化了组建的重用 任何一个应用程序都可以发布它的功能 块并且任何其他的应用程序都可以使用其发布的功能块 帮助程序员快速的开发 程序 并且应用程序重用机制也使用户可以方便的替换程序组件 隐藏在每个应 用后面的是一系列的服务和系统 其中包括入下 A 丰富而又可扩展的视图 可以用来构建应用程序 包括 lists grids text boxes buttons 甚至可嵌入的 web 浏览器 B 内容提供器使得应用程序可以访问另一个应用程序的数据 或者共享他们 自己的数据 19 C 资源管理器提供非代码资源的访问 如本地字符串 图形 布局文件 D 通知管理器使得应用程序可以在状态栏中显示自定义的提示信息 E 活动管理器用来管理应用程序生命周期并提供常用的导航回退功能 3 系统运行库 A 程序库 Android 包含一些 C C 库 这些库能被 Android 系统中不同的组件使用 它 们通过 Android 应用程序框架为开发者提供服务 如下为核心库 1 Bionic 系统 C 库 2 媒体库 基于 PacketVideo OpenCORE 3 Surface Manager 顾名思义 用于管理 Surface 4 Webkit LibWebCore 浏览器 基于 Webkit 引擎 5 SGL 底层的 2D 图形引擎 6 3D libraries 基于 OpenGL ES 1 0 APIs 实现 7 FreeType 位图和矢量字体显示 8 SOLite 一个对于所有应用程序可用 功能强劲的轻型关系型数据库引 擎 B Android 运行库 Android 包含一个核心库 该核心库提供了 JAVA 编程语言核心库的大多数功 能 每一个 Android 应用程序都在它自己的进程中运行 都拥有一个独立的 Dalvik 虚拟机实例 Dalvik 被设计成一个设备可以同时高效的运行多个虚拟 系统 Dalvik 虚拟机执行的 Dalvik 可执行文件 该格式文件针对小内存使用 做了优化 Dalvik 虚拟机依赖于 linux 内核的一些功能 比如线程机制和底 层内存管理机制 4 Linux 内核 Android 的核心系统服务依赖于 Linux2 6 内核 如安全性 内存管理 进程管理 网络协议栈和驱动模型 3 23 2 AndroidAndroid 系统的四大组件系统的四大组件 1 Activity 20 应用程序中 一个 Activity 通常就是一个单独的屏幕 它上面可以显示一些空 间也可以监听并处理用户的事件作出响应 Activity 之间通过 Intent 进行通信 在 Intent 的描述结构中 有两个最重要的部分 动作和动作对应的数据 2 Service Service 没有用户界面 但他会在后台一直运行 例如 service 可能在用户处 理其它事情的时候播放背景音乐 或者从网络上获取数据 或者执行一些运算 并 把运算结构提供给 activity 展示给用户 每个 service 都扩展自类 service 多媒 体音乐播放器就是一个很好地例子 多媒体播放器程序可能含有一个或者多个 Activity 用户通过这些 activity 选择并播放音乐 然而 音乐回放并不需要一 个 activity 来处理 因为用户可能希望音乐一直播放下去 即使退出播放器去执 行其他程序 所以多媒体播放器 activity 可能会启动一个 service 在后台播放音 乐 Android 系统会使音乐回放 service 一直运行 即使再启动这个 service 的 activity 退出之后 3 Broadcase receiver 4 Broadcase receiver 不执行任何任务 仅仅是接受并响应广播通知的一类组件 大部分广播通知是由系统产生的 例如 改变时区 电池电量低 用户选择了一幅 图片或者用户改变了语言首选项 应用程序同样也可以发送广播通知 一个应用程 序可以包含任意数量的 Broadcase receiver 来响应它认为很重要的通知 所有的 Broadcase receiver 都扩展自类 BroadcastReceiver 5 Content provider 6 应用程序可以通过 Content provider 访问其他应用程序的一些私有数据 这是 Android 提供的一种标准的共享数据的机制 共享的数据可以是存储在文件系统中 SQLite 数据库中或其它的一些媒体库中 Content provider 扩展自 ContentProvider 类 通过实现此类的一组标准的接口可以使其它应用程序存取由 它控制的数据 然而应用程序并不会直接调用 ContentProvider 中的方法 而是通 过类 ContentResolver ContentResolver 能够与任何一个 ContentProvider 通信 它与 ContentProvider 合作管理进程间的通信 3 33 3 AndroidAndroid 音乐播放器的详细设计思想音乐播放器的详细设计思想 21 说起音乐播放器大家都知道 手机 电脑上的播放器 无疑不是大家放松心 情的一种选择的娱乐方式 自从接触 android 以来 对 android 抱有很大的兴趣 就想着自己可不可以制作一款播放器呢 于是查找资料 研究设计一款属于个人 的音乐播放器 首先设计出播放器各界面的草图 同时考虑要实现的功能 如 播放 暂停 继续播放 上 下一曲 进度条 本地列表等等 及功能在界面的 buff 设计完成后就是将该界面在 eclipse 中设计出来 再实现后台代码的编写 最后通过系统化的测试 一步步的将播放器优化 知道播放器的正常使用 本次播放器主要有三个界面构成 1 本地音乐列表界面 2 最近播放列表 界面 3 播放主界面 本地音乐界面读取的是手机 SD 卡中所有的可播放的音频文件 通过 ListView 列表来获取 点击列表中的任意一首歌曲 就会跳转到播放的主界面 中 同时获取该歌曲的所有播放信息 最近列表记录的是最近播放过的任意一首 歌曲 点击该列中的任意一首歌曲同样会跳转到播放的主界面中 并获取该歌曲 的相关信息 在当前播放的主界面中 可以任意的对当前歌曲进行暂停 继续播 放 上一首 下一首等操作 此款播放器实现的是最基本的播放原理 但没有实现歌词的显示滚动 以及 下载音乐的机制等等 作为一个项目实在存在很多的不足 但是确实一个自己独 立的项目 其作用也是不可小觑的 本次播放器的完成让我更加的了解 Android 了解程序 为我今后的工作带来很大的帮助 第第 4 4 章章 本系统内容需求本系统内容需求 4 14 1 实现的内容需求实现的内容需求 本文主要实现的内容需求有以下的几个方面 1 读取内存卡 SD 卡里面所有的音频文件 并自动加入该音乐播放器中 2 音乐的播放 包括上一首 下一首 暂停 播放 进度条 更新歌名 时间显示 本地列表 最近播放列表 3 合理的设计音乐播放器的界面 22 4 24 2 播放器实现的目标播放器实现的目标 本系统属于客户经常使用的音乐播放器 可以是作者更加的清楚该流程 本系 统应达到的目标 1 软件采用人机交互的方式 界面美观友好 操作简单 方便 富有个性化 2 能对音乐文件进行有效的管理 3 系统应最大限度的实现易维护性和易操作性 本系统使作者达到的目标 1 本系统利于作者对大学时期所学知识的归纳 总结 2 锻炼了作者的应用性及项目的整体完成性 同时为以后找工作奠定了重要的基础 3 让作者更加的了解一款软件从设计到完成这个工作流程 及途中遇到苦难该如 何的解决 4 本系统再次拉近了与程序之间的关系 让我们更加的了解这个行业 更加的了 解这个互联网软件的时代 4 34 3 播放器的基本控制需求播放器的基本控制需求 根据本项目的要求 我们了解了该项目系统的基本需求 现在就从不同的角度 来描述系统需求 并运用例图来细致的分析下 从播放器的基本控制需要 播放列 表管理需求 播放界面的友好设计这三部分来进行概括 23 图 1 播放器的基本控制需求 4 44 4 功能需求分析功能需求分析 从图例分析图可以看出播放器中信息发送和调用过程 用 户 播放 暂停 继续播放 上一首 下一首 24 快捷方式按钮 主界面 本地音乐界面正在播放界面 面 选 择 歌 曲 播 放 最近播放列表界面 本 地 音 乐 播放页面 正 在 播 放 发送参数调用后台的 service S e r v i c e 播放 返回播放 后台 Service 图 2 播放器的时序图 25 第第 5 章章 Android 的项目介绍的项目介绍 5 1 本地音乐列表界面本地音乐列表界面 首页是通过 TabHost 布局 分两个标签 即 本地音乐 和 正在播放 列表 如下图 3 所示 其布局代码不附属了 如下代码实现的是首页中本地列表歌曲的获取 方法 关键代码 musicListView setOnItemClickListener newnew OnItemClickListener Override publicpublic voidvoid onItemClick AdapterView adap View v intint position longlong arg3 26 currentListItme position playMusic MUSIC PATH mMusicList get position isRunning truetrue Intent intent newnew Intent intent setClass Mp3PlayerActivity thisthis Zhengzai classclass Bundle bundle newnew Bundle bundle putString path MUSIC PATH mMusicList get position toString intint index position bundle putString musicTitle mMusicList get position intent putExtra bundle bundle startActivity intent 5 25 2 正在播放界面正在播放界面 关键代码 正在播放 27 mStartImageButton setOnClickListener newnew ImageButton OnClickListener Override publicpublic voidvoid onClick View arg0 TODOTODO Auto generated method stub String path MUSIC PATH mMusicList get currentListItme ifif isRunning playMusic path startSeekBarUpdate elseelse ifif isPause pause path elseelse continuePlay path 下一首的监听和实现 mNextImageButton setOnClickListener newnew ImageButton OnClickListener Override publicpublic voidvoid onClick View v TODOTODO Auto generated method stub nextMusic privateprivate voidvoid nextMusic ifif Mp3PlayerActivity currentListItme Mp3PlayerActivity mMusicList size Mp3PlayerActivity currentListItme 0 playMusic MUSIC PATH Mp3PlayerActivity mMusicList get Mp3PlayerActivity currentListItme isPause falsefalse mStartImageButton setImageDrawable getResources getDrawable R drawable b t widget pause nor 上一首的监听和实现 mPreImageButton setOnClickListener newnew ImageButton OnClickListener 28 Override publicpublic voidvoid onClick View v TODOTODO Auto generated method stub FrontMusic privateprivate voidvoid FrontMusic ifif Mp3PlayerActivity currentListItme 0 Mp3PlayerActivity currentListItme Mp3PlayerActivity mMusicList size 1 playMusic MUSIC PATH Mp3PlayerActivity mMusicList get Mp3PlayerActivity currentListItme isPause falsefalse mStartImageButton setImageDrawable getResources getDrawable R drawable b t widget pause nor 音乐的暂停 privateprivate voidvoid pause String path ifif Mp3PlayerActivity mMediaPlayer nullnull isPause truetrue mStartImageButton setImageDrawable getResources getDrawable R drawable bt widget play nor 音乐继续播放 privateprivate voidvoid continuePlay String path ifif isPause Mp3PlayerActivity mMediaPlayer start isPause falsefalse mStartImageButton setImageDrawable getResources getDrawable R drawable bt widget pause nor 5 35 3 退出播放器界面退出播放器界面 29 退出播放器提示代码 publicpublic voidvoid showExitDialog AlertDialog Builder builder newnew AlertDialog Builder thisthis builder setTitle 提示 builder setMessage 确定要退出吗 builder setNegativeButton 否 newnew DialogInterface OnClickListener Override publicpublic voidvoid onClick DialogInterface dialog intint which builder setPositiveButton 是 newnew DialogInterface OnClickListener Override publicpublic voidvoid onClick DialogInterface dialog intint which Mp3PlayerActivity thisthis finish System exit 0 builder setCancelable falsefalse builder create show 5 45 4 AndroidManifest xmlAndroidManifest xml 文件介绍文件介绍 30 Android 系统的任何一个程序启动都需要 AndroidManifest xml 来启动程序 任何 一个新建的工程目录都会自动生成一个 AndroidManifest xml 文件 此配置文件是整 个 程序能够正常运行的核心 它包含了 Android SDK 的版本 程序运行的默认 Activity 当程序中的任何一个组件触发事件后 系统都会自动的去 AndroidManifest xml 中寻找标识来作出相应的操作 在 AndroidManifest xml 中有一个根结点 它是我们需要定义的 ADT 版本 当程序的任何一个组件要用到时 都必须在 AndroidManifest xml 文件中声明 四大组件要使用前都需要声明 其中声明 provider 是还需要声明其授权 authorities 每个组件里面好有很多的 属性 会根据程序的具体需要定义不同的属性 过滤器 inent filter 有两种启动方式 来启动界面 显示方式 显示方式是在代码中直接启动组件 启动时会声明 Inent 在它的构造 方法 Intent 中直接指定一个组件的名字 然后调用方法 startIntent intent 以启 动指定的组件 隐式方式 隐式方式是通过过滤器来过滤完成的 启动的组件必须满足 action 和 category 的条件才能够启动该组件 这些属性是在 AndroidManifest xml 文件中声 明的 两种启动方式都可以通过程序 setAction 和 startActivity 或配置文件两种方 式来实现组件的跳转 第第 6 6 章章 AndroidAndroid 模拟器读取模拟器读取 SDSD 卡中音频文件的实现卡中音频文件的实现 6 16 1 怎样在模拟器中添加音频文件并读取怎样在模拟器中添加音频文件并读取 在 Android 模拟器中 初始时没有 sdcard 的 为了存放音乐文件 需要自己创 建 sdcard 所以下面的介绍就是怎样在模拟器中创建音频文件及读取 6 26 2 SDSD 卡的创建卡的创建 通过 Android 的 Tools 来创建 sd 卡并导入进来 1 打开 dos windows R 键打开 转换到你的 sdk 安装包的 tools 目录下 如我的目 录如下 E android sdk windows tools 2 创建 sd 卡 在命令行中输入 mksdcard 31 1024M E androidsdcard sdcard img 3 在 eclipse 里面创建模拟器 并以该 SD 卡来创建 4 创建完成之后 启动该模拟器 可以在 Android SDK and AVD Manager 里面指定 模拟器并启动 5 同样打开 Eclipse 的 DDMS File Explorer 查看 sd 卡是否安装完成 6 36 3 向向 SDSD 卡里面上传文件卡里面上传文件 右边两个小手机按钮就是传输文件的按钮了 用它来实现文件的传入和传出了 向 左的表示把手机里的文件导出 向右的表示把文件导入手机里面去 但是在这里很容 易出现一些异常情况 在这里异常情况不一一讲述了 把手机里面的文件导出 进入 模拟器 其导出的音频文件的名称最好为英文 如果是中文名称则很容易出现异常 导出后 启动模拟器 在播放器中就可以将歌曲自动的导入播放列表中 6 46 4 手机手机 SDSD 卡音频文件读取的代码卡音频文件读取的代码 第第 7 7 章章 软件测试软件测试 7 17 1 软件测试环境软件测试环境 由于本次的软件是个人的小项目 其测试的环境只能用自己的手机进行测试 打开 eclipse 连接手机 运行项目时会将程序默认的安装在手机里 即我们可以在手 机里进行每个功能点的测试 需注意的是 本次项目是 Android 平台下的音乐播放器 所以测试的手机必须是 Android 系统的 且在 Android2 1 以上版本的 测试环境允许 的条
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品操作考试题及答案
- 经济法学试题及答案
- 辽宁省烟草面试题及答案
- 校内活动安全知识培训课件
- 医学基础知识常考题(含答案)
- 2025年雇佣执行经理合同范本
- 医疗器械法规知识培训试题及答案(单体药店或连锁门店)
- 2025年VTE、伤口造口相关知识培训后考核试题及答案
- 树木寻访记探究课件
- 2025年山西省保密知识教育考试题(含答案)
- 临沧市市级单位遴选(选调)考试试卷真题及答案2022
- 三级教育卡、培训记录和花名册
- 拜复乐-产品基础知识
- 生物制品生产工艺过程变更管理技术指导原则
- 建筑施工现场签证单(模板)
- GBZ(卫生) 49-2014职业性噪声聋的诊断
- GB/T 9729-2007化学试剂氯化物测定通用方法
- GB/T 7588.2-2020电梯制造与安装安全规范第2部分:电梯部件的设计原则、计算和检验
- GB/T 13560-2017烧结钕铁硼永磁材料
- 三视图及尺寸标注课件
- 混凝土配合比验证检验委托书模板
评论
0/150
提交评论