

英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
用于开发Android应用程序的4-Tire设计模式
Woon-Yong Kim and Seok-Gyu Park
Dept. of Computer and Internet Technique, Gangwon Provincial College, Korea
{wykim,skpark}@gw.ac.kr
摘要:近年来,对智能手机及相关应用的需求不断增加,迅速改变了人们的生活方式。尤其是苹果的iPhone和谷歌的Android手机需求量不断增加,这些产品的应用开发已经成为商业领域的必要元素。但由于智能手机的应用是在特定的框架环境下进行的,而应用的设计是基于具有域域域的用户界面,应用的复杂度增加。为了降低复杂性,我们为Android应用程序提出了4轮胎设计模式。在这个设计模式中,我们将可执行组件(活动、服务、广播接收器和内容提供者)的区域和低耦合的域区域分开。这种结构可以提高维护能力,降低应用开发成本。
关键词:移动、应用、设计、模式、智能手机、Android。
1 介绍
随着移动环境的快速发展,智能手机及相关应用的需求的增加已经改变了人们的生活方式。尤其,苹果的iPhone和谷歌的Android手机需求量不断增加,这些产品的应用开发已经成为商业领域的必备元素。但由于智能手机的应用是在特定的框架环境下进行的,应用的设计是基于区域的用户界面,应用的复杂性增加,使得该模型难以升级和抑制分析能力。在本文中,我们提出了一个Android的设计模式,以提高应用程序开发的效率。这个模式有用于Android应用程序的4轮胎设计层。我们将可执行组件(活动、服务、广播接收器和内容提供者)的区域和低耦合的域区域分开。然后,我们连接可执行组件和区域之间的接口类,并使用工厂设计模式来实现内容之间的流动。同时,我们还以其独特的特点组成了领域。这种方法可以使应用程序具有松散耦合的结构。这种结构可以提高维护能力,降低应用开发成本。
本文的其余部分组织如下。在第2节中,我们简要回顾了Android系统应用程序设计和应用程序环境的相关工作。在第3节中,我们提出了Android系统的4层设计模式。在第4节中,我们将展示具有所建议设计模式的典型应用程序。最后,我们将在第5节中结束。
2 相关工作
2.1 Android应用程序结构
Android应用程序可以利用其他应用程序的元素,只要这些应用程序允许。要使其工作,系统必须能够在需要应用程序的任何部分时启动应用程序进程,这与大多数其他系统上的应用程序不同。此外,Android应用程序中的所有内容都没有单一的入口点,并且具有系统可以根据需要实例化和运行的基本组件[1][2]。应用程序由描述应用程序、应用程序组件和资源中所有内容的清单文件组成。图1显示了应用程序的元素。
|
|
图1.Android应用程序的元素
Android应用程序中有四种类型的可执行组件,如活动、服务、广播接收器和内容提供商。这些组件有自己的生命周期和可执行模型。它们还具有与组件的连接结构,它们单独或自由地与其他组件一起工作。一般来说,应用程序执行过程是通过调用可执行组件来进行的,因此Android应用程序的设计过程取决于可执行组件的动作。图2显示了任务、流程、包和Android组件之间的连接。
图2.任务、过程和组件之间的连接
2.2 移动应用程序的设计
移动平台的软件设计有很多研究。这些研究一般都在移动环境中采用了敏捷方法。XP(极限编程)是一种典型的方法。这种方法基于简单性、交互、沟通反馈和勇气等四个原则来执行设计和实现[3][4]。此外,MASAM(Mobile Application SW-Based Agile Methodology)是一种针对移动平台的扩展软件开发方法,它包含了基于模型的架构的概念,并使用了Agile方法和模式。该方法提出了制备、精制、开发和商业化的步骤[5]。并且Mobile-D是一种补充移动环境技术约束的方法,它基于极端编程、Crystal方法和RUP(Rational Unified Process)。这种方法提出了每个步骤和实践[6]。在Natchetoi面向服务的移动应用架构中,他们考虑到移动设备的特点,提出了基于SOA的移动设备架构设计技术[7]。
提出的基于移动的应用程序开发过程提供了基于敏捷方法论的通用移动应用程序开发过程,并给出了整个过程的抽象方法。但是,具有特殊框架的应用程序本身具有特性和限制,并与它们的生命周期一起工作,因此我们需要反映这些特性。此外,Android应用程序由基于用户界面设计的组件构成。这种方法可以是一个独立的域模型。在本文中,我们提出了一种详细的设计方法,命名为4-Tire设计模式的Android应用程序,在智能手机领域有着广泛的应用。这种方法在设计过程中的应用将在对象之间形成低耦合,并使维护更容易。
3 Android应用程序的4-Tire设计模式
Android应用程序设计可以由具有生命周期的可执行组件和用户界面功能组成。在这种环境中,包含用户域的设计增加了设计的复杂性,并使得创建灵活的代码。本文通过对单元特征的考虑,将其划分为四个层次,给出了各层次的独特特征。它可以降低复杂度并保持低耦合。
3.1 拟议的4-Tire结构
建议的4-Tire结构如图3所示。它由组件层、接口层、实现层和持久层组成。
|
|
图3.Android应用程序的4-Tire结构
可执行组件层
Android系统中的组件分为活动、服务、广播接收器和内容提供商。活动表示可以是无面向的用户界面,可以在浮动窗口中,并且可以返回值并可以嵌入。服务组件是在后台运行的无面类,如网络下载,并在应用程序进程或其自身进程中运行。广播接收器组件只接收和响应广播公告,即电池电量低且已拍摄照片等。内容提供程序组件允许跨应用程序(如通讯簿、照片库等)共享数据。以及用于查询、删除、更新、插入行的组件统一API。这些组件有自己的生命周期,可以相互调用。因此,我们需要分离组件和区域,因为在组件中包含用户域会使这个组件环境中的程序结构变得复杂。它可以通过表示不含域域域的构件和特征之间的关系来构造一个明确的结构。
界面层
接口层提供可执行组件和区域之间的连接,并保持低耦合。该接口层包括实现类方法信息和接口方法之间的关系。它可以很容易地识别应用程序的流程和操作。
领域层
作为用户区域的领域层具有实现类。实现类将接口层关联起来,独立地组成类,并且只具有域特性。它可以使类灵活地更新和修改用户请求。
持久性数据层
持久性数据层具有应用程序、文件系统、数据库和网络环境的环境信息。实现类使用此层来读取或保存数据。
3.2 与各层的关系
层中的每个组件和类都有密切的关联。图4中的类图显示了这种关系。
|
|
图4.每个组件和类之间的类图
组件引用实现类的接口类并调用域函数。与组件或其他类有关联的实现类必须继承接口类才能生成域函数。这种方法减少了类之间的直接关系,并通过分离每个层来创建独立的类模型。
4 使用4-Tire设计模式的示例
在本章中,我们描述了利用所提出的设计模式设计和实现跟踪应用程序(Baugil)的方法。Baugil应用程序提供基于Android系统的GPS和地图数据路径信息服务。此应用程序具有以下功能。
信息共享服务:这是基于Web的/离线的信息服务,用于共享用户数据和管理用户信息。
路径跟踪服务:该服务利用GPS和地图数据提供每一课程的路径信息、跟踪用户位置和重要点的详细信息。
4.1 4-Tire架构
图5所示的Baugil应用程序体系结构将组件和域区分开,并将它们与接口类连接起来。该体系结构由7个可执行组件、10个接口类和12个实现类组成。
|
|
图5.Baugil应用程序的4层体系结构
7个可执行组件具有资源分配、用户界面事件管理及其生命周期和组件管理等功能。而且,它们用接口类来控制区域。接口类具有有关相关类中方法之间调用的角色。它可以减少类之间的依赖性。拥有实现类的区域只有它们自己的函数来保持类之间的低耦合。
4.2 层次之间的关系
我们在图6中展示了一个用于描述层之间关系的路线图结构。
|
|
图6.课程图的类关系
课程图活动类具有MapIF接口类,该接口类具有MapImpl实现类的函数原型。而activity类使用MapIF接口来通信MapImpl类。此活动包括加载路径、通知、重要点和详细信息,以及在单击“开始”按钮时根据用户当前位置跟踪用户的服务。这个关系模型显示了可执行组件、接口和实现类之间的关系和相关方法。
4.3 实施结果
使用所提出的设计模式实现的Baugil应用包括共享信息和用户跟踪服务。图7显示了每个组件的工艺步骤。
|
|
图7.Baugil应用程序的实现结果
该应用程序具有共享信息服务,为Web服务器提供在线/离线信息服务,跟踪服务有15门课程。该应用程序根据谷歌地图上的经纬度绘制路径,并提供显示开始、结束、通知、有效点、路径长度和用户位置信息、检查卫星状态和根据用户当前位置跟踪用户的服务。这个应用程序是通过分离到每一层来实现的,只包含它们自己的特性,并且通过独立使用接口类来连接每一层。因此,我们可以快速、可靠地实现应用程序。
5 结论
在本文中,我们提出了用于Android应用程序开发的4轮胎设计模式。随着移动环境的快速发展,智能手机及其相关应用的需求也迅速增长。但由于智能手机应用程序具有特殊的框架环境和生命周期,应用程序设计的一般方法难以反映这些特点。因此,我们提出了降低程序复杂性的方法。在这种方法中,我们将Android系统的可执行组件和用户域区域分为4层。这种方法可以降低应用程序的成本,提高维护能力,快速可靠地实现应用程序。
工具书类
- Google Android Developer Guide, Android Framework and Application Fundamentals (2011), http://developer.android.com/guide/topics/fundamentals.html
- Yang, J., Kim, E., Kim, N.: Android developerrsquo;s guide, 3rd edn. (2010),
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料
