Android上的用户界面主从模式外文翻译资料
2022-10-26 10:05:06
英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
Android上的用户界面主从模式
Thanh-Diane Nguyen, Jean Vanderdonckt
摘要
这项工作的目的是为了了解一些现有的用户界面(UI)的模式,并使其适应
在Android上运行的移动设备的制约系统。我们主要集中在主/从模式和相关的模式。成果是多方面的:我们的背景研究包括对一些现有的用户界面模式原则的一个简短小结。基于它,我们通过一个叫做MandroiD框架,针对手机,提供各种模式的适应新版本。我们还将提出一个基本的案例研究应用,该应用使用这种框架。本应用是用Android思想开发的。事实上,我们的目标之一是为读者提供一些Android应用程序开发有关的知识。常规移动设备的限制(例如,小屏幕)要求“减少”同质元素。 MandroiD克服这些约束。对所开发的小型应用程序进行统计分析。由各种用户评价来显示应用的人类工程学的基本满意度。
作者关键词
用户界面;图案;移动开发;Android系统。
ACM分类关键词
D.2.2[软件工程]:设计工具和技术 - 模块和接口;用户界面。
D.2.m[软件工程]:其它 - 快速原型;可重用的软件。
H.5.2[信息接口和演示]:用户界面 - 图形用户界面(GUI);风格指南;以用户为中心的设计。
H.5.3[信息接口和演示]:组与组织接口 - 评估/方法。
一般条款
算法;设计;语言。
介绍
正如在我们的日常生活中我们可以观察到,移动设备引进高层次的发展演变能力。现代计算和接口设计活动必须考虑到移动的限制器件[1,2,11],它通常具有小尺寸屏幕和没有物理控制器,诸如键盘和/或鼠标。
今天的文献的问题是,大部分的接口描述和生成模式[9]是专为桌面环境[8,10,15],因此缺乏支持与移动相关的操作生成模式。例如,屏幕的大小不是一个问题(没有谈及小尺寸屏幕与低分辨率)。无处不在的计算是不被这些模式所支持[11,14]。设计模式可用来捕捉不同的“大小”的基本问题。此外,记录设计知识模式的使用“把一个大问题区域划分成结构化设置的管理问题”[3]。这项工作的目的是提供一种适于版本,与评价,一些基于面向对象方法的现有设计模式,并且可能是对开发者和最终用户非常有用。
我们决定把重点放在基于Android的移动系统,而不是iPhone设备(iOS版为主)。我们的事实,Android开发是方便和自由,与社会上大力支持鼓励我们的选择。此外,Android的不能要求特定语言的任何附加的学习:Android应用程序是用Java编写的,这是所有开发人员已知的广泛的编程语言。iPhone应用程序依赖于Objective-C的可在学术类由它的物料需求少教训。然而,本文档中介绍的指南对这两种系统都有效。
结构
本文组织如下。第一部分着重于在[13]中引入一些模式背景研究。我们选择了三种主要模式:主/从,排序和过滤器模式。这个选择是出于这一事实很常见的模式,根据我们的经验,一般不支持移动计算。此外,他们中的一些人(如主/从模式)包括一个递归设计的概念是一个非常有趣的挑战。在第二部分中,我们提出一个框架,程序员可以使用这种模式实现用户界面。
之后,我们将一个基本的应用程序框架为例说明。目标是证明它对真实的应用程序是可用,比如car-configurator应用程序针对汽车经销商的客户(例如奥迪,宝马,等等)。最后,我们根据一些已经被外部和非技术用户评估的标准,提出一个统计分析,评估开发接口的总体质量。
相关工作
在本节中,我们探索一些需要在安卓系统上实现的现有设计模式。这个背景的研究是基于(12、13),提出了一个演示模型。这种方法是“方法论代表一个抽象的用户界面和向导设计独立的方式”。
我们不探讨提供所有的模式,但是对于一个给定的总体,我们重点结合的一些模式[8,10]是: 主/从、过滤器和排序准则。这个探索后,我们讨论一些在移动设备上设计用户界面指南。对于高质量接口,我们限制我们的研究构思一些最重要的规则。
过滤器和排序标准模式的定义是显而易见的。过滤器器模式是用于定义自定义标准,允许选择总体中的部分。排序标准模式主要用于总体按升序或降序排序的元素。在工作中搭建工具,我们一般通过创建一个通用过滤器器对象可以根据任何特定的扩展需求,并通过让开发人员创建任何类型的排序标准。在人机交互领域,这些辅助模式也类似于当前可用的集合模式目录[7,16]。
总体
总体单元是一个抽象定义为代表的一组元素。一般来说,总体用列表或数组实现。
主/从
主/从模式如图1所示。现在最有趣的模式,因为它结合了前面定义的概念:主部分,位于左边的图1中,由一个人口单位,也可以结合过滤器和排序准则。细节部分,在右边,可以是任何图形组件所需展示的细节所选元素的列表。框架中提出在下一节中,我们仍然保持通用,任何用户定义的组件可以的成员列表:即使是重要的元素是允许的。同样,细节可以是任何特定的组件,甚至一个嵌套的主/从结构。
图1 主从模式
安卓风格指南
基于Android开发意味着创建和使用活动,对应于应用程序在台式电脑上的“窗口”。虽然这种机制的目的是允许模块化设计,它应该被吝啬的使用,因为活动在系统中堆积。最终用户可以按后退按钮的装置导航在活动之间。因此,减少活动开始的数量是我们的主要目标框架。
一般来说,类似于桌面应用程序,我们必须保持用户和系统之间的交互尽可能清楚,为了不增加不必要的混乱。这个属性必须执行在Android系统,因为这种操作系统(OS)设备可以为没有物理键盘和鼠标的导航。
因此,我们尽量保持局限于简单的“点击”行为和预定义组件(例如,而不是手动输入日期,应该使用一个小部件)的交互。最后指导更是一个倾向于确保只有必要的信息显示,多余的数据最少的可能的安卓哲学的推荐。不像桌面环境,在宽屏幕的左边和右边没有空间显示额外的和不必要的数据。在构思图形用户界面时我们得考虑这项观察。
MANDROID:JAVA框架实现主/从模式
本文的目的不是为了为移动设备比较不同环境生成GUI,而是了解怎样的桌面模式(实现OlivaNova[10])可能会以什么代价为其他平台转移到另一个系统。此外,生成的gui工作的可用性检查。然后,这项工作的一个结果是一个叫做MandroiD Java框架。它的目标是通过主/从的模式实现接口。它的名字只是代表了一个模式名称的首字母与android词的组合。类组成的体系结构框架如图2所示。
图2 Mandoid的UML类图
布局提供者
我们首先定义一个抽象类,它的目的是声明一个常见的行为显示复杂的图形对象表示。我们称之为类LayoutProvider和定义一个方法getLayout()应该由接口创建过程调用。多亏了这个类,在复合元素中,我们可以定义任何类型的复杂的布局对象,和在其余部分框架中重用。视图是一个Android对象引用图形组件。活动对应于一个应用程序的窗口,它是必要的因为getLayout的定义()方法在子类通常构建组件,创建时都需要这个引用。例如,用户组件在一个白色的矩形块提供一个日期选择可以用LayoutProvider实现。
总体
下一个框架的砖是总体类。用于向用户表示图形元素的列表,因此它扩展了LayoutProvider类。列表由零到多个ListElement对象组成,这些对象是针对存储成对的图形元素和元素被点击时触发的操作。
过滤器和排序
过滤器和排序的标准可以分别通过过滤器对象和排序对象附加到总体。为了呈现给用户,他们都提供布局,激活和失活他们是抽象类,因此具体的过滤器必须根据应用程序的需要定义。定义一个新的过滤器手段实现keepInList()方法,如果给定的元素应该呆在列表中,返回true,否则,则返回false。定义排序标准排序类可以通过扩展和实现compareOrdered()方法。一旦用addFilter()和addOrdering()方法把过滤器和排序标准连接到总体,框架管理他们的显示、激活(通过用户输入)和失活。
主/从
至今最相关的点是MasterDetail类。这个类管理根据主/从模式显示元素,这种模式已在前一节中描述。其中,MasterDetail是由与主要部分一致的总体来和LayoutProvider对应的细节部分来定义。最有趣的来自细节部分的类型,它可以是任何LayoutProvider对象,包括嵌套MasterDetail。该框架可以处理(潜在)无限递归。双主元素和相应的细节可以添加addElement()方法,负责把元素插入到列表,并创建事件处理程序,当用户选定特定元素时,它将会更新细节部分。
expandMasterList()和hideMasterList()在内部通过“扩大”控制用来取代总体的,为了避免由于几个嵌套主从复合结构而使图形结构变得太大。在本节中,我们提出的内部体系结构框架。下一节提供了一个依赖MandroiD案例研究应用程序。
一个详细的汽车库
对于这个案例研究中,我们建立了一个基本的应用程序,利用我们的框架,MandroiD,构想图形用户界面。应用程序的目的是提供详细的信息描述的配置每个模型的汽车经销商。使用的基本内涵是潜在买家有兴趣探索未来汽车的所有细节。严格图形的角度来看,第一个应用程序的屏幕是一个要求用户选择一个经销商。每个屏幕内容遵循一般人机工程学规则[4]:
-
元素的一个窗口必须对齐。
2.创建一个屏幕上的平衡。
3.单一性的元素提供了更好的概述。
4.对于从一个中心点的一组有序元素插入规律与和协调。
第一步的有关模式是主/从和排序模式。首先,用户可以对品牌按字母顺序排序,其次,当选择一个品牌,细节(如汽车配置的下一步)呈现。如果用户想按降序排序模型,结果如图4.A所示。
图3 经销商选择(3.A)-模式选择(3.B)
图4 模式选择:DESC(降序)排序(4.A)-过滤(4.B)
然后,用户必须选择一个由Android系统标准按钮表示的汽车模型。基本上,这个步骤是和上一个一样实现的,使用主/从和排序,但是也还包含过滤器模式。在这种情况下,后者是使用,在不同的模型(即总体)只保留一个特定的分支。例如,如果用户选择“Q系列”复选框(参见图4.B)。
一旦模型被选中时,所产生的细节问题就涉及到汽车的外观风格的选择。这一步使用嵌套主/从模式。因此,它并不说明。接下来,用户可以指定选择和他/她想要的颜色在图5.A所示。颜色和选项按钮(即主体)呈现相同的视图点击时(即细节)。所以,我们只关注“选项”。通常,这个按钮的细节是一个选项列表,,再一次,使用主/从模式。当选择一个选项时,屏幕允许用户选择它的呈现。
要回到选项列表,可以点击“ 扩展”链接。当每次使用主/从模式来返回主体时,这个链接就会呈现。最后,汽车的预览。
图5 选项选择(5.A)-选项包含(5.B)
图6 预览
从技术的角度来看,由于我们的XML解析器与Android兼容,应用程序自动完成灌装。事实上,所有可用的包,在标准Java而不是Android SDK的部分,并且我们必须开发一个工具来帮助我们解析文本数据,以使应用程序更加灵活。在这种情况下,丢失的包是javax.xml。
鉴于这种开发工具,数据都是从一个xml文件抓取,然后在用户界面呈现。这种策略使更新汽车数据,甚至添加新的模型和/或品牌(无需重新编译应用程序)成为可能。算法背后的想法是这样的:每一次我们遇见xml文件中的一个节点,我们检查它的值并在xml文件中创建相应元素的属性指定。例子:一个带值”模式”的节点引起主元素的创建。接下来每个节点的值不同的“模式”关系到之前创建的模式(我们逐行浏览xml文件)。然后,根据下一个节点的值,主体和细节元素被创建并添加到之前的元素。如果该值等于“排序”或“过滤器”,相应的模式在适当主体的总体中初始化。这个XML解析器帮助我们维护我们的应用程序清晰和结构良好。对于用户界面执行质量和高效的团队工作而言,这两点是非常重要的。
统计分析
这是基于统计分析并且系统可用性调查问卷(PSSUQ)[5]。这种方法提供了一组问题(见表1),用户必须回答处理后的情况[17]。每个问题由一个5分李克特量表组成[6]
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[153994],资料为PDF文档或Word文档,PDF文档可免费转换为Word