【Android论文栏目提醒】:以下是网学会员为您推荐的Android论文-基于Android的YOBO在线音乐播放器 - 期刊论文,希望本篇文章对您学习有所帮助。
第 11卷 第 11期 2011年 4月 科 学 技 术 与 工 程 V o l 11 N o 11 A pr 20111671 1815 2011 11 2506 05 Sc ience T echno logy and Eng inee ring 2011 Sci T ech Engng 基于
Android的 YOBO 在线音乐播放器 王秀芳 杨 阳 东北石油大学 电气信息工程学院 大庆 163318摘 要 根 据市 场需 求 为 了满 足消 费者 能在 自己 的 手 机上 在 线 听 歌 又 不 消 费 太多 的 流 量 使 用 A ndro id手 机 操 作 系 架统 开发 了一 款 Y OBO 在线 音乐 播放 器 。
重点 阐述 了系 统使 用 的关 键 技术 、 构 设计 以 及 播 放器 核 心 功 能的 实 现 结 果。
语 用 我 我利 用 Java 言、 L 语 言及 YO BO A P I技术 设计 并 实 现的 功 能 有: 用户 授 权、 户个 人 信 息 展示 、 的 音乐 盒 、 的 音 XM乐 电台 及歌 曲搜 索五 部分 功能 并给 出了 部分 运行 效果 图。
从 而使 人 们利 用 手 机实 现 在 线 听歌 有 效 地 突破 了 在 线 听歌 的空 间限 制。
关键词 A ndro id YOBO AP I 在线音乐播放器 Java中图法分类号 T P311 54 文献标志码 A 随着智能手机软件的快速发展 大多数人都有了在手机上听自己喜欢的歌曲的习惯 通常的做法 1 在线音乐播放器的总体设计是用蓝牙或者数据线等无线设备将 PC 上的歌曲复制到自己的手机中 等到听烦了再复制一些新歌进 1 1 在线播放器的功能设计 .去 很是麻烦。
如果能在自己的手机上在线听歌就 按照大多数人的需求 本文的在线播放器的主好了 但是在以前这样很不现实 通常有 4个困扰性 要功能和模块如下所示: 1的问题存在 : 1 用户授权: 对于没有 YOBO 账号的手机用 1 想听歌 却又不知道听什么歌 户可以方便注册 已经有账号的手机用户可以直接 2 没有在线听歌软件可以用 登陆 3 没有在线听歌的网址 2 用户个人信息展示: 可获取自己授权后的 4 在线听歌网速太慢 流量很贵。
相关信息 本文设计了 一款基 于 Andro id 的 YOBO 在 线 3 我的音乐盒: 可获取自己音乐盒中的歌曲音乐播放 器 该 程 序可 下 载到 手 机上 实现 用 户 4 我的音乐电台: 可获取自己音乐电台中的随时随 地的 收 听自 己 喜欢 歌 曲的 愿 望。
播 放 器 歌曲 用的主要功 能 包括 用 户授 权、 户 个人 信 息展 示、 5 歌曲搜索: 可获取满足一定条件的歌曲列 我我的音 乐 盒、 的 音 乐 电 台 和 歌曲 搜 索 五 部 分 表或按曲风标签进行歌曲搜索。
功能。
1 2 数据存储设计 . 在音乐播放器数据存储的设计中 需要的数据 可分为两类: 一类是一些较为简单的个性化配置信 息 如登陆的用户名、密码或者授权码之类的信息 还有一类是非 常重要 的应 用类 信息 如歌 曲信 息 2011 年 1月 11日收到 等。
第一类数据是用户在第一 次使用时获取并 存第一作者简介: 王秀芳 1967 女 河北景县人 博士 研究 方向: 储起 来备用 的 第 二类 数据是 通过 YOBO 提供 的无线通信、信号处理。
AP I实时获取的 并不需要进行存储。
11期 王秀芳 等: 基于 A ndro id的 YOBO 在线音乐播放器 2507 2 SharedP references 是
Android提供的一种数据存储方式 它以文件的方式自动保存数据。
综上所述 本 文 需 要 保 存 的 数 据 不 是 很 多 所 以 采 用ShareP reference来进行数据存储。
2 在线音乐播放器的设计步骤2 1 申请 AP IK ey . 3 根据 YOBO AP I 的官 方说明 每 个需要访问YOBO 资源的第三方应用都需要进行注册 来获取 4一个 AP I Key 和其对应的 AP I Secre 打开官方网 t 图 1 YO BO 在线音乐播放器的实现步骤页 http / / ap. yobo com 进行注册。
: i . 2 3 实现 A ctivity .2 2 基础功能的实现 .2 2 1 签名算法 Activ ity是 Andro id 构造块中最基本的一部分 在应 用 中 一 个 activ ity 通 常 就 是 一 个 单 独 的 屏 在使用 AP I前 应该对需要传递的参数和自己 5 幕 。
按照 前面 的功 能设 计 实 现系 统所 需要 的的 AP I Key 及 Secret 进行签 名 然后 用 MD5 算法加密。
Act iv ity及对应的界面。
2 2 2 数据的提交和接收 有了 YOBO AP I
Android客户端就可以与服务 3 系统器端进行通信了 实现时用 HTTP 的 Get方法来请求 数 据 并 取 回 结 果。
具 体 方 法 是 用 sendGe 3 1 系统功能的详细设计及运行结果 .tR equest将 requestParam eters提交 到 endpoint 的地 3 1 1 用户授权界面 . .址上 并取得反馈信息。
要想随时随 地的收听自己在 YOBO 上的音 乐2 2 3 数据的解析 盒 首先需要将它和一 个用户账号绑 定 之后才 可 在解析返回的数据时 具体方法是用 paxToken 以访问自己在 YOBO 上的个人数 据。
因此在进 入将返回的 XML 数据中的 token取出来。
开始使用 界面后 会显示一个对话框 上 面有两2 2 4 显示网络上的图片 个按钮 分别是 授权 和 立即注册 。
如果用户已 这部分会按照 AP I中返回的数据 将类似于歌 经拥有 YOBO账号 则使用 授权 输入访问账户的手之类的图片显示在手 机屏幕上。
首 先需要把网 权限即可 如果用 户还没有申请 YOBO 账号 须 先络图片转换成 Java的 i putstream 流 然后把这个流 m 使用 立即注册 来注册一个新的账号并授权。
转换成一 个 B iM ap 这 里在 获取 指定地 址的 图片 t 用户授权界面如图 2所示。
时 是通过调用 B itm apFactory decodeStream 方法 . 3 1 2 用户个人信息展示界面 . .来获取一 个 B it ap对象的 并且 B iM ap 是可以作 m t 用户完成授权后 就可以获得 YOBO 个人信息为参数传给 i ageV iew 的。
其中 retu neB iM ap函数 m t 了 这里主要是将解析后的 XML 进行展示 采用的 6是最核心的 它负责把一个 URL 的网络图片变成一 是 DOM 方式进行解析 解析后再将需要的数据保个本地的 B iM ap 从而最终在
Android客户端显示 t 存在 SharedP references中 需 要的数据 主要有主 页出来。
用 的地址、 户的昵 称、喜欢 的歌 手以 及头 像信息。
具体的实现步骤如图 1所示。
在这个界面上 需要添 加一些菜单 来为用户展 示 自己的音乐盒和音乐电台界面。
2508 科 学 技 术 与 工 程 11卷 V . setC onten t iew R. layou t box setT itle quotY obo我的音乐盒 quot session getSessionInPerence u ser n ew U ser session m . ListV iew ite list L istV iew findV iewById R. id item list A rrayA dapterlt Boxgt adapter new A rrayA dapterlt Boxgt this . . m .
android R. layou t si p le_l ist_ item _1 user getA llBoxes . A item l ist set dapter adap ter . item l ist setO nItemC lickL istener th is . item l ist setS elect ion 0 在按照 AP I的规则构造参数后 需请求获取用 户音乐盒的 AP I接口 然后将返回的数据使用 DOM 解析出来 再按照 AP I的使用说明编程 返回后的数 据格式为: lt xm l version 1. 0 encod ing UTF- 8 gt 图 2 用户授权 lt Y OBO status ok gt lt boxesgt 用户个人信息展示界面如图 3所示。
lt boxgt lt id gt 569144lt / idgt lt nam egt 随机收藏 lt /nam egt lt songs_coun tgt 50 lt / songs_ countgt lt created _dategt 20101105 lt / created_dategt lt / boxgt 我的音乐盒界面如图 4所示。
图 3 用户个人信息展示3 1 3 我的音乐盒界面 . . 如果用户在个人信息展示界面上选择 我的音乐盒 菜单 就会执行 in ten. setC lass Auth th is Box t . 图 4 我的音乐盒A ct iv ity. c lass这段代码 然后将用户在 YOBO上的个人音乐盒显示出来。
具体实现代码如下所示: 3 1 4 我的音乐电台界面 . . publ ic void onC reate Bund le saved InstanceState 同音乐盒的实现方法类似 用户在 YOBO 上可 super onC reate savedInstan ceState . 根据一首歌或者一个艺术家创 建一个自己的音 乐11期 王秀芳 等: 基于 A ndro id的 YOBO 在线音乐播放器 2509电台 YOBO会通过自己的算法 把种子歌曲或与艺 3 2 实现 Service .术家相近的歌曲推荐给用户 每个用户可拥有多个 一个 Serv ice是一段长生命周期的 没有用户界 7音乐电 台。
在 解析 返回 的 数据 时 仍然 使用 Java 面的程 序 。
在 媒体 播放 器的应 用中 会 有多 个DOM 来解析 XML 文件 进而显示出来。
Act iv ity让用户可以选择歌曲并播放歌曲 然而 音 我的音乐电台界面如图 5所示。
乐重放这个功能并没有对应的 A ctiv ity 因此要启动 一个 Serv ice使音乐在后台保持播放。
同样在本文 的 Andro id 音乐播放器中也要启动 Serv ice 在连接 到一个 Serv ice 后 使用 Serv ice 提供的接口与它 进 8 行通讯 本文使用 A I L 来实现 Service接口。
D 播放器的运行效果如图 7所示。
图 5 我的音乐电台3 1 5 歌曲搜索界面 . . 进入歌曲搜索界面后 可以搜索满足一定条件的歌曲列表 也可根据 YOBO自带的曲风标签进行歌曲搜索 YOBO会根据搜索条件给出符合的歌曲列表。
歌曲搜索界面如图 6所示。
图 7 播放器 4 结束语 结合移动用户的实际需求 本文基于
Android开 发了一款 YOBO在线音乐播放器 具备了用户授权、 我的音乐盒、 用户个人信息展示、 我的音乐电台以及 歌曲搜索五部分功能 实现了歌曲的播放和控制 是 一个比较完善的应用系统。
该系统能够为移动用户 快捷、 提供方便、 灵活的音乐播放服务。
随着 3G手机 的普及 系统的应用前景将会越来越广泛。
.