1、 基 于 Android 平 台 的 音 乐 播 放 器The Development of Mobile Music PlayerBased on Android platform system学 生 学 号 : 学 生 姓 名 : 专 业 班 级 : 指 导 教 师 : 职 称 : 起 止 日 期 : Technology- I -摘 要当 今 社 会 的 生 活 节 奏 越 来 越 快 , 随 着 硬 件 移 动 设 备 的 越 来 越 先 进 , 人 们 对 移 动 设 备的 要 求 也 越 来 越 高 , 从 以 前 的 追 求 技 术 到 现 在 的 追 求 视 觉 , 因 此 ,
2、 也 逐 步 的 提 高 了 对 系统 的 要 求 , 本 文 主 要 是 对 Android 系 统 上 音 乐 播 放 器 应 用 程 序 的 设 计 与 实 现 进 行 讨 论 。 本论 文 的 音 乐 播 放 器 采 用 了 Android 开 源 系 统 技 术 , 利 用 Java 语 言 和 Eclipse 编 辑 工 具 对 播放 器 进 行 编 写 , 同 时 给 出 了 详 细 的 系 统 设 计 过 程 、 部 分 界 面 图 及 主 要 功 能 运 行 流 程 图 ,本 文 还 对 开 发 过 程 中 遇 到 的 问 题 和 解 决 方 法 进 行 了 详 细 的 讨
3、论 , 该 音 乐 播 放 器 集 播 放 、暂 停 、 停 止 、 上 一 首 、 下 一 首 、 音 量 调 节 、 歌 词 显 示 等 功 能 于 一 体 , 性 能 良 好 , 在Android 系 统 中 能 独 立 运 行 。 该 播 放 器 还 拥 有 对 手 机 文 件 浏 览 器 的 访 问 功 能 、 歌 曲 播 放 模式 、 以 及 歌 词 开 闭 状 态 的 友 好 设 置 。关 键 词 : Android; 开 源 系 统 ; 音 乐 播 放 器基 于 Android 平 台 的 音 乐 播 放 器 开 发 与 设 计- II -AbstractThe pace of
4、 life in todays society, with more advanced hardware mobile devices for mobile devices, people more and more is also high, the requirements from the previous pursuit to pursue the visual technology, therefore, also gradually improve the system requirements, the paper mainly is to take on a music pla
5、yer from system design and realization of the application is discussed. Take the system is an open source, it is based on the operating system, use the Linux music player of the Android open-source system technology, using the Java language and editing tools for players to Eclipse. Presents the deta
6、iled design process, the part of the system and the main functions of operation interface diagram of height, this paper also flow process problems and solving methods are discussed in detail, and the music player episode, pause, stop and a, next, volume adjustment, lyrics display functions, such as
7、performance is good, can operate independently in the Android system. This player has access to the file browser phone functions, songs and played pattern, open and close condition of friendly words. Key Words: Android; open source system; music player- III -目 录摘 要 IAbstract II第 1 章 绪 论 11.1 选 题 的 目
8、 的 及 意 义 11.2 本 课 题 涉 及 内 容 的 研 究 现 状 11.3 本 系 统 要 实 现 的 基 本 目 标 和 研 究 内 容 2第 2 章 系 统 的 可 行 性 研 究 32.1 经 济 上 的 可 行 性 32.2 技 术 上 的 可 行 性 32.3 操 作 上 的 可 行 性 3第 3 章 需 求 分 析 43.1 软 件 目 标 43.2 功 能 需 求 43.3 系 统 界 面 需 求 43.4 系 统 性 能 需 求 4第 4 章 系 统 的 总 体 设 计 54.1 设 计 思 想 54.2 系 统 功 能 结 构 图 54.3 开 发 语 言 简 介
9、64.3.1 Android 简 介 64.3.2 Android Features 特 性 74.3.3 Android 基 本 框 架 ( Android Architecture) 74.4.4 Android 系 统 的 四 大 组 件 94.4.5 SQLite 简 介 104.4 搭 建 Android 开 发 环 境 114.5 Android 音 乐 播 放 器 的 工 程 134.5.1 Android 项 目 134.5.2 Android 工 程 程 序 结 构 144.5.3 AndroidManifest.xml 文 件 15第 5 章 数 据 库 的 设 计 185
10、.1 数 据 库 表 的 介 绍 18基 于 Android 平 台 的 音 乐 播 放 器 开 发 与 设 计- IV -5.1.1 用 户 注 册 表 185.1.2 完 成 下 载 的 音 乐 表 195.1.3 播 放 清 单 表 195.2 数 据 库 连 接 19第 6 章 系 统 详 细 设 计 216.1 欢 迎 界 面 模 块 详 细 设 计 216.2 播 放 列 表 模 块 详 细 设 计 226.3 歌 曲 播 放 模 块 详 细 设 计 256.4 本 地 音 乐 模 块 详 细 设 计 276.5 会 员 登 录 模 块 详 细 设 计 296.6 会 员 注 册
11、模 块 详 细 设 计 326.7 音 乐 下 载 模 块 详 细 设 计 346.8 设 置 皮 肤 模 块 详 细 设 计 36第 7 章 系 统 测 试 387.1 登 录 功 能 测 试 387.2 图 片 上 传 功 能 测 试 397.3 文 件 上 传 功 能 测 试 39结 论 40参 考 文 献 41致 谢 42- 1 -第 1 章 绪 论1.1 选 题 的 目 的 及 意 义Android 是 谷 歌 于 2007 年 公 布 的 开 放 式 源 代 码 手 机 系 统 , 它 的 开 放 性 就 优 于 其 它封 闭 式 的 手 机 系 统 , 因 此 , 任 何 人 都
12、 可 能 根 据 自 己 的 喜 好 将 手 机 系 统 中 的 所 有 功 能 重新 编 写 。 这 使 得 越 来 越 多 的 人 关 注 这 个 操 作 系 统 。 本 次 作 品 音 乐 播 放 器 就 是 基 于Android 平 台 的 。随 着 计 算 机 的 广 泛 运 用 , 手 机 市 场 的 迅 速 发 展 , 各 种 音 频 视 频 资 源 也 在 网 上 广 为流 传 , 这 些 资 源 看 似 平 常 , 但 已 经 渐 渐 成 为 人 们 生 活 中 必 不 可 少 的 一 部 分 了 。 于 是 各种 手 机 播 放 器 也 紧 跟 着 发 展 起 来 , 但
13、是 很 多 播 放 器 一 味 追 求 外 观 花 哨 , 功 能 庞 大 , 对用 户 的 手 机 造 成 了 很 多 资 源 浪 费 , 比 如 CPU, 内 存 等 的 占 用 率 过 高 , 在 用 户 需 要 多 任务 操 作 时 , 受 到 了 不 小 的 影 响 , 带 来 了 许 多 不 便 , 而 对 于 大 多 数 普 通 用 户 , 许 多 功 能用 不 上 , 形 同 虚 设 。 针 对 以 上 各 种 弊 端 , 选 择 了 开 发 多 语 种 的 音 频 视 频 播 放 器 , 将 各种 性 能 优 化 , 继 承 播 放 器 的 常 用 功 能 , 满 足 一 般
14、 用 户 ( 如 听 歌 , 看 电 影 ) 的 需 求 , 除了 能 播 放 常 见 格 式 的 语 音 视 频 文 件 , 高 级 功 能 : 还 能 播 放 RMVB 格 式 的 视 频 文 件 。 此外 , 还 能 支 持 中 文 、 英 文 等 语 言 界 面 。要 研 究 了 各 种 市 场 上 流 行 的 手 机 播 放 器 , 了 解 它 们 各 自 的 插 件 及 编 码 方 式 , 还 有各 种 播 放 器 播 放 的 特 别 格 式 文 件 , 分 析 各 种 编 码 的 优 缺 点 以 及 各 种 播 放 器 本 身 存 在 的缺 陷 和 特 点 , 编 写 出 功 能
15、 实 用 , 使 用 方 便 快 捷 的 播 放 器 。 目 前 已 经 实 现 的 功 能 有 能 播放 常 见 音 频 文 件 的 功 能 , 如 MP3, WAV 等 , 拥 有 播 放 菜 单 , 能 选 择 播 放 清 单 , 具 备一 般 播 放 器 的 功 能 , 如 快 进 , 快 退 , 音 量 调 节 等 。 播 放 模 式 也 比 较 完 善 , 有 单 曲 , 顺序 , 循 环 , 随 机 播 放 等 模 式 。1.2 本 课 题 涉 及 内 容 的 研 究 现 状Android 一 词 的 本 义 指 “机 器 人 ”, 同 时 也 是 Google 于 2007 年
16、 11 月 5 日 宣 布 的基 于 Linux 平 台 的 开 源 手 机 操 作 系 统 的 名 称 , 该 平 台 由 操 作 系 统 、 中 间 件 、 用 户 界 面和 应 用 软 件 组 成 , 号 称 是 首 个 为 移 动 终 端 打 造 的 真 正 开 放 和 完 整 的 移 动 软 件 。Android 是 基 于 Linux 内 核 的 软 件 平 台 和 操 作 系 统 , 早 期 由 Google 开 发 ( 在 华 注 册商 标 名 为 “安 致 ”) , 后 由 开 放 手 机 联 盟 ( Open Handset Alliance) 开 发 。 它 采 用 了
17、软件 堆 层 ( software stack, 又 名 以 软 件 叠 层 ) 的 架 构 , 主 要 分 为 三 部 分 。 低 层 以 Linux 内核 工 作 为 基 础 , 只 提 供 基 本 功 能 ; 其 他 的 应 用 软 件 则 由 各 公 司 自 行 开 发 , 以 Java 作 为编 写 程 序 的 一 部 分 。 另 外 , 为 了 推 广 此 技 术 , Google 和 其 它 几 十 个 手 机 公 司 建 立 了 开基 于 Android 平 台 的 音 乐 播 放 器 开 发 与 设 计- 2 -放 手 机 联 盟 。 Android 在 未 公 开 之 前
18、常 被 传 闻 为 Google 电 话 或 gPhone。 大 多 传 闻 认 为Google 开 发 的 是 自 己 的 手 机 电 话 产 品 , 而 不 是 一 套 软 件 平 台 。 到 了 2010 年 1 月 ,Google 开 始 发 表 自 家 品 牌 手 机 电 话 的 Nexus One。 目 前 最 新 SDK 版 本 为 Android 4.0.3。1.3 本 系 统 要 实 现 的 基 本 目 标 和 研 究 内 容本 文 要 实 现 的 基 本 目 标 和 主 要 研 究 内 容 有 以 下 几 个 方 面 :( 1) 音 乐 的 播 放 ,包 括 上 一 首 、
19、 下 一 首 、 暂 停 、 进 度 条 的 更 新 和 控 制 。( 2) 本 地 音 乐 的 管 理 ,自 动 扫 描 SD 卡 的 音 乐 ,在 列 表 显 示 30 秒 以 上 的 音 频 文 件 。( 3) 会 员 特 权 ,包 括 在 线 音 乐 列 表 、 下 载 列 表 、 背 景 皮 肤 的 更 新 。- 3 -第 2 章 系 统 的 可 行 性 研 究当 今 社 会 的 生 活 节 奏 越 来 越 快 , 人 们 对 手 机 的 要 求 也 越 来 越 高 , 由 于 手 机 市 场 发展 迅 速 , 是 的 手 机 操 作 系 统 也 出 现 了 不 同 各 类 , 现
20、在 的 市 场 主 要 有 三 个 手 机 操 作 系 统 ,Windows mobile,symbian,以 及 谷 歌 的 Android 操 作 系 统 , 其 中 占 有 开 发 源 代 码 优 势 的Android 系 统 有 最 大 的 发 展 前 景 。 那 么 能 否 在 手 机 上 拥 有 自 己 编 写 的 个 性 音 乐 播 放 器呢 ? 能 的 , 谷 歌 Android 系 统 就 能 做 到 。 本 文 的 音 乐 播 放 器 就 是 基 于 谷 歌 Android 手 机平 台 的 播 放 器 。2.1 经 济 上 的 可 行 性Android 是 Google
21、历 经 数 年 和 投 资 数 亿 美 元 开 发 出 来 的 智 能 手 机 系 统 , 是 基 于 Linux 内 核 的 操 作 系 统 , 是 Google 公 司 在 2007 年 11 月 5 日 公 布 的 手 机 操 作 系 统 。随 着 各 大 移 动 终 端 生 产 商 大 力 开 发 和 生 产 基 于 Android 的 移 动 智 能 设 备 , Android 迅 速得 到 业 界 和 社 会 的 认 可 , 并 成 为 整 个 产 业 的 热 点 , 基 于 Android 平 台 的 各 类 人 才 逐 渐成 为 各 大 企 业 竞 相 争 夺 的 焦 点 。
22、而 且 Android 是 一 个 开 放 的 系 统 , 不 管 是 企 业 还 是 个人 都 可 以 参 与 来 表 达 自 己 的 创 意 和 想 法 。2.2 技 术 上 的 可 行 性Google 发 起 了 围 绕 Android 的 组 织 开 放 手 机 联 盟 , 其 英 文 全 称 为 “Open Handset Alliance”。 它 采 用 了 软 件 堆 层 ( software stack, 又 名 以 软 件 叠 层 ) 的 架 构 , 主要 分 为 三 部 分 。 底 层 Linux 内 核 只 提 供 基 本 功 能 ; 其 他 的 应 用 软 件 则 由
23、各 公 司 自 行 开发 , 部 分 程 序 以 Java 编 写 。 2.3 操 作 上 的 可 行 性本 系 统 采 用 Android 框 架 , 可 以 在 eclipse 中 安 装 Android 开 发 插 件 ,使 用 Android 模拟 器 也 可 以 使 用 任 意 Android 终 端 。 模 拟 器 和 真 正 的 Android 手 机 没 有 太 大 区 别 ,人 们 对手 机 操 作 早 已 熟 悉 。综 合 以 上 三 方 面 , 该 系 统 具 有 很 高 的 开 发 可 行 性 , 无 论 是 从 技 术 上 经 济 上 还 是 操作 上 。 故 此 ,
24、 可 以 设 计 该 系 统 流 程 图 , 建 立 数 据 字 典 。基 于 Android 平 台 的 音 乐 播 放 器 开 发 与 设 计- 4 -第 3 章 需 求 分 析软 件 需 求 分 析 工 作 是 软 件 生 存 期 中 重 要 的 一 步 , 也 是 决 定 性 的 一 步 。 软 件 需 求 分析 是 一 个 不 断 认 识 和 逐 步 细 化 的 过 程 , 该 过 程 将 软 件 计 划 阶 段 所 确 定 的 软 件 范 围 逐 步细 化 到 可 详 细 定 义 的 程 度 。 需 求 分 析 还 是 软 件 开 发 的 基 础 , 假 定 在 该 阶 段 发 现
25、 一 个 错误 , 解 决 它 需 要 用 一 小 时 的 时 间 , 到 设 计 、 编 程 、 测 试 和 维 护 阶 段 解 决 , 则 要 花 几 倍 甚至 更 多 的 时 间 。 因 此 对 于 复 杂 系 统 而 言 , 首 先 要 进 行 需 求 分 析 。 开 发 人 员 应 该 对 用 户 的要 求 及 现 实 环 境 进 行 调 查 和 了 解 。3.1 软 件 目 标本 系 统 属 于 用 户 常 用 的 音 乐 播 放 器 。 可 以 方 便 用 户 平 时 对 音 乐 文 件 的 操 作 。 本 系 统应 达 到 以 下 目 标 : ( 1) 软 件 采 用 人 机
26、交 互 的 方 式 , 界 面 美 观 友 好 , 操 作 灵 活 、 方 便 、 富 有 个 性 化 。( 2) 能 够 对 音 乐 文 件 进 行 有 效 的 管 理 。( 3) 系 统 应 最 大 限 度 地 实 现 易 维 护 性 和 易 操 作 性 。3.2 功 能 需 求功 能 需 求 定 义 了 开 发 人 员 必 须 实 现 的 软 件 功 能 , 使 得 用 户 能 完 成 他 们 的 任 务 , 从而 满 足 了 用 户 的 业 务 需 求 。 用 户 需 求 文 档 描 述 了 用 户 使 用 产 品 必 须 要 完 成 的 任 务 。 针 对音 乐 播 放 器 分 别
27、对 音 乐 播 放 、 在 线 音 乐 播 放 及 会 员 特 权 的 换 肤 等 功 能 进 行 详 细 的 调 研 和分 析 , 总 结 出 如 下 的 用 户 需 求 信 息 。3.3 系 统 界 面 需 求播 放 器 界 面 要 求 布 局 合 理 , 颜 色 舒 适 , 控 制 按 钮 友 好 , 要 求 整 体 有 一 个 主 要 的 元素 标 准 , 统 一 的 主 题 思 想 。3.4 系 统 性 能 需 求根 据 Android 手 机 系 统 要 求 无 响 应 时 间 为 5 秒 , 所 以 就 有 如 下 性 能 要 求 :1) 当 要 求 歌 曲 播 放 时 , 程
28、序 响 应 时 间 最 长 不 能 超 过 5 秒2) 当 要 求 歌 曲 暂 停 时 , 程 序 响 应 时 间 最 长 不 能 超 过 5 秒3) 当 要 求 歌 曲 上 /下 一 首 时 , 程 序 响 应 时 间 最 长 不 能 超 过 5 秒- 5 -第 4 章 系 统 的 总 体 设 计软 件 功 能 设 计 是 使 整 个 软 件 能 基 本 实 现 音 乐 的 播 放 、 上 一 首 、 下 一 首 、 暂 停 等 功 能 ,能 让 用 户 通 过 本 软 件 欣 赏 音 乐 。 在 线 音 乐 浏 览 和 下 载 , 背 景 皮 肤 的 切 换 等 功 能 更 好 的增 强
29、用 户 体 验 。4.1 设 计 思 想( 1) 将 系 统 分 成 几 个 相 对 独 立 的 模 块 。( 2) 分 层 的 模 块 化 程 序 设 计 思 想 , 整 个 系 统 采 用 模 块 化 结 构 设 计 。 作 为 应 用 程序 有 较 强 的 可 操 作 性 和 扩 展 性 。( 3) 合 理 的 数 据 流 设 计 , 在 应 用 系 统 设 计 中 , 相 对 独 立 的 模 块 间 以 数 据 流 相 互连 接 , 使 各 模 块 间 的 耦 合 性 较 低 , 方 便 系 统 运 行 , 提 高 系 统 安 全 性 。4.2 系 统 功 能 结 构 图根 据 上 述
30、 需 求 分 析 , 本 Android 版 音 乐 播 放 器 可 分 为 一 下 几 个 模 块 : 播放器基本功能如图 4-1 所示:图 4-1 播放器基本功能图基 于 Android 平 台 的 音 乐 播 放 器 开 发 与 设 计- 6 -播 放 清 单 列 表 如 图 4-2 所 示 :图 4-2 播 放 器 清 单 列 表 图从 图 中 看 出 播 放 列 表 功 能 的 参 与 者 依 然 是 用 户 , 这 表 达 了 客 户 体 验 的 要 求 , 当 用户 选 中 列 表 中 的 一 首 歌 时 , 会 有 一 个 列 表 选 项 , 具 备 播 放 、 移 除 功 能
31、 。4.3 开 发 语 言 简 介4.3.1 Android 简 介Android 一 词 的 本 义 指 “机 器 人 ”, 同 时 也 是 Google 于 2007 年 11 月 5 日 宣 布 的基 于 Linux 平 台 的 开 源 手 机 操 作 系 统 的 名 称 , 该 平 台 由 操 作 系 统 、 中 间 件 、 用 户 界 面和 应 用 软 件 组 成 , 号 称 是 首 个 为 移 动 终 端 打 造 的 真 正 开 放 和 完 整 的 移 动 软 件 。Android 是 基 于 Linux 内 核 的 软 件 平 台 和 操 作 系 统 , 早 期 由 Google 开 发 ( 在 华 注 册商 标 名 为 “安 致 ”) , 后 由 开 放 手 机 联 盟 ( Open Handset Alliance) 开 发 。 它 采 用 了 软件 堆 层 ( software stack, 又 名 以 软 件 叠