安卓平台的移动应用研究与开发外文翻译资料
2022-07-21 15:43:20
International Journal of Multimedia and Ubiquitous Engineering
Vol.9, No.4 (2014), pp.187-198
http://dx.doi.org/10.14257/ijmue.2014.9.4.20
Research and Development of Mobile Application for Android Platform
Li Ma1,2,3, Lei Gu1,2 and Jin Wang1,2,3
1Jiangsu Engineering Center of Network Monitoring, Nanjing University of
Information Science amp; Technology, Nanjing 210044
2School of Computer amp; Software, Nanjing University of Information Science amp;
Technology, Nanjing 210044
3Key Laboratory of Meteorological Disaster of Ministry of Education Nanjing University of Information Science amp; Technology, Nanjing 210044
Abstract
Today, as the developing of hardware of mobile is getting better, the performance index is much higher than the actual requirements of the software configuration. Phone#39;s features more depend on software. As the Android operating system is getting more popular, the application based on Android SDK attracts much more attention. But now, some of the Android application interface is too cumbersome, pop-up ads is overmuch and the function is too single, these cause some inconvenience to the users. This article presents the application by eliminating the redundancy. Three kinds of applications are developed base on Java and Android SDK --- Weibo client, video player and audio player. The audio player uses the ContentResolver and Curor to obtain music files and plays the music by using the Service Components to call the Media Player class in the background. The video player uses the Media Player class provided by Android SDK. This class loads the file through URL, realize the multimedia file parsing by calling the OpenCore Library, which is at the bottom of Android, through JNI and by calling the SurfaceFlinger interface to realize the video filesrsquo; playback. The usersrsquo; data is collected through the Sina open platform called by Sina client and the data will be returned under the format of JSON by the Sina server. The system uses the OAuth authentication method for user authorization to complete the login process. The specific functions of this system are developed based on Android Weibo SDK. The interfaces of these Android apps are pretty and the operation is smooth. Whatrsquo;s more, the cumbersome interface and excessive advertising are eliminated, so that users are able to manipulate these apps more conveniently and smoothly.
Keywords: Android, Weibo client, Video Player, audio player, Android SDK
1. Introduction
In recent years, the emergence of smart phones has changed the definition of mobile phones. Phone is no longer just a communication tool, but also an essential part of the people#39;s communication and daily life. Various applications added unlimited fun for people#39;s lives. It is certain that the future of the network will be the mobile terminal.
Now the Android system in the electronics market is becoming more and more popular, especially in the smartphone market. Because of the open source, some of the development tools are free, so there are plenty of applications generated. This greatly inspired the people to
ISSN: 1975-0080 IJMUE
Copyright ⓒ 2014 SERSC
International Journal of Multimedia and Ubiquitous Engineering
Vol.9, No.4 (2014)
use the Android system. In addition, it provides a very convenient hardware platform for developers so that they can spend less effort to realize their ideas. This makes Android can get further development [1-4].
As the smart phones and Android system getting popular, the operations like listening to music, watching videos, tweeting and some others can be moved from the computer to a phone now.
The applications on the market today are mostly commercial applications, and contain a large number of built-in advertising. If the user prefers to remove the built-in advertising, a certain price must be paid to reach that and this is not convenient. Meanwhile, because of the unfair competition of IT, many applications built illegal program to steal user information and cause some damage to userrsquo;s personal privacy. Sometimes, users will pay more attention to the user experience of software. Therefore, the development of the application can not only be limited to the function, more attention should be paid to the user#39;s experience. After studying some previous Android applications and access to large amounts of materials, we utilize the Java language, the Eclipse platform, Android ADT and the Android SDK to develop these three mobile applications. These systems have a nice interface and smooth operation. These Apps wonrsquo;t steal any personal information, but can exclude useless information and bring a wonderful user experience.
2. Android Architecture
We studied the Android system architecture. Android system is a Linux-based system, Use of the software stack architecture design patterns [1-2].
As shown in Figure 1, the Android architecture consists of four layers: Linux kernel, Libraries and Android runtime, Application framework and Applications [5-8].
Each layer of the lower encapsulation, while providing call interface to the upper.
<td
全文共26421字,剩余内容已隐藏,支付完成后下载完整资料</td
安卓平台的移动应用研究与开发
备注:
国际多媒体与普适工程杂志
第9卷,序号4(2014),187-198页
网址:http://dx.doi.org/10.14257/ijmue.2014.9.4.20
作者:Li Ma , Lei Gu和 Jin Wang
江苏网络监测工程中心,南京大学信息科学与技术,南京210044
南京大学计算机与软件学院,信息科学与技术学院技术,南京210044
南京大学信息科学与技术教育部气象灾害教育部重点实验室,南京210044
摘要
现如今,随着移动硬件的发展越来越好,设备的性能指标渐高于软件配置的实际要求,而手机的功能更依赖于软件。因为Android操作系统正变得越来越受欢迎,所以基于Android SDK的应用引起更多的关注。但现在,许多Android应用程序界面过于繁琐,弹出的广告过多,功能太单一,这些给用户带来许多不便。这篇文章将介绍消除冗余的应用,三种基于Java和Android SDK的应用程序的开发,有:微博客户端,视频播放器,音频播放器。音频播放器使用ContentResolver和curor来获取音乐文件并通过使用服务组件在后台调用媒体播放器来播放音乐。视频播放器使用Android SDK提供的媒体播放器类,这个类通过URL加载文件,通过调用开源库实现多媒体文件的解析,这个开源库位于Android的底层,通过JNI和调用surfaceflinger接口实现视频文件的播放。用户的数据是通过被称为新浪客户端的新浪开放平台得以收集,收集的数据将以JSON的格式返回到新浪服务器。该系统运用用户授权的OAuth认证方法来完成登陆过程。该系统的具体功能是基于Android SDK开发的微博。这些安卓应用程序的接口是非常漂亮的,其操作是平滑的。更重要的是,这些繁琐的界面和过度的广告会被淘汰,以便用户能够更方便,更顺利的操作这些应用程序。
关键词:Android,微博客户端,视频播放器,音频播放器,Android SDK
1 引言
近年来,智能手机的出现已经改变了移动电话的定义。手机不再仅仅是一种交流工具,更是人们沟通和日常生活中必不可少的一部分。形形色色的应用为人们的生活增添了无限的乐趣。可以肯定的是,未来的网络领域将是移动终端的天下。
现在,电子市场的Android系统正变得越来越受欢迎,尤其是在智能手机市场。由于Android系统是开源的,而且其中许多开发工具是免费的,所以有很多应用程序被开发出来。这大大鼓舞激励了人们去使用Android系统。此外,Android为开发人员提供了一个非常方便的硬件平台,使他们可以花更少的精力和劳动来实现他们的想法,这使得Android能够得到更深一步的发展。
随着智能手机和Android系统越来越受欢迎,诸如听音乐,看视频,玩微博等其他很多操作都可以从计算机转移到手机上完成。
在目前市场上的手机应用主要是商业应用,并包含许多内置的广告。如果用户想要删除内置的广告,用户必须支付一定的价格,这便给用户带来了许多不便。同时,由于IT行业的不公平竞争,许多应用建立了非法的程序来窃取用户的信息,对用户的个人隐私造成了一定的损害。有时,用户会更加注重软件的用户体验。因此,应用程序的开发不仅仅要对应用程序的功能加以限制,更多的焦点要放在用户的体验上。在研究前人的许多Android应用程序和接触过大量资料后,我们利用Java语言,借助Eclipse平台,Android ADT和Android SDT来开发这三个移动应用。这些应用会有很美观的界面和平稳流畅的运行。而且这些应用程序不会窃取任何个人信息,但可以排除无用的信息,并试图带来一个更美妙的用户体验。
2安卓体系架构
我们研究了Android系统体系架构。Android系统是一个基于Linux系统的操作系统,采用了软件堆栈架构设计模式。
如图1所示,Android的架构由四层组成:Linux内核、类库和Android运行环境,应用框架和应用。
每一层较低的封装,同时向上提供调用接口。
图一:Android体系结构
2.1应用程序
Android应用程序将被组装联系到一组核心应用程序,包括客户端,SMS程序,日历,地图,浏览器,联系人和其他应用。所有这些应用程序都是用java开发。
2.2应用程序框架
开发人员可以访问核心程序的所有API框架。这些应用程序框架简化了这些组件的重用。任何其他应用程序可以释放它的功能组件,并且所有其他应用程序可以访问和使用这个组件(但它必须遵循应用程序框架的安全性原则)。同样的是,用户也可以用这种复用机制来代替程序组件。
2.3库和运行环境
库被分为2个组成部分:Android运行环境和Android库。Android运行环境由一个Java核心库和Dalvik虚拟机组成。这个核心库提供了Java核心库的大部分功能。Dalvik虚拟机功能是注册虚拟机,并对移动设备做出一些具体的改进措施。
安卓系统库是支持应用程序框架的,也是连接应用程序框架和Linux内核的重要环节。这个系统库是通过C或者C 语言开发的。这些库也可以被Amdroid系统不同的组件所使用。它通过应用框架为开发人员们提供服务。
2.4Linux内核
Android内核层提供的内核系统服务是基于Linux 2.6内核,诸如内部存储、进程管理、网络协议、底层驱动和其他核心服务等的操作都是基于Linux内核。
3实验方法
3.1视频播放器
视频播放器是通过Eclipse平台实现的。为了开发Android应用程序,我们要安装一个Eclipse插件:Android开发工具(ADT)。从安装起,下载Android SDK,安装和配置SDK,然后我们就可以开发一个视频播放器了。
我们的研究开始于学习其运行机制,Android平台的媒体层结构,XML的可定制的界面,内容提供商实现文件扫描,来得到一系列的媒体文件,媒体播放器类,文件解析,表面抛射器接口。在这之后,我们可以开发一个基于Android的移动视频播放器。实现媒体库,视频播放器,文件打开,音频,视频,照片和其他功能。图2为系统流程图。
图二:系统流程图
该应用的界面是通过XML布局文件来实现的。XML布局文件控制的视图,不仅简单,而且让视图控制逻辑与Java代码分离,并且被插入到其中的XML文件所控制。这是为了使用更好的方式来反映MVC原则,也体现逻辑与视图分离原则。本软件通过内容提供商来扫描获取媒体文件列表。内容提供商被视为跨程序存储和搜索的数据之间的桥梁。其功能是在不同的应用程序之间实现数据共享,并且这是与其他应用程序进行分享数据的唯一的方式。图3显示了媒体层结构。
图三:媒体层结构图
Android媒体播放器上的上层应用和逻辑处理都是通过Java实现的。Java应用程序实现的视频文件的回放,并通过JNI接口调用底层的媒体库libmedi.so来实现在线视频播放。
媒体播放器在运行时可以大致被分为两个部分:客户端和服务器。它们在两个分离的过程同时运行。粘结剂利用它们之间的这个过程来实现IPC通信。在图3中的媒体播放器服务是一个服务器端的实现仓库。
媒体播放器通过提供的开放资源来调用媒体回放功能,来实现视频播放器文件的播放,开放的资源负责媒体文件格式解析,音频和视频数据的解码,并输出媒体数据。开源电话调用SurfaceFlinger接口实现视频数据的显示,并通过应用AudioFlinger接口来实现音频数据的回放。
在Android的媒体层,最重要的一类是媒体播放器。媒体播放器类及其相关的组织结构如图4所示。
图四:媒体播放器类及其相关的组织结构
上层的Java程序通过调用底层的媒体类来实现媒体流。首先,媒体播放器类通过服务管理获取服务接口获得一个名为media.player的服务。在那之后,所有的操作都是通过这个媒体播放器工具进行操作界面,并且这个接口是Imediaplayer。在图4中所有Bpxxxx类的代理类,它的任务是实现报文转发给客户端的服务请求通过Binder机制。在服务方面,相应的Bnxxxx类负责执行特定功能。最后的广播媒体流的播放是通过调用底层的开源库通过媒体播放器接口实现。这类负荷预打文件通过URI,调用开源多媒体库通过JNI来实现文件的解析,通过调用SurfaceFlinger接口来实现视频文件的播放,通过调用AudioFlinger接口来实现音频数据的播放。该软件界面简单,功能丰富,运行平稳,还通过调用一个外部程序来实现音频和图像的回放。图5显示了视频播放器界面。
图5:媒体播放器界面
3.2音频播放器
音频播放器的开发工具和视频播放器的开发工具是相同的。其系统的结构和过程和视频播放器的过程是相同的。音频播放器还定义了应用框架层的接口,然后通过在Android框架层内的内容解释器来获取音乐文件的方法。最后,通过使用服务组件调用媒体播放器库中的层来实现音乐播放。系统结构如图6所示。
图6:系统结构图
主界面模块是应用程序的入口。用户将在启动应用程序后会看到主要界面模块。模块本身并不会向用户反映任何信息,模块只调用列表模块来显示。三个列表显示为:音乐列表,专辑列表和艺术家名单。主界面模块是通过调用MusicListActivitya,AlbumListActivity和ArtistListActivity [ 15 ]模块来实现。主界面逻辑图如下图7所示。
图7:主界面逻辑图
图8为具体的流程图。
图8:具体流程图
音频文件扫描仪模块负责扫描SD卡上的所有音频文件。这个模块中的SongManager是一个类,这个类有一个静态方法来访问SD卡。这个静态方法通过使用Android系统提供的游标类方法来获取SD卡音频资源,并将接收到的音频资源转化为一个列表类的实例对象。列表的成员是在APP中使用的JavaBean音乐。该列表阵列将最终返回到它们称之为的其他模块:MusicListActivity模块,AlbumListActivity模块和ArtistListActivity模块会调用这个模块。
适配器模块是一个工具,该工具的地图实例对象的列表类到列表视图。在这个应用程序适配器模块会得到一个由SongManager模块产生的列表lt;音乐gt;实例对象,并将其映射到在MusicListActivity等模块的列表视图组件。
列表模块将不会单独显示给用户,但是调用的主要接口模块。该模块具有三个平行的部分:MusicListActivity,ArtistListActivity和AlbumListActivity。它们的功能是在主界面显示歌曲列表、艺术家和相册列表。这些并行模块将调用在SongManager类中的静态方法来获取列表静态对象,然后调用适配器模块来处理得到的列表实例对象。然后,规划列表到它自身列表视图组件。当用户选择列表视图中的一个元素,这个模块将封装的信息到一个Intent对象并把它发送到音乐播放模块。
音乐播放模块收集来自列表模块发送的意图并进行分析,然后调用后台音乐服务来播放音频文件。视图组件提供了播放器的一些基本功能,如播放、暂停、快进、快退、单播放、随机播放等功能,这些模块将在用户操作这些部件后进行相应的逻辑分析。适当的反应和变化将根据结果分析来完成。音频播放器界面如图9所示。
图9:音频播放器界面
3.3新浪微博客户端
新浪微博客户端的开发工具与视频播放器和音频播放器一样,但除了这些工具之外,新浪开放平台也适用于获取数据和写入数据。在设计阶段,整个系统的逻辑性和可拓展性要被考虑到。我们的系统被分为四层,被命名为用户界面层、逻辑层、微博接口层、网络接入层。图10为系统架构。
图10:系统架构图
用户界面层负责显示系统的各种形式,以及各种形式的调用逻辑之间的协调。
逻辑层核心控制调度模块被用于访问用户界面所传送的数据,它需要执行的任务是:调用微博接口,访问网络数据,返回消息,刷新用户界面等。
新浪微博接口层(新浪网)提供了各种各样的接口,用于访问新浪微博的开放平台,并且来帮助系统访问数据和返回来自新浪微博系统的数据。
网络接入层(新浪)负责系统和服务器的网络连接和数据传输。
图11为系统流程图。
图11:系统流程图
用户通过调用新浪提供的网页来进行用户的登录和授权,而且系统不进行干预。然后,第三方应用程序可以在不知道用户帐户和密码的情况下就访问用户的数据。
该系统使用新浪微博的Android SDK来帮助开发,其已与一个开源的Java OAuth 认证包集成:开发商必须登记为新浪微博开发平台开发者,并获得相应的应用程序的关键和密码来完成引导注册。
认证需要在新浪微博SDK与服务器之间交互来完成。SDK提供了一个微博类,当启动程序时,它下面的代码需要在执行时创建一个微博的对象,设置应用程序的关键,应用程序的密码和URL。
weibo = Weibo.getInstance(); // 创建微博对象 weibo.setupConsumerConfi
全文共8305字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[154937],资料为PDF文档或Word文档,PDF文档可免费转换为Word
Applications |
|||
Home |
Phone |
Browser |
... |
Applications Framework |
|||
Activity |
Window |
Content |
... |
Manager |
Manager |
Providers |
|