中文.doc

实现Android手机音乐应用【中文4540字】

收藏

压缩包内文档预览:(预览前20页/共23页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:6099460    类型:共享资源    大小:1.72MB    格式:RAR    上传时间:2017-11-16 上传人:闰*** IP属地:河南
13
积分
关 键 词:
实现 android 手机 音乐 应用 利用 运用 中文
资源描述:
实现Android手机音乐应用【中文4540字】,实现,android,手机,音乐,应用,利用,运用,中文
内容简介:
【中文 4540 字】实现Android手机音乐应用摘 要:Android平台是谷歌在 2007 年推出的新一代智能手机平台。Android 提供了对音乐播放的支持,这可能会是广大开发商所关注的。所以Android 手机串流音乐的发展需要关注串流音乐到Android手机的HTTP流。 Android是开源的并且还提供一个易于使用的开发工具包。本文为您介绍Android的架构和组件,以及对 Android应用的解剖,包括功能的活动、意图接收器、服务、内容提供商等。这个应用是基于Android 的音乐需求(MOD )开发,致力于人们可以随时随地简单方便地访问和享受他们的数字音乐。该软件可以直接连接人们的内容,没有同步或上传他们的文件的麻烦。音乐需求(MOD )的用户也可以与家人和朋友在一个私人的,安全的组分享其个人媒体。Rhythm Box分享局域网上的音乐库,DDAP 数据包通过互联网发送到服务器的共享库。MOD使用数字音频访问协议(DAAP )对共享库中的音乐实时需求进行响应。前 言:Android是移动设备一个软件栈,包括操作系统,中间件和关键应用程序。开放手机联盟(OHA )在 2007 年 11 月 12 日发表了谷歌的Android SDK1。这个Android SDK提供了用Java编程语言在Android平台上开发应用程序所需的必要的工具和API。Android平台是开放的系统架构,具有多功能的开发和调试环境,而且还优化了图形系统,支持多种媒体和一个非常强大的浏览器,以便支持多种可扩展的用户体验。它可以重用,更换部件和有高效率的数据库支持,并支持各种无线通信手段。它使用了Dalvik虚拟机为移动设备做了很大程度上的优化 2。Android的各种各样功能如下, Android有它自己基于开源的 WebKit引擎的浏览器。它支持各种硬件,如GSM、蓝牙、EDG、3G 、WIFI、相机等。它还支持常见的音频,视频和静止图像格式(MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF ) 。由于Android支持Wi-Fi和各种音频格式,用户可以从全球IP灵活地访问和控制音乐的分流。 Android的架构和 Android应用程序分析会在第二节和第三节中。从远程台式机到Android手机流音乐应用程序的设计分析在第四节中会提到,本文最后部分给出结论和参考文献。Android架构图 1Android架构上图是Android架构和它主要的组成部分。应用程序层Android附带了一套核心应用,包括电子邮件客户端,短信程序,日历,地图,浏览器,联系人等,将在第四节描述的是在应用层。所有应用程序都使用Java编程语言编写的。应用框架层应用程序框架提供了用于创建Android 应用程序的类。它还提供了硬件访问的通用抽象和管理的用户界面和应用程序资源。Android 开发人员可以核心应用一样拥有框架API 访问权限。核心库Android在内核上运行,包括各种 CC+的核心,例如libc和SSL,以及一个用于播放音频和视频媒体库。surface manager提供显示管理,包括SGL和OpenGL的二维、三维图形的图形库,用于网络浏览器和互联网安全的SSL和WebKit。Android运行时Android还包含了一组在Java编程语言核心库中功能最有用的核心库。每一个Android应用程序在Dalvik虚拟机中运行。Dalvik可以使应用有效地在移动设备上的虚拟机上运行。Dalvik虚拟机执行Dalvik占用最小的内存优化文件的可执行文件(.dex) 。虚拟机是基于寄存器的,并且运行被Java complier的“dx”工具转化成.dex 格式的类。Dalvik虚拟机依赖于Linux 内核基本功能,例如线程和低级别的内存管理。Linux内核核心服务(包括硬件驱动程序、过程和内存管理;安全、网络和电源管理)是由Linux2.6 内核的处理。内核还在硬件和堆栈部分之间的提供了抽象层。Android应用程序的分析一个Android 应用程序由 4 个组件组成:Activity 、Intent Receiver、Service 和Content Provider。并不是每一个应用程序需要这四个组件。但应用程序,都会用到他们当中的一些组合。一旦用户决定用到哪些组件,就需要在AndroidManifest.xml文件中列出。这是一个XML文件,其中包含用户为该应用程序声明的组件和他们的使用范围和要求 2 4。ActivityActivity是Android四个组件中最常见的。一个Activity通常是应用程序显示出来的屏幕。每个Activity都继承了Activity的基类,这个类将显示用户界面和响应事件,大多数应用程序有多个屏幕。例如,一个文本消息程序可能有一个屏幕显示将消息发送到联系人列表。第二个屏幕所选择的联系人写邮件和其他屏幕查看旧邮件或更改设置,这些屏幕都将会被当做Activity。显示另外一个屏幕需要启动一个新的Activity。在在某些情况下可能会返回到前面一个Activity里面的值。例如一个Activity,让用户选择一个照片然后返回选择照片给被调用的Activity。当一个新的屏幕打开时,先前的屏幕暂停,并放入到历史堆栈中。用户可以通过在历史导航到以前屏幕,在不恰当的时候保存的屏幕可以从历史堆栈中删除。Android会保留从主屏幕启动的每个应用程序的历史栈。Intent Receiver Android使用一个特殊的类Intent来移动画面。Intent描述的是一个应用程序到底想做什么。Intent 两个最重要数据,action和action所需要的数据。最典型的值有:MAIN ,VIEW, PICK,EDIT 等等。这些数据被表示为一个统一资源标识符(URI )。例如,在浏览器中查看网站,将创建具有VEIW值的 action和一个网站URI数据的意图。NewIntent(Android.content.Intent.VIEW_ACTION,ContentURI.create();还有一个相关的叫做IntentFilter的类。当Intent请求做一些事情, IntentFilter会选出怎么样的Intent (或者 Intent receiver,见下文)有能力处理这个 Intent。用户发布个人信息后,activity经过 IntentFilter选出View Intent,然后显示该用户的联系方式。Activity在AndroidManifest.xml文件发布IntentFilters。画面的切换是由Intent解析决定的。为了导航到下一个画面,activity调用startActivity(myIntent)。然后该系统根据IntentFilters安装应用程序和选择 IntentFilters最佳匹配myIntent的activity。新新的activity启动由Intent所引起。这个Intent解析过程称为startActivity时的运行时。想要应用程序执行外部事件时可以使用Intent Receiver。例如,当电话铃响时,或当数据网络可用时,或当午夜的时候可以使用Intent Receiver 。 Intent Receiver不会显示用户界面,尽管当发生了一些有趣的事情时Intent Receiver可能会显示通知提醒用户。Intent receiver也注册在AndroidManifest.xml中,但也可以编写代码Context.registerReceiver()进行注册。程序不是一定要对用到的Intent进行调用,当Intent receiver被触发时系统会启动程序。应用程序通过Context.broadcastIntent ()可以向他人发送自己的 Intent。Service Service是一段周期长没有用户界面的代码。一个很好的例子,就是一个媒体播放器播放列表的歌曲。在媒体播放器这个应用程序,有一个或多个活动,让用户选择歌曲并开始播放。然而音乐播放时不会使用activity,因为用户希望切换歌曲时只需改变播放的歌曲而不是启动一个新的界面。在这种情况下,媒体播放器的activity可以开始使用Context.startService()在后台运行保持音乐服务。系统将会继续播放,直到音乐播放完成。(你可以学到更多通过阅读Life Cycle of an Android Application你会知道service优先级)。请注意,你可以连接到一个service(并启动它,如果它尚未运行)通过Context.bindService()方法。当连接到一个service,service通过接口进行传递。音乐播放这个service ,就可以实现暂停,重播等。Content Provider应用程序可以在文件中存储数据,SQLite数据库,参数或其他有意义的机制。当需要应用程序的数据将与其他应用程序共享时,content Provider将会很有用。content provider是一个类,这个类实现了一系列标准的方法,这些方法可以让其他应用程序存储和检索那些被content provider处理过的数据。MUSIC ON DEMANDAndroid音乐应用程序现在可用的方案中,人们收藏音乐是通过吧音乐存到手机的存储卡中。这是个让人忙碌和单调乏味的工作。为了克服这一问题并且实现得到用户希望想要听的歌曲后搜索到这个歌曲,这就是这个应用程序需要实现的。有了这个系统,用户将能够在任何地方的共享媒体文件(台式机/笔记本电脑) 。要做到这一点,用户需要的仅仅是一个互联网连接,然而互联网如今已经是非常普及了。用户不需要真正公开分享音乐文件就能够分享到音乐。请求的客户端将能够发挥不从自己的工作站或Android手机的媒体播放音乐,而是将文件复制到他们的系统。分析用户简介后,用户列表的朋友可以有保持各自的共享媒体的访问。每当用户给出一个请求,请求就会被经过验证的用户账户分享的系统抓取并且然后流回到发出请求的客户端系统。因此,服务器不需要特别大的数据存储空间。该应用程序由三个主要组成部分:桌面客户端界面客户机应用程序界面,这是与服务器进行通信的唯一目的而设计的。它作为媒体播放器和服务器之间的调解人。用户可以通过此接口创建他/她的私人帐户。该接口也将开展通过互联网流媒体音频文件的任务。流媒体协议实际上是这个接口和服务器之间的工作。图 2 接口用于Rhythm boplayer和服务器之间的通信。Android客户端Android移动平台上类似的界面。 用户是不能够分享到Android手机的媒体。接口将只接收流媒体,并在Android手机上的播放器中播放。文件会在从共享文件列表中顺序播放。用户可以随机地要求任何音频文件,该文件都会同步播放。图 3 Android应用程序的流媒体音乐和共享音乐库列表服务器它执行了两次大的操作,从客户端获取,分流到另一个客户端并且从桌面客户端存储整个音乐序列。服务器通过全球IP进行所有的通信。图 4 系统架构上图显示music on demand这个系统在 Android手机上详细的视图。上图所示和之前解释的,这个系统由三个主要组成部分客户端,服务器和Android手机应用。进一步解释三个组成部分之间的实际沟通的细节是如何发生的。桌面客户端接口和Rhythmbox音乐媒体播放器之间的消息流。(我们使用libopendaap library/API用于 rhythmboxDAAP之间的通信)。1首先,创建一个将确定本地的DAAP客户,这个将会定义到DAAP 共享中。2然后连接到本地的DAAP共享,忽略从本地网络中其他的DAAP 的共享。3 DAAP给本地Rhythm 播放器提出请求,如下:客户端的Rhythmbox说明-/server-info-请求服务器要求的内容登录更新请求数据库请求请求的歌曲请求播放列表.MP3-请求 MP3。包的往返响应超时登录包的访问权限。本地机器描述歌曲名单(10 首歌曲/包)歌曲答复歌曲的实际流量往返时间超时计算登录数据包进行验证共享库的请求歌曲的请求歌曲请求(歌曲 ID)Request for server info request for content-codes login update request database request request songs request playlists .mp3- request mp3 Packet for round trip time outLogin packet for auth. Local machine description List of songs (10 songs/packet) song reply Actual stream of the song Round trip time out calculation Login packet for authentication Request for shared libraries Request for songs Song request (with song-id) -strp- Stream reply (with path for HTTP streaming)Figure 5 Result of streaming music to Android fromDesktop client throughWe can see from the above figure that the implementation of streaming application to Android through global IP using DAAP and Rhythmbox is convenient CONCLUSION We love a variety of music and of course, we have 4000+ song collection, which we cannot fit on our Android Phone. Neither can our friends library, however, Music On Demand takes you to your friends song collections wherever you go without taking up more than 1MB of space. This application lets you listen to your music collection anywhere you want. In addition to being able to listen to Your own music, you can also invite friends to be on your friend list and stream their music as well. This is a very straightforward application and gives the rays of hopes for streaming music on Android, hence its name Rayss Tunes. The first step is to run the desktop client interface application on your desktop. This acts as the gateway to your library. The second step is to install the Rayss Tunes application on your Android Phone. Once you have logged in at both locations with same user name and password, your home library becomes available to your Android Phone through this application. You can also get music from anyone whom you have invited to be your friend on the Music on Demand network. There is absolutely no configuration
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:实现Android手机音乐应用【中文4540字】
链接地址:https://www.renrendoc.com/p-6099460.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!