毕业设计(论文)-基于Android平台的手机应用开发—音乐播放器.doc_第1页
毕业设计(论文)-基于Android平台的手机应用开发—音乐播放器.doc_第2页
毕业设计(论文)-基于Android平台的手机应用开发—音乐播放器.doc_第3页
毕业设计(论文)-基于Android平台的手机应用开发—音乐播放器.doc_第4页
毕业设计(论文)-基于Android平台的手机应用开发—音乐播放器.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕毕 业业 设设 计计 题目 基于题目 基于 AndroidAndroid 平台的手机应用开发平台的手机应用开发 音乐播放器音乐播放器 姓 名 学 号 学 院 信息学院 专 业 计算机科学与技术 指 导 教 师 协助指导教师 2011 年 5 月 23 日 北京联合大学 毕业设计 1 北京联合大学毕业设计 论文 任务书北京联合大学毕业设计 论文 任务书 题目 基于 android 平台的手机应用开发 音乐播放器 专业 计算机科学与技术 指导教师 学院 信息学院 学号 班级 0708030502 姓名 一 主要内容和基本要求一 主要内容和基本要求 基于 android 平台的手机应用开发 音乐播放器 是针对 android 操作系统手机 用户的一个预研项目 主要研究基于 android 平台的手机应用开发 并试图通过模拟 试验 利用相关的算法 使 android 操作系统用户的音乐播放更加方便 提供更好的 服务 该音乐播放器集播放 暂停 停止 上一曲 下一曲 音量调节 歌词同步显 示等功能于一体 性能良好 在 Android 系统中独立运行 该播放器还拥有对手机 文件浏览器的访问功能 歌曲播放模式 歌词开闭状态以及推荐好友等友好性设置 此外本音乐播放器将实现歌词与音乐播放同步显示 于海庆同学的主要任务如下 1 调研资料 了解并学习 android 平台软件应用开发等相关知识 2 用 Java 语言实现音乐播放器的所有功能并进行相应的测试 3 翻译英文资料 完成毕业设计论文的撰写 二 主要参考资料二 主要参考资料 1 E2ECloud 工作室编著 深入浅出 Google Android 人民邮电出版社 2 W Frank Ableson Charlie Collins Robi Sen 著 张波 高朝勤 杨越等译 Google Android 揭秘 人民邮电出版社 3 吴亚峰 苏亚光编著 Android 2 0 游戏开发实战宝典 人民邮电出版社 4 Sayed Y Hashimi Satya Komatineni Dave Maclean 著 杨越译 精通 Android 2 人民邮电出版社 5 Ed Burnette 著 张波 高朝勤 杨越等译 Android 基础教程 第 3 版 人民邮电出版社 6 王向辉 张国印 沈洁编著 Android 应用程序开发 清华大学出版社 7 Mark L Murphy 著 李雪飞 吴明晖译 Android 开发入门教程 人民邮电 出版社 8 邵丽萍 邵光亚 张后扬编著 Java 语言程序设计 第 3 版 清华大学出 北京联合大学 毕业设计 2 版社 9 林树泽等编著 JAVA 完全自学手册 机械工业出版社 10 Bruce Eckel 著 陈昊鹏译 Java 编程思想 第 4 版 机械工业出版社 11 余志龙 等著 王世江 改编 Google Android SDK 开发范例大全 第 2 版 人民邮电出版社 12 盖索林编著 王世江改编 Google Android 开发入门指南 第 2 版 人民 邮电出版社 13 李宁 编著 Android OPhone 开发完全讲义 水利水电出版社 14 Reto Meier 著 王超译 Android 2 高级编程 第 2 版 清华大学出版社 15 李刚 编著 疯狂 Java 讲义 电子工业出版社 三 进度要求三 进度要求 1 月 17 日 1 月 31 日 进行相关调研 学习有关文献 了解应用背景及程序设 计 2 月 1 日 2 月 20 日 完成开题报告以及开题答辩 2 月 21 日 3 月 6 日 实现音乐播放器播放界面及其功能 3 月 7 日 3 月 20 日 实现音乐播放器播放清单列表管理功能 3 月 21 日 4 月 3 日 实现音乐播放器应用程序管理功能 4 月 4 日 4 月 17 日 调试并改进程序 翻译资料 4 月 18 日 5 月 1 日 实现音乐播放器文件管理功能 5 月 1 日 5 月 15 日 完成毕业设计论文的撰写 指 导 教 师 签字 专业负责人 系主任 签字 北京联合大学 毕业设计 I 摘要摘要 Android 是基于 Linux 内核的操作系统 是 Google 公司在 2007 年 11 月 5 日公 布的手机操作系统 早期由 Google 开发 后由开放手持设备联盟 Open Handset Alliance 开发 2010 年末数据显示 仅正式推出两年的操作系统 Android 已经超越 称霸十年的诺基亚 Nokia Symbian OS 系统 可见 Android 的发展前景很好 但 是目前 android 手机应用软件数量较少 应用软件的需求量较大 本文主要是对 Android 系统上的一款音乐播放器应用程序的设计和实现进行讨论 本音乐播放器是 利用 java 语言和 Eclipse 编写工具等针对 android 手机操作系统的手机用户开发的 其集播放 暂停 停止 上一曲 下一曲 歌词同步显示等功能于一体 性能良好 在 Android 系统中独立运行 该播放器还拥有对手机文件浏览器的访问功能 歌曲 播放模式 歌词开闭状态以及推荐好友等友好性设置 本通过本次课题研究 进一 步学习和熟练 android 手机应用软件开发 扩展这一领域的知识 关键词 关键词 Android 操作系统操作系统 音乐播放器音乐播放器 北京联合大学 毕业设计 II Abstract Android is based on inner core of the Linux operating system The mobile phone operating system was released by Google Corporation in November 5 2007 developed by the Google developers in early periods and by Open Handset Alliance later At the end of 2010 data show that only two years of the official launch of Android operating system has transended Nokia Symbian OS system which is dominated in decade Obviously Android development is promising but now the quantity of android mobile phone application software are few and of the demand of application software are big The paper is mainly to discuss on a music player application design and accomplishment in the Android system The music player is written by using java language and the Eclipse tools for the development of android mobile operating system of mobile phone users The function is play pause stop previous song next song the lyrics display function good performance and it can operate independently in the Android system The player has access to the file browser on the mobile phone songs play pattern the lyrics open and close and recommended friends settings Through this research further study and skilled development of android mobile application software expansion of knowledge in this field Key words Android Operating System Music Player 北京联合大学 毕业设计 III 目 录 摘要 I Abstract II 目 录 III 引 言 1 1 背景及意义 2 1 1 本课题的目的和任务 2 1 2 本课题的背景 2 1 3 本课题的意义 2 1 4 研究现状 3 1 4 1 音乐播放器 3 1 4 2 Android 背景 3 1 4 3 Android SDK 开发平台 3 1 4 4 开发工具 Eclipse 4 1 5 本课题主要研究内容 4 1 6 论文的组织结构 5 2 需求分析 6 2 1 Android 调研情况 6 2 1 1 Android 简介 6 2 1 2Android 特性 6 2 1 3Android 基本框架 6 2 1 4Android 系统的四大组件 9 2 2 音乐播放器调研情况 11 2 3 系统可行性分析 11 2 3 1 社会可行性分析 11 2 3 2 经济可行性分析 11 2 3 3 技术可行性分析 11 2 4 本章小结 12 3 概要设计 13 3 1 项目概述 13 3 1 1 开发概况 13 3 1 2 目标实现的主要功能 13 3 1 3 软硬件资源 13 3 2 系统模块设计 13 北京联合大学 毕业设计 IV 3 3 功能模块设计 15 3 3 1 系统总体功能模块 15 3 3 2 音乐播放器的基本功能模块 15 3 3 3 播放清单列表管理功能模块 16 3 3 4 应用程序管理功能模块 16 3 3 5 扩展卡文件管理功能模块 16 3 4 数据库设计 16 3 4 1 数据库及字段属性设计 16 3 4 2 音乐播放器 E R 图 17 3 5 运行环境 17 3 6 本章小结 17 4 系统的详细设计与实现 19 4 1 系统的实现 19 4 1 1 音乐播放器基本功能模块的设计与实现 19 4 1 2 播放列表清单管理功能模块的设计与实现 24 4 1 3 应用程序管理功能模块 30 4 1 4 扩展卡文件管理功能模块 32 4 2 本章小结 37 5 系统测试 38 5 1 测试目的 38 5 2 测试原则 38 5 3 测试方法 39 5 3 1 静态测试 39 5 3 2 动态测试 39 5 4 测试过程 39 5 4 1 单元测试 39 5 4 2 集成测试 39 5 5 本系统采用的测试方法 40 5 6 测试用例 40 5 6 1 音乐播放器主界面功能测试 40 5 6 2 播放列表管理功能测试 41 5 6 3 程序管理功能测试 42 5 6 4 扩展卡文件管理功能测试 43 5 7 效果分析 44 北京联合大学 毕业设计 V 5 8 本章小结 44 结 论 45 致 谢 46 参考文献 47 北京联合大学 毕业设计 1 引引 言言 Android 是基于 Linux 内核的操作系统 是 Google 公司在 2007 年 11 月 5 日公 布的手机操作系统 早期由 Google 开发 后由开放手持设备联盟 Open Handset Alliance 开发 它采用了软件堆层 software stack 又名以软件叠层 的架构 主要分为三部分 低层 Linux 内核只提供基本功能 其他的应用软件则由各公司自 行开发 部分程序以 Java 编写 2010 年末数据显示 仅正式推出两年的操作系统 Android 已经超越称霸十年的诺基亚 Nokia Symbian OS 系统 采用 Android 系统 主要手机厂商包括宏达电 HTC 三星 SAMSUNG 摩托罗拉 MOTOROLA LG Sony Ericsson 等 使之跃居全球最受欢迎的智能手机平台 本文的音乐播放 器就是基于 Android 手机平台开发的播放器 音乐播放器是一种用于播放各种音乐文件的多媒体播放软件 它涵盖了各种音 乐格式的播放工具 比如 MP3 播放器 WMA 播放器 MP4 播放器等 它们不仅 界面美观 而且操作简单 目前市场上基于 android 平台上现有的音乐播放器有开心听 叮咚 QQ 音乐 播放器以及天天动听 目前这几款软件特点各不相同 QQ 音乐播放器是一款带有 精彩音乐推荐功能的播放器 叮咚音乐播放器一款带有独创卡拉 OK 歌词逐字同步 播放 全屏歌手背景头像功能的播放器 天天动听是一款具有支持歌词和歌曲图片下 载 皮肤随心更换 更有炫丽震撼的可视化效果 同时预置丰富的均衡器效果 支 持音效增强功能的播放器 而开心听是一款具有极佳的音质音效 支持随时随地播 放 搜索 下载歌曲 并且能自动匹配歌词和专辑图片 具备庞大的智能音乐曲库 结合动感相册 甩歌能等功能的音乐播放器 本文主要对 Android 系统上的一款音乐播放器应用程序的设计和实现进行讨论 该音乐播放器是使用 Java 语言 Android 开发工具包以及 Eclipse 编写工具进行设计 实现 其集播放 暂停 停止 上一曲 下一曲 歌词同步显示等功能于一体 性 能良好 在 Android 系统中独立运行 该播放器还拥有对手机文件浏览器的访问功 能 歌曲播放模式 歌词开闭状态以及推荐好友等友好性设置 本通过本次课题研 究 进一步学习和熟练 android 手机应用软件开发 扩展这一领域的知识 北京联合大学 毕业设计 2 1 背景及意义背景及意义 本章就毕业设计课题的背景及意义进行阐述 介绍课题的主要任务 研究背景 和课题意义 对本课题涉及的音乐播放器进行调研 了解分类 特点等知识 并对 Android 发展的国内外研究现状和音乐播放器的国内研究现状进行调研 规划本课题 的主要研究内容 并对本论文的组织结构进行了简单描述 1 1 本课题的目的和任务本课题的目的和任务 课题的主要任务是对 Android 系统上的一款音乐播放器应用程序的设计和实现 进行讨论 该音乐播放器是使用 java 语言 Android 开发工具包以及 Eclipse 编写工 具进行设计实现 其集播放 暂停 停止 上一曲 下一曲 歌词同步显示等功能 于一体 性能良好 在 Android 系统中独立运行 该播放器还拥有对手机文件浏览 器的访问功能 歌曲播放模式 歌词开闭状态以及推荐好友等友好性设置 1 2 本课题的背景本课题的背景 Android 是基于 Linux 内核的操作系统 是 Google 公司在 2007 年 11 月 5 日公 布的手机操作系统 早期由 Google 开发 后由开放手持设备联盟 Open Handset Alliance 开发 它采用了软件堆层 software stack 又名以软件叠层 的架构 主要分为三部分 低层 Linux 内核只提供基本功能 其他的应用软件则由各公司自 行开发 部分程序以 Java 编写 2010 年末数据显示 仅正式推出两年的操作系统 Android 已经超越称霸十年的诺基亚 Nokia Symbian OS 系统 采用 Android 系统 主要手机厂商包括宏达电 HTC 三星 SAMSUNG 摩托罗拉 MOTOROLA LG Sony Ericsson 等 使之跃居全球最受欢迎的智能手机平台 随着 android 手机操作系统用户数量越来越多 所占的市场份额越来越高 手机 应用软件需求数量逐渐增加 但是目前 android 手机应用软件数量较少 应用软件的 需求量较大 人性化的应用软件需求量较大 1 3 本课题的意义本课题的意义 本项目是一款基于 Android 手机平台的音乐播放器 使 Android 手机应有个性 的多媒体播放器 使手机显得更生动灵活化 与人们更为接近 让手机的主人随时 随地出于音乐视频的旋律之中 使人们的生活更加的多样化 也使设计者更加熟练 Android 手机应用开发技术 北京联合大学 毕业设计 3 1 4 研究现状研究现状 1 4 1 音乐播放器音乐播放器 音乐播放器是一种用于播放各种音乐文件的多媒体播放软件 它涵盖了各种音 乐格式的播放工具 比如 MP3 播放器 WMA 播放器 MP4 播放器等 它们不仅 界面美观 而且操作简单 目前市场上基于 android 平台上现有的音乐播放器有开心听 叮咚 QQ 音乐 播放器以及天天动听 目前这几款软件特点各不相同 QQ 音乐播放器是一款带有 精彩音乐推荐功能的播放器 叮咚音乐播放器一款带有独创卡拉 OK 歌词逐字同步 播放 全屏歌手背景头像功能的播放器 天天动听是一款具有支持歌词和歌曲图片下 载 皮肤随心更换 更有炫丽震撼的可视化效果 同时预置丰富的均衡器效果 支 持音效增强功能的播放器 而开心听是一款具有极佳的音质音效 支持随时随地播 放 搜索 下载歌曲 并且能自动匹配歌词和专辑图片 具备庞大的智能音乐曲库 结合动感相册 甩歌能等功能的音乐播放器 1 4 2 Android 背景背景 Android 是基于 Linux 内核的操作系统 是 Google 公司在 2007 年 11 月 5 日 公布的手机操作系统 早期由 Google 开发 后由开放手持设备联盟 Open Handset Alliance 开发 它采用了软件堆层 software stack 又名以软件叠层 的架构 主要分为三部分 低层 Linux 内核只提供基本功能 其他的应用软件则由各公司自 行开发 部分程序以 Java 编写 2010 年末数据显示 仅正式推出两年的操作系统 Android 已经超越称霸十年的诺基亚 Nokia Symbian OS 系统 采用 Android 系统 主要手机厂商包括宏达电 HTC 三星 SAMSUNG 摩托罗拉 MOTOROLA LG Sony Ericsson 等 使之跃居全球最受欢迎的智能手机平台 1 4 3 Android SDK 开发平台开发平台 Android 开发环境包括很多丰富的资源工具来协助开发Android 应用程序 让这些应用软件可以在 Android 的实际硬设备或 Android 虚拟设备上设计 调试 测试 打包盒安装应用程序 这些工具最重要的是Android 模拟器和提供 Eclipse 的外挂程序 Android 开发工具 ADT 1 Android 仿真器 Android 仿真器是一个以 QEMU 位基础的开发模拟工具 我可以使用它在 Android 开发环境上设计 调试和测试应用程序 2 Android 仿真器专用 SD 存储卡 北京联合大学 毕业设计 4 建立一个虚拟 SD 存储卡在主要内存上 让 Android 仿真器可以拥有一个 SD 存储卡 3 Android 调试监控系统 DDMS 调试监控系统 DDMS 整合在 Dalvik Dalvik 是 Android 平台定制化的虚拟 机 1 4 4 开发工具开发工具 Eclipse Eclipse 是著名的跨平台的自由集成开发环境 IDE 最初主要用来 Java 语言 开发 但是目前亦有人通过插件使其作为 C Python PHP 等其他语言的开发工 具 Eclipse 的本身只是一个框架平台 但是众多插件的支持 使得 Eclipse 拥有较 佳的灵活性 在 android 手机应用软件开发中 ADT 插件与 Eclipse 集成 提供了一些 工具来创建 测试和调试 android 应用程序 1 5 本课题主要研究内容本课题主要研究内容 本课题为应用性题目 课题的主要内容是对 Android 系统上的一款音乐播放器 应用程序的设计和实现进行讨论 该音乐播放器是使用 java 语言 Android 开发工 具包以及 Eclipse 编写工具进行设计实现 其集播放 暂停 停止 上一曲 下一曲 歌词同步显示等功能于一体 性能良好 在 Android 系统中独立运行 该播放器还 拥有对手机文件浏览器的访问功能 歌曲播放模式 歌词开闭状态以及推荐好友等 友好性设置 该课题主要研究步骤是调研目前市场上的音乐播放器和 Android 手机应用开发 技术 选取开发工具 实现基于 Android 平台的手机应用 音乐播放器的设计 重点研究的问题如下 1 音乐播放器的调研 本课题涉及的音乐播放器比较了市场上主流的音乐播 放器的特点 有其自己主要的特点 大部分音乐播放器过于华丽而功能友好性设置 较差 本课题的音乐播放器界面简洁 使用简单 友好性体验好 2 Android 手机应用开发技术的调研 本课题是设计并实现一款基于 Android 平台的手机音乐播放器 该音乐播放器是使用 Java 语言 Android 开发工具包以及 Eclipse 编写工具进行设计实现 因此 需要对 Android 手机应用开发技术深入调研 并学习 3 音乐播放器的设计与实现 其集播放 暂停 停止 上一曲 下一曲 歌词 同步显示等功能于一体 性能良好 在 Android 系统中独立运行 该播放器还拥有 对手机文件浏览器的访问功能 歌曲播放模式 歌词同步显示以及推荐好友等友好 性设置 北京联合大学 毕业设计 5 1 6 论文的组织结构论文的组织结构 本文在第二章是系统需求分析 介绍了 Android 手机应用软件开发和音乐播放 器的相关知识 对 Android 手机操作系统和音乐播放器等内容作了介绍 介绍了本 课题可行性分析 其中包括对本课题的功能的简要介绍 以及本系统在社会 经济 技术方面的可行性 第三章是概要设计 介绍了开发方案 包括开发平台 编写语言的选择等 并 且对本系统进行了概要设计 为以下的实施工作做好准备 同时 就每个模块的功 能进行了设计 共分为 4 个模块 第四章是详细设计 介绍了各功能模块的具体实现过程 并附有相应的关键算 法 代码 和各部分的运行结果截图 第五章介绍了系统的测试过程 对系统的测试方案 计划 测试用例 测试过 程等进行了介绍 并对测试结果进行了总结 北京联合大学 毕业设计 6 2 需求分析需求分析 2 1 Android 调研情况调研情况 2 1 1 Android 简介简介 Android 一词的本义指 机器人 同时也是 Google 于 2007 年 11 月 5 日宣布的 基于 Linux 平台的开源手机操作系统的名称 该平台由操作系统 中间件 用户界 面和应用软件组成 号称是首个为移动终端打造的真正开放和完整的移动软件 Android 是基于 Linux 内核的软件平台和操作系统 其 Logo 如图 2 1 所示 早 期由 Google 开发 在中国的注册商标名为 安致 后由开放手机联盟 Open Handset Allian 开发 图 2 1 Android Logo 2 1 2Android 特性特性 Android 系统有如下的极大特性 应用程序框架 支持组建的重用与替换 Dalvik 虚拟机 专门为移动设备作了优化 内部集成浏览器 该浏览器基于开源的 WEBKIT 引擎 优化的图形库 包括 2D 和 3D 图形库 3D 图形库基于 OpenGL ES SQLITE 用作结构化的数据存储 多媒体支持 包括常见的音频 视频和静态印象文件格式 如 MPEG4 H 264 MP3 AAC AMR JPG PNG GIF GSM 电话 依赖于硬件 蓝牙 3G andWiFi 依赖于硬件 照相机 GPS 指南针和加速计 依赖于硬件 丰富的开发环境 包括设备模拟器 调试工具 内存及性能分析图表 和 Eclipse 集成开发环境插件 北京联合大学 毕业设计 7 2 1 3Android 基本框架基本框架 Android 的系统架构和其操作系统一样 采用了分层的架构 从架构图看 android 分为四个层 从高层到低层分别是应用程序层 应用程序框架层 系统运行 库层和 linux 核心层 图 2 2Android 的基本框架图 1 应用程序 Android 会同一系列核心应用程序包一起发布 该应用程序包包括 email 客户端 SMS 短消息程序 日历 地图 浏览器 联系人管理程序等 所有的应用程序都是 使用 JAVA 语言编写的 2 应用程序框架 开发人员也可以完全访问核心应用程序所使用的 API 框架 该应用程序的架构 设计简化了组件的重用 任何一个应用程序都可以发布它的功能块并且任何其它的应 用程序都可以使用其所发布的功能块 不过得遵循框架的安全性限制 同样 该应 用程序重用机制也使用户可以方便的替换程序组件 隐藏在每个应用后面的是一系列的服务和系统 其中包括 丰富而又可扩展的视图 Views 可以用来构建应用程序 它包括列表 lists 北京联合大学 毕业设计 8 网格 grids 文本框 text boxes 按钮 buttons 甚至可嵌入的 web 浏览器 内容提供器 Content Providers 使得应用程序可以访问另一个应用程序的数据 如联系人数据库 或者共享它们自己的数据 资源管理器 Resource Manager 提供 非代码资源的访问 如本地字符串 图 形 和布局文件 layout files 通知管理器 Notification Manager 使得应用程序可以在状态栏中显示自定义 的提示信息 活动管理器 Activity Manager 用来管理应用程序生命周期并提供常用的导航 回退功能 有关更多的细节和怎样从头写一个应用程序 请参考 如何编写一个 Android 应用程序 3 系统运行库 1 程序库 Android 包含一些 C C 库 这些库能被 Android 系统中不同的组件使用 它 们通过 Android 应用程序框架为开发者提供服务 以下是一些核心库 系统 C 库 一个从 BSD 继承来的标准 C 系统函数库 libc 它是专门 为基于 embedded linux 的设备定制的 媒体库 基于 PacketVideo OpenCORE 该库支持多种常用的音频 视频格式 回放和录制 同时支持静态图像文件 编码格式包括 MPEG4 H 264 MP3 AAC AMR JPG PNG Surface Manager 对显示子系统的管理 并且为多个应用程序提 供了2D 和 3D 图层的无缝融合 LibWebCore 一个最新的 web 浏览器引擎用 支持 Android 浏览器和一个可 嵌入的 web 视图 SGL 底层的2D 图形引擎 3D libraries 基于 OpenGL ES 1 0 APIs 实现 该库可以使用硬件 3D 加速 如果 可用 或者使用高度优化的3D 软加速 FreeType 位图 bitmap 和矢量 vector 字体显示 SQLite 一个对于所有应用程序可用 功能强劲的轻型关系型数据库引擎 2 Android 运行库 Android 包括了一个核心库 该核心库提供了 JAVA 编程语言核心库的大多数 功能 每一个 Android 应用程序都在它自己的进程中运行 都拥有一个独立的 Dalvik 虚拟机实例 Dalvik 被设计成一个设备可以同时高效地运行多个虚拟系统 Dalvik 北京联合大学 毕业设计 9 虚拟机执行 dex 的 Dalvik 可执行文件 该格式文件针对小内存使用做了优化 同时 虚拟机是基于寄存器的 所有的类都经由 JAVA 编译器编译 然后通过 SDK 中 的 dx 工具转化成 dex 格式由虚拟机执行 Dalvik 虚拟机依赖于 linux 内核的一些功能 比如线程机制和底层内存管理机制 4 Linux 内核 Android 的核心系统服务依赖于 Linux 2 6 内核 如安全性 内存管理 进程 管理 网络协议栈和驱动模型 Linux 内核也同时作为硬件和软件栈之间的抽象 层 2 1 4Android 系统的四大组件系统的四大组件 1 Activity 一个 Activity 通常展现为一个可视化的用户界面 例如 一个 activity 可能展现 为一个用户可以选择的菜单项列表或者展现一些图片以及图片的标题 一个消息服 务应用程序可能包含一个显示联系人列表的 activity 一个编写信息的 activity 以及 其它一些查看信息和修改应用程序设置的 activity 虽然这些 activity 一起工作 共 同组成了一个应用程序 但每一个 activity 都是相对独立的 每一个 activity 都是 Activity android app Activity 的子类 一个应用程序可能只包含一个 activity 或者像上面提到的消息服务程序一样有 多个 activity 一个应用程序包含几个 activity 以及各个 activity 完成什么样的功能完 全取决于应用程序以及它的设计 通常每个应用程序都包含一个在应用程序启动后 第一个展现给用户的 activity 在当前展现给用户的 activity 中启动一个新的 activity 可以实现从一个 activity 转换到另外一个 activity 每个 activity 都会有一个用于绘制用户界面的窗口 通常这样一个窗口会填充整 个屏幕 当然这个窗口也可以比屏幕小并漂浮在其他窗口之上 activity 还可以使用 一些额外的窗口 例如一个要求用户响应的弹出式对话框 或者是当用户在屏幕上 选择一个条目后向用户展现一些重要信息的窗口 展示 activity 窗口的可视化内容区域是一些具有层次关系 很像数据结构中的树 的视图 而视图则是由类 View 的子类表示的 每个视图控制窗口中的一个矩形区 域 父视图包含一些子视图并管理子视图的布局 位于叶节点的视图直接控制并响 应用户的动作 因此视图就是 activity 与用户交互的接口 例如 一个显示图片的视 图 当用户单击的时候它可能会启动一个动作 Android 有许多开发人员可以直接使 用的视图 包括按钮 文本域 滚动条 菜单 复选框等 通过调用 Activity setContentView 方法来设置展现 activity 的窗口的视图 内容 北京联合大学 毕业设计 10 视图则是视图层次结构中的根节点视图 2 Service service 没有用户界面 但它会在后台一直运行 例如 service 可能在用户处理 其它事情的时候播放背景音乐 或者从网络上获取数据 或者执行一些运算 并把 运算结构提供给 activity 展示给用户 每个 service 都扩展自类 Serivce 多媒体播放器播放音乐是应用 service 的一个非常好的例子 多媒体播放器程序 可能含有一个或多个 activity 用户通过这些 activity 选择并播放音乐 然而 音乐 回放并不需要一个 activity 来处理 因为用户可能会希望音乐一直播放下去 即使退 出了播放器去执行其它程序 为了让音乐一直播放 多媒体播放器 activity 可能会启 动一个 service 在后台播放音乐 Android 系统会使音乐回放 service 一直运行 即使 在启动这个 service 的 activity 退出之后 应用程序可以连接到一个正在运行中的 service 当连接到一个 service 后 可以 使用这个 service 向外暴露的接口与这个 service 进行通信 对于上面提到的播放音 乐的 service 这个接口可能允许用户暂停 停止或重新播放音乐 与 activity 以及其它组件一样 service 同样运行在应用程序进程的主线程中 所 以它们不能阻塞其它组件或用户界面 通常需要为这些 service 派生一个线程执行耗 时的任务 3 Broadcase receiver broadcase receiver 不执行任何任务 仅仅是接受并响应广播通知的一类组件 大部分广播通知是由系统产生的 例如改变时区 电池电量低 用户选择了一幅图 片或者用户改变了语言首选项 应用程序同样也可以发送广播通知 例如通知其他 应用程序某些数据已经被下载到设备上可以使用 一个应用程序可以包含任意数量的 boradcase reveiver 来响应它认为很重要的通 知 所有的 broadcast receiver 都扩展自类 BroadcastReceiver broadcast receiver 不包含任何用户界面 然而它们可以启动一个 activity 以响应 接受到的信息 或者通过 NotificationManager 通知用户 可以通过多种方式使用户 知道有新的通知产生 闪动背景灯 震动设备 发出声音等等 通常程序会在状态 栏上放置一个持久的图标 用户可以打开这个图标并读取通知信息 4 Content provider 应用程序可以通过 content provider 访问其它应用程序的一些私有数据 这是 Android 提供的一种标准的共享数据的机制 共享的数据可以是存储在文件系统中 SQLite 数据库中或其它的一些媒体中 content provider 扩展自 ContentProvider 类 通过实现此类的一组标准的接口可以使其它应用程序存取由它控制的数据 然而应 用程序并不会直接调用 ContentProvider 中的方法 而是通过类 北京联合大学 毕业设计 11 ContentResolver ContentResolver 能够与任何一个 ContentProvider 通信 它与 ContentProvider 合作管理进程间的通信 任何时候当 Android 系统收到一个需要某个组件进行处理的请求的时候 Android 会确保处理此请求的组件的宿主进程是否已经在运行 如果没有 则立即启 动这个进程 当请求的组件的宿主进程已经在运行 它会继续查看请求的组件是否 可以使用 如果不能立即使用 它会创建一个请求的组件的实例来响应请求 2 2 音乐播放器调研情况音乐播放器调研情况 音乐播放器是一种用于播放各种音乐文件的多媒体播放软件 它涵盖了各种音 乐格式的播放工具 比如 MP3 播放器 WMA 播放器 MP4 播放器等 它们不仅 界面美观 而且操作简单 目前市场上基于 android 平台上现有的音乐播放器有开心听 叮咚 QQ 音乐 播放器以及天天动听 目前这几款软件特点各不相同 QQ 音乐播放器是一款带有 精彩音乐推荐功能的播放器 叮咚音乐播放器一款带有独创卡拉 OK 歌词逐字同步 播放 全屏歌手背景头像功能的播放器 天天动听是一款具有支持歌词和歌曲图片下 载 皮肤随心更换 更有炫丽震撼的可视化效果 同时预置丰富的均衡器效果 支 持音效增强功能的播放器 而开心听是一款具有极佳的音质音效 支持随时随地播 放 搜索 下载歌曲 并且能自动匹配歌词和专辑图片 具备庞大的智能音乐曲库 结合动感相册 甩歌能等功能的音乐播放器 2 3 系统可行性分析系统可行性分析 2 3 1 社会可行性分析社会可行性分析 当今社会生活紧张 而欣赏音乐是其中最好的舒缓压力的方式之一 本项目是 一款基于 Android 手机平台的音乐播放器 使 Android 手机应有个性的多媒体播放 器 使手机显得更生动灵活化 与人们更为接近 让手机的主人随时随地出于音乐 视频的旋律之中 使人们的生活更加的多样化 也使设计者更加熟练 Android 手机 应用开发技术 2 3 2 经济可行性分析经济可行性分析 本课题来自 3G 乐成培训基地 由于 Android SDK 和 Eclipse 是开源软件 完全 免费 市场上的音乐播放器基本上免费或者收费 15 元 月 因此调研费用及开发费 用较低 经济上是可行的 北京联合大学 毕业设计 12 2 3 3 技术可行性分析技术可行性分析 本系统是基于 Android 平台的手机应用开发 音乐播放器 主要使用 Java 语言 Android 开发工具包以及 Eclipse 编写工具进行设计实现 在开发过程中 不断的修 正和改正 直至开发出令使用者满意的系统 2 4 本章小结本章小结 本章主要介绍了三方面的内容 一方面是有关 Android 的知识 包括 Android 简介 Android 特性 Android 基本框架和 Android 系统的四大组件等 为音乐播放 器的设计与实现奠定了理论基础 一方面是有关音乐播放器的调研 了解了音乐播 放器的基本功能和友好性设置提供了设计基础 此外是本系统的社会可行性 经济 可行性 技术可行性研究 为以下工作奠定理论基础 做好需求分析 北京联合大学 毕业设计 13 3 概要设计概要设计 3 1 项目概述项目概述 3 1 1 开发概况开发概况 该音乐播放器使用 java 语言 Android 开发工具包以及 Eclipse 编写工具进行设 计实现 其集播放 暂停 停止 上一曲 下一曲 歌词同步显示等功能于一体 性能良好 在 Android 系统中独立运行 该播放器还拥有对手机文件浏览器的访问 功能 歌曲播放模式 歌词开闭状态以及推荐好友等友好性设置 3 1 2 目标实现的主要功能目标实现的主要功能 1 音乐播放器的基本功能 其中包括播放 暂停 上一曲 下一曲 快进 后退 音量控制 进入播放列表等功能 2 播放清单列表管理功能 其中包括添加播放列表 添加音乐 移除音乐 进入扩展卡等功能 3 应用程序管理功能 其中包括歌词显示和播放模式设置等功能 4 扩展卡文件管理功能 其中包括添加 全部添加等功能 3 1 3 软硬件资源软硬件资源 1 硬件配置要求 奔腾 4 处理器以上微机或笔记本电脑 内存要求大于 1GB 安装所需硬盘容量最少 4GB 2 软件环境要求 Windows XP 或更高版本的操作系统 Android SDK 2 2 及 其以上版本 Eclipse 3 5 及其以上版本 ADT 0 9 5 及其以上版本 3 2 系统模块设计系统模块设计 本系统具体功能 共包含 4 个模块 分别为 音乐播放器的基本功能 播放清 单列表管理功能 应用程序管理功能 扩展卡文件管理功能 功能模块图 如下图 所示 北京联合大学 毕业设计 14 音乐播放器 音乐播放器主界面 播 放 列 表 管 理 应 用 程 序 管 理 扩 展 卡 文 件 管 理 图 3 1 音乐播放器功能 音乐播放器主界面 播放 暂停 上一曲 下一曲 快进 快退 进入 播放 列表 进入 扩展 卡文 件管 理 图 3 2 音乐播放器主界面功能 播放列表管理 歌曲详细 添加歌曲 全部移除 分类管理 图 3 3 播放列表管理功能 北京联合大学 毕业设计 15 应用程序管理 顺 序 播 放 列 表 循 环 随 机 播 放 图 3 4 应用程序管理功能 扩展卡文件管理 添加 到播 放列 表 播放 选中 歌曲 全部选中 全部取消 图 3 5 扩展卡文件管理功能 3 3 功能模块设计功能模块设计 3 3 1 系统总体功能模块系统总体功能模块 该音乐播放器包括音乐播放器的基本功能模块 播放清单列表管理功能模块 应用程序管理功能模块 扩展卡文件管理功能模块 3 3 2 音乐播放器的基本功能模块音乐播放器的基本功能模块 播放 播放列表中当前的歌曲 暂停 暂停当前播放的歌曲 快进 快退 快进或者快退 上一首 下一首 播放器列表中的上一首 或下一首 歌曲 歌词显示 同步显示歌词 歌词与音乐播放保持同步 北京联合大学 毕业设计 16 进入播放清单 打开播放清单 进入扩展卡文件管理 打开扩展卡文件管理 3 3 3 播放清单列表管理功能模块播放清单列表管理功能模块 歌曲详细 显示列表中当前选中歌曲的详细信息 包含曲目编号 文件大小 歌曲名字 专辑等信息 增加 增加 SD 卡中所要添加的音乐歌曲 全部移除 移除当前列表中的所有音乐歌曲 分类管理 分类管理列表中的文件 3 3 4 应用程序管理功能模块应用程序管理功能模块 播放模式 播放模式分为随机播放 顺序播放 单曲循环三种模式 3 3 5 扩展卡文件管理功能模块扩展卡文件管理功能模块 本模块的主要功能是管理扩展卡 Sdcard 目录下的音乐文件 包含添加 全部 添加等 3 4 数据库设计数据库设计 数据库 顾名思义 是存放数据的仓库 只不过这个仓库是在计算机存储设备 上 而且数据是按一定的格式存放的 数据库中的数据按一定数据模型组织 描述 和存储 具有较小的重复度 较高的数据独立性和易扩展性 并且可以在一定范围 内的各种用户共享 在设计数据库的软件开发中 需要根据有待解决的问题性质 规模 以及所采用的前端程序创建工具等 做出合适的数据类型选择 3 4 1 数据库及字段属性设计数据库及字段属性设计 Filelist 主要是保存列表编号 名字 路径以及保存时间 列表字段说明 列表序号 Id 列表名字 FileName 保存时间 Stime 如表 3 1 所示 表表 3 1 列表详细信息列表详细信息 属性数据类型允许空主键备注 Id INTEGER NOT NULL Primary Key 列表序号 FileNameTEXT NOT NULL 列表名称 Stime DATETIME 存放时间 北京联合大学 毕业设计 17 Android 自带一个 MediaStore 封闭类 专门来存储媒体信息 通过 Uri EXTERNAL CONTENT URL 来访问 SDcard 中的歌曲详细信息 歌曲存储详细信 息如表 3 2 所示 表表 3 2 歌曲存储详细信息歌曲存储详细信息 属性数据类型允许空主键备注 IDINTEGER NOT NULL Primary Key 歌曲编号 NameTEXT NOT NULL 歌曲名称 ARTISTTEXT 艺术家 ALBUMTEXT专辑 MusicPathTEXTNOT NULL 歌曲路径 3 4 2 音乐播放器音乐播放器 E R 图图 音乐播放器 E R 图 如图 3 6 所示 3 5 运行环境运行环境 开发环境 Windows 7 开发工具 Eclipse 3 5 2 Android SDK 2 2 开发语言 Java 3 6 本章小结本章小结 本章论述了开发方案 包括开发平台 编写语言的选择等 并且对本系统进行 了概要设计 为以下的实施工作做好准备 同时 就每个模块的功能进行了设计 共分为 4 个模块 同时对每一个模块进行了功能划分 北京联合大学 毕业设计 18 歌曲名称 存储路径ID 专辑艺术家 歌曲 组成 播放列表列表名字列表编号 组成 音乐播放器 N 1 1 列表数目 M 图 3 6 音乐播放器 E R 图 北京联合大学 毕业设计 19 4 系统的详细设计与实现系统的详细设计与实现 4 1 系统的实现系统的实现 4 1 1 音乐播放器基本功能模块的设计与实现音乐播放器基本功能模块的设计与实现 音乐播放器基本功能模块包含播放 暂停 上一曲 下一曲 进度条控制 时 间显示等功能 其界面设计 如图 4 1 所示 图 4 1 音乐播放器主界面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论