基于手势创建应用程序的方法及装置制造方法

文档序号:6503510阅读:110来源:国知局
基于手势创建应用程序的方法及装置制造方法
【专利摘要】本发明提供一种基于手势创建应用程序的方法及装置。其方法该方法应用在带有触摸显示设备的终端,包括:终端检测和识别作用在所述触摸显示设备上的手势事件;终端确定手势事件在应用程序设计时的界面中关联的界面元素;终端生成应用程序在运行时界面元素响应手势事件的事件处理命令;终端根据手势事件、界面元素和事件处理命令建立应用程序的手势处理模块。本发明的技术方案,能够根据应用程序设计时输入的手势定义应用程序运行时界面元素响应手势事件的处理功能,建立应用程序的手势识别处理模块,可以为开发者省去了编码实现手势识别及其处理功能的环节,简化了开发过程,降低了开发难度,扩展了应用程序支持的手势操作类型。
【专利说明】基于手势创建应用程序的方法及装置

【技术领域】
[0001] 本发明实施例涉及通信设备【技术领域】,尤其涉及一种基于手势创建应用程序的方 法及装置。

【背景技术】
[0002] 基于触摸的手势技术已经广泛应用于当前的智能手机、平板电脑等带有触摸显示 设备的移动终端,这些终端中的应用程序支持多种触摸手势。当用户使用单个或多个手指 触击屏幕及在屏幕上移动时,系统跟踪记录手指的特征、位置和接触时间,将这些数据对象 生成触摸事件不断发送给应用程序。应用程序将触摸事件传递给关联的界面元素,界面元 素接收到触摸事件,激活事件处理命令(Event Handler,也称事件处理器),事件处理命令 根据多个相关联的触摸事件计算出正在执行的手势,按照手势动作类型产生响应,比如对 于单指轻击的手势,响应是选中界面对象;对于双指缩放的手势,响应是缩放屏幕内容。
[0003] 现有的移动平台,如Android、iOS、Windows Phone,提供了一些简单手势事件的 检测和手势识别,比如轻击、长按、拖动和缩放等手势。但对于复杂、特定轨迹的手势,如多 指头运动、划线(比如划" V")、有向手势等,则移动平台没有提供这些手势的识别功能,应 用程序需要实现整个识别过程:监听属于同一个手势的触摸开始、触摸移动、触摸结束三种 事件,根据事件中的触点数据分析手势轨迹特征,判断出手势类型,响应执行该类型手势对 应的功能。这就给应用程序的开发工作带来了一定困难,而现有的开发工具在开发触摸应 用程序时,需要开发者采用编写代码方式在事件处理函数中实现手势的识别,需要开发者 具备一定的编程和算法基础,这也加大了应用开发的难度。现在的开发工具主要运行在PC (Personal Computer,个人计算机)平台中,无法在平板电脑等流行的带有触摸显示设备的 终端中使用,而现有的带有触摸显示设备的移动终端中创建应用的开发工具非常少,不能 满足用户在带有触摸显示设备的移动终端上工作的需求。因此,亟需提供一种能够应用在 带有触摸显示设备的终端中的基于手势创建应用程序的技术方案。


【发明内容】

[0004] 本发明实施例提供一种基于手势创建应用程序的方法及装置,用以提供一种在带 有触摸显示设备的终端中的手势创建应用的技术方案,以扩展应用程序支持的手势操作类 型,简化用户操作。
[0005] 第一方面,本发明实施例提供一种基于手势创建应用的方法,该方法应用在带有 触摸显示设备的终端,包括:
[0006] 所述终端检测和识别作用在所述触摸显示设备上的手势事件;
[0007] 所述终端确定所述手势事件在应用程序设计时的界面中关联的界面元素;
[0008] 所述终端生成所述应用程序在运行时所述界面元素响应所述手势事件的事件处 理命令;
[0009] 所述终端根据所述手势事件、所述界面元素和所述事件处理命令建立所述应用程 序的手势处理模块。
[0010] 结合第一方面,在第一方面的第一种实现方式中,根据所述手势事件、所述界面元 素和所述事件处理命令建立所述应用程序的手势处理模块,包括:
[0011] 根据所述手势事件中的所述手势信息建立所述应用程序的手势库;
[0012] 建立记录有所述手势事件、所述界面元素和所述事件处理命令的映射关系的所述 应用程序的命令映射库;
[0013] 建立手势识别单元,所述手势识别单元用于识别所述手势事件;
[0014] 以及建立命令执行单元,所述命令执行单元用于从所述手势识别单元获取识别的 所述手势事件,确定所述手势事件关联的所述界面元素,根据所述命令映射库中的所述映 射关系获取所述界面元素和所述手势事件所对应的所述事件处理命令,调用并执行所述事 件处理命令。
[0015] 结合第一方面及其第一实现方式,在第一方面的第二种实现方式中,确定所述手 势事件在应用程序设计时的界面中关联的界面元素,包括 :
[0016] 确定所述手势事件在所述应用程序设计时的界面中关联的界面元素以及作用区 域;所述作用区域为所述手势事件作用在所述界面元素中的局部区域;
[0017] 生成所述应用程序在运行时所述界面元素响应所述手势事件的事件处理命令,包 括:
[0018] 生成所述应用程序在运行时所述界面元素中的所述作用区域响应所述手势事件 的事件处理命令;
[0019] 此时对应的所述命令映射库中记录所述界面元素、所述作用区域、所述手势事件 与所述事件处理命令的映射关系。
[0020] 结合第一方面及期第二实现方式,在第一方面的第三种实现方式中,所述命令执 行单元具体用于从所述手势识别单元获取识别的所述手势事件,确定所述手势事件关联的 所述界面元素以及所述作用区域,根据所述命令映射库中的所述映射关系获取所述界面元 素、所述作用区域和所述手势事件所对应的所述事件处理命令,调用并执行所述事件处理 命令。
[0021] 结合第一方面及期第三实现方式,在第一方面的第四种实现方式中,所述命令执 行单元具体用于从所述手势识别单元获取识别的所述手势事件,确定所述手势事件关联 的所述界面元素以及所述作用区域,在所述命令映射库中获取满足如下条件的所述映射关 系:界面元素标识等于所述界面元素标识、作用区域包括所述作用区域、手势事件标识等于 所述手势事件标识;获取所述映射关系中的所述事件处理命令,调用并执行所述事件处理 命令。
[0022] 第二方面,本发明实施例还提供一种基于手势创建应用程序的装置,该装置应用 在带有触摸显示设备的终端,包括:
[0023] 检测模块,用于检测和识别作用在所述触摸显示设备上的手势事件;确定模块,用 于确定所述手势事件在应用程序设计时的界面中关联的界面元素;
[0024] 生成模块,用于生成所述应用程序在运行时所述界面元素响应所述手势事件的事 件处理命令;
[0025] 建立模块,用于根据所述手势事件、所述界面元素和所述事件处理命令建立所述 应用程序的手势处理模块。
[0026] 结合第二方面,在第二方面的第一种实现方式中,所述建立模块,包括:
[0027] 手势库建立子模块,用于根据所述手势事件中的所述手势信息建立所述应用程序 的手势库;
[0028] 命令映射库建立子模块,用于建立记录有所述手势事件、所述界面元素和所述事 件处理命令的映射关系的所述应用程序的命令映射库;
[0029] 手势识别单元建立子模块,用于以及建立手势识别单元,所述手势识别单元用于 识别所述手势事件;
[0030] 命令执行单元建立子模块,用于建立命令执行单元,所述命令执行单元用于从所 述手势识别单元获取识别的所述手势事件,确定所述手势事件关联的所述界面元素,根据 所述命令映射库中的所述映射关系获取所述界面元素和所述手势事件所对应的所述事件 处理命令,调用并执行所述事件处理命令。
[0031] 结合第二方面及其第一实现方式,在第二方面的第二种实现方式中,所述确定模 块,具体用于确定所述手势事件在所述应用程序设计时的界面中关联的界面元素以及作用 区域;所述作用区域为所述手势事件作用在所述界面元素中的局部区域;
[0032] 所述生成模块,具体用于生成所述应用程序在运行时所述界面元素中的所述作用 区域响应所述手势事件的事件处理命令;
[0033] 所述建立模块,具体用于根据所述手势事件、所述界面元素、所述作用区域和所述 事件处理命令建立所述应用程序的手势处理模块。
[0034] 结合第二方面及其第二实现方式,在第二方面的第三种实现方式中,所述命令执 行单元建立子模块建立的所述命令执行单元具体用于从所述手势识别单元获取识别的所 述手势事件,确定所述手势事件关联的所述界面元素以及所述作用区域,根据所述命令映 射库中的所述映射关系获取所述界面元素、所述作用区域和所述手势事件所对应的所述事 件处理命令,调用并执行所述事件处理命令。
[0035] 结合第二方面及其第三实现方式,在第二方面的第四种实现方式中,所述命令执 行单元建立子模块建立的所述命令执行单元具体用于从所述手势识别单元获取识别的所 述手势事件,确定所述手势事件关联的所述界面元素以及所述作用区域,在所述命令映射 库中获取满足如下条件的所述映射关系:界面元素标识等于所述界面元素标识、作用区域 包括所述作用区域、手势事件标识等于所述手势事件标识;获取所述映射关系中的所述事 件处理命令,调用并执行所述事件处理命令。
[0036] 本发明实施例提供一种基于手势创建应用程序的方法及装置,通过采用上述技术 方案,能够弥补现有技术的不足实现在带有触摸显示设备的移动终端中创建应用程序,满 足用户在带有触摸显示设备的移动终端上工作的需求。由于带有触摸显示设备的移动终 端本身可以具有识别手势等功能,从而本发明实施例的技术方案可以使用在带有触摸显示 设备的移动终端上。而且本发明实施例的技术方案,能够根据应用程序设计时输入的手势 定义应用程序运行时界面元素响应手势事件的处理功能,建立应用程序的手势识别处理模 块,可以为开发者省去了编码实现手势识别及其处理功能的环节,简化了开发过程,降低了 开发难度,扩展了应用程序支持的手势操作类型,极大的简化了用户的操作。

【专利附图】

【附图说明】
[0037] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以 根据这些附图获得其他的附图。
[0038] 图1为本发明一实施例提供的基于手势创建应用程序的方法的流程图;
[0039] 图2为本发明实施例提供的显示了 IDE的一种用户界面图;
[0040] 图3为本发明实施例提供的显示了 IDE的另一种用户界面图;
[0041] 图4为本发明实施例提供的采用可视化流程设计生成事件处理命令的示意图;
[0042] 图5为本发明实施例提供的采用功能配置方式生成事件处理命令的示意图;
[0043] 图6为本发明实施例建立的应用程序的手势处理模块的结构示意图;图7为本发 明一实施例提供的基于手势创建应用程序的装置的结构示意图;
[0044] 图8为本发明另一实施例提供的基于手势创建应用程序的装置的结构示意图;
[0045] 图9描述了本发明另一个实施例提供的基于手势创建应用程序的装置的结构示 意图。

【具体实施方式】
[0046] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047] 现有的触摸应用程序开发工具,主要在PC平台中使用,如Eclipse、Xcode。在开 发触摸应用程序时,需要开发者使用相应平台的SDK编写代码实现对用户手势输入的识别 和处理,开发工具本身并没有提供任何手势识别及处理的快捷方式。开发者除了使用界面 设计器设计应用界面外,还需使用代码编辑器编写程序的逻辑代码,包括处理用户的手势 输入。虽然现有SDK提供了一个组件(如UIGesture Recognizer,用户界面手势识别)用于 识别手势,但仅支持轻击、长按、拖动和缩放等几个简单手势,其他手势则需要应用程序自 己实现手势识别的细节。
[0048] 基于以上所述,现有技术中的应用程序需要自主实现一些复杂手势的识别,添加 一个特定手势支持功能的步骤较麻烦,开发的工作量和难度较大。而且大量编码实现方式 使得开发工具在带有触摸显示设备(如触摸屏)的移动终端上的成本变得较高,限制了其使 用。因此本发明实施例提供本发明的手势创建应用程序的技术方案,以弥补现有技术的不 足,提供一种可以应用在带有触摸显示设备的移动终端中的应用程序开发工具,以降低触 摸应用程序的开发难度,节约开发成本,提高开发效率,且有利于扩展应用程序支持的手势 操作类型。详细可以参见下述本发明实施例的具体内容。
[0049] 本发明实施例涉及到事件处理命令。一般来说,事件处理命令指应用程序或其软 件单元接收到某种事件(如用户输入事件、系统消息事件)后进行处理的动作,是一种逻辑 功能。在一些实施例中,事件处理命令是一个函数或类方法,其概念等同于编程术语"事件 处理函数"或"事件处理器";而在另一些实施例中,事件处理命令是一个特定的应用程序功 能或命令。
[0050] 本发明实施例涉及到开发工具的界面设计器。界面设计器用于设计应用程序的用 户界面。界面设计器包含两种视图方式:设计视图和触摸视图。处于设计视图时,界面设计 器响应手势事件,执行应用程序界面元素的结构、布局、样式属性的修改,以创建应用程序 的用户界面;处于触摸视图时,界面设计器响应手势事件,根据手势事件中的手势信息定义 应用程序界面元素在运行时响应同类型手势事件的处理行为,即事件处理命令,以创建应 用程序的触摸交互功能。设计视图与触摸视图可以相互切换,当界面设计器检测到"切换到 触摸视图"事件后,将当前视图从设计视图切换到触摸视图,更改其手势事件处理机制。
[0051] 图1为本发明一实施例提供的基于手势创建应用程序的方法的流程图。如图1所 示,本实施例的基于手势创建应用程序的方法,该方法应用在带有触摸显示设备的终端,具 体可以包括如下步骤:
[0052] 100、终端检测和识别作用在触摸显示设备上的手势事件;
[0053] 本实施例的手势事件包括手势信息和触摸事件。例如可以通过触摸屏来实现检测 和识别手势事件。
[0054] 101、终端确定手势事件在应用程序设计时的界面中关联的界面元素;
[0055] 102、终端生成应用程序在运行时界面元素响应手势事件的事件处理命令;
[0056] 其中该事件处理命令是应用程序在运行时,界面元素接收到与当前手势事件同类 型的手势事件后所响应的功能。其中,同类型是指两个手势事件的手势经过识别后被判断 为特征相似,属于同一种手势类型。
[0057] 103、终端根据手势事件、事件处理命令建立应用程序的手势处理模块。
[0058] 也就是说,应用程序的手势处理模块用于在接收到该手势事件时,执行对应的该 事件处理命令。
[0059] 本实施例的基于手势创建应用程序的方法的执行主体为基于手势创建应用程序 的装置。该装置主要适用于开发应用程序的开发者,也可以称为开发工具设备。例如该装 置具体可以运行在带有触摸显示设备的终端上,便于开发者基于手势创建应用程序。
[0060] 本实施例主要限定了开发创建应用程序的手势处理模块的方法,也是区别于现有 的基于PC开发应用程序的关键所在。例如创建应用程序可能还包括创建应用程序的用户 界面,本发明实施例中的基于手势创建应用程序的方法中不限定创建应用程序的用户界面 的方法,详细可以参考相关现有技术,在此不再赘述。
[0061] 本实施例的基于手势创建应用程序的方法,通过采用上述技术方案,能够弥补现 有技术的不足,实现在带有触摸显示设备的移动终端中创建应用程序,满足开发者在带有 触摸显示设备的移动终端上工作的需求。由于带有触摸显示设备的移动终端本身可以具有 识别手势等功能,从而本实施例的技术方案可以使用在带有触摸显示设备的移动终端上。 而且本实施例的技术方案,能够根据应用程序设计时输入的手势定义应用程序运行时界面 元素响应手势事件的处理功能,建立应用程序的手势识别处理模块,可以为开发者省去了 编码实现手势识别及其处理功能的环节,简化了开发过程,降低了开发难度,扩展了应用程 序支持的手势操作类型。
[0062] 可选地,在上述图1所示实施例的技术方案的基础上,例如步骤100在具体实现 时,可以在触摸显示设备上呈现一个界面设计器区域中来检测和识别手势事件,界面元素 也要位于界面设计器区域内,且是在设计中的应用程序界面内。且根据本实施例的上述方 法,可以检测和识别多个手势事件,并生成每一种手势事件关联的每一个界面元素对应的 时间处理命令,从而建立能够在检测到每一种手势事件及作用的界面元素时,生成一个对 应的事件处理命令。
[0063] 进一步可选地,上述实施例中的触摸事件可以包括单点触摸事件或者多点触摸事 件;手势信息包括手势类型和手势特征信息。
[0064] 其中手势事件可以包含多个触摸事件和手势信息:每个触摸事件包含有一个或多 个触点信息,每个触点信息包括触点标识符、坐标、时间戳等;手势信息包含手势类型和手 势特征等信息。其中手势事件可以以手势类型进行分类,每个手势事件都有一个手势类型 名称。如果当前手势事件的手势不在现有记录的手势类型中,则开发工具会设置一个新的 手势类型名称,该名称可以由用户自定义。
[0065] 因此,基于手势创建应用程序的装置或者开发工具设备在实现步骤100"检测和识 别手势事件"时,需要检测多个特定组合的触摸事件,分析触点轨迹,提取出手势特征,识别 手势类型,从而得到手势事件。
[0066] 可选地,在上述图1所示实施例的技术方案的基础上,其中步骤103 "根据手势事 件、界面元素和事件处理命令建立应用程序的手势处理模块",具体可以包括如下步骤: [0067] (1)根据手势事件中的手势信息建立应用程序的手势库;
[0068] 该手势库保存了应用程序所支持的手势特征信息(比如手势模板),以支持应用程 序的手势识别。
[0069] (2)建立记录有界面元素、手势事件与事件处理命令的映射关系的应用程序的命 令映射库;
[0070] 该命令映射库记录应用程序界面元素、手势事件与事件处理命令的映射关系,一 个界面元素和一种特定类型的手势事件形成一组,对应着一个事件处理命令。命令映射库 既可以是一个逻辑实体,以静态代码方式表达映射关系;也可以是一个数据结构,比如具有 两个键的哈希表,其中,界面元素和事件处理命令使用唯一标识属性(id或名称)表示,手势 事件使用手势类型名称表示。在一些实施例中,限定了手势事件只作用在应用程序界面元 素的局部区域,则命令映射库记录的是界面元素、指定的局部区域、手势事件与事件处理命 令的映射关系。
[0071] (3)建立手势识别单元,该手势识别单元用于识别手势事件;
[0072] 该手势识别单元用于识别应用程序的手势事件,根据手势库记录的数据识别手势 类型。由于应用程序的手势库已保存当前手势事件的手势信息,因此手势识别单元也能够 识别应用程序在运行时所接收到的同类型的手势事件。
[0073] (4)建立命令执行单元,该命令执行单元用于从手势识别单元获取识别的手势事 件,确定手势事件关联的界面元素,根据命令映射库中的映射关系获取界面元素和手势事 件所对应的事件处理命令,调用并执行事件处理命令。
[0074] 其中命令执行单元判断手势事件关联的界面元素,其方法在于:界面元素的区域 与手势事件的第一个触点坐标重叠的顶层的界面元素。在一些实施例中,手势事件可以在 相关联的界面元素之间传递,比如类似Web页面的Dom冒泡事件流模型,将手势事件从最初 确定的界面元素到其父级元素,由内到外传递,直到根元素(窗口)。此时,关联的界面元素 有多个,命令执行单元会依照手势事件的传递方向调用命令映射库所记录的,当前关联的 界面元素和当前手势事件所对应的事件处理命令(如果存在该事件处理命令),或者,只调 用第一个事件处理命令。
[0075] 可选地,在上述图1所示实施例的技术方案的基础上,其中步骤102 "确定手势事 件在应用程序设计时的界面中关联的界面元素",包括:确定与手势事件的触摸事件中的第 一个触点相接触的顶层的界面元素;或确定与手势事件对应的预先指定的界面元素。
[0076] 在一些实施例中,该界面元素是原生渲染的⑶I (Graphical User Interface,图 形用户界面)对象,与应用程序运行时的界面中对应的界面元素一致,具有相同的外观、属 性和事件,但被屏蔽了某些事件处理;在一些实施例中,该界面元素只是一个简单的⑶I对 象(比如图形符号),用来模拟对应的应用程序界面元素。该界面元素可以是一个按钮、文 本、输入框、图片、菜单或图标等,或由这些元素组成的组合界面元素,或窗口对象。
[0077] 上述实施例方式是以手势事件作用在界面元素上为例来说明,当手势事件具体作 用到界面元素某一作用区域的场景时,可选地,其中上述图1所示实施例中的步骤101 "确 定手势事件在应用程序设计时的界面中关联的界面元素",具体可以包括:确定手势事件在 应用程序设计时的界面中关联的界面元素以及作用区域;该作用区域即为手势事件作用在 界面元素中的局部区域。此时即暗含着该手势事件作用在该界面元素的不同区域,产生的 时间处理命令不相同。
[0078] 其中步骤102 "生成应用程序在运行时界面元素响应手势事件的事件处理命令", 具体可以包括:生成应用程序在运行时界面元素中的作用区域响应手势事件的事件处理命 令。
[0079] 其中步骤103"根据手势事件、界面元素和事件处理命令建立应用程序的手势处理 模块",具体可以包括:根据手势事件、界面元素、作用区域和事件处理命令建立所述应用程 序的手势处理模块。
[0080] 此时对应的上述步骤(2)"建立记录有界面元素、手势事件与事件处理命令的映射 关系的应用程序的命令映射库",具体可以包括:(2)建立记录有界面元素、作用区域、手势 事件与事件处理命令的映射关系的应用程序的命令映射库。
[0081] 进一步可选地,在上述技术方案的基础上,上述实施例中的步骤(4)中建立的命令 执行单元具体用于从手势识别单元获取识别的手势事件,确定手势事件关联的界面元素以 及作用区域,根据命令映射库中的映射关系获取界面元素、作用区域和手势事件所对应的 事件处理命令,调用并执行事件处理命令。
[0082] 进一步可选地,在上述技术方案的基础上,上述实施例中的步骤(4)中建立的命 令执行单元具体用于从手势识别单元获取识别的手势事件,确定手势事件关联的界面元素 以及作用区域,在命令映射库中获取满足如下条件的映射关系:界面元素标识等于确定的 手势事件关联的界面元素标识、作用区域包括确定的手势事件关联的界面元素中的作用区 域、手势事件标识等于手势识别单元识别的手势事件标识;获取映射关系中的事件处理命 令,调用并执行事件处理命令。
[0083] 其中界面元素标识可以为界面元素的ID,手势事件标识也可以为手势事件的ID。 为了能够对各个界面元素、各种手势事件做区别,可以在各个界面元素标识ID,以加区分; 可以在手势库中对各个手势事件标识ID,以加区分。
[0084] 进一步可选地,在上述技术方案的基础上,上述实施例中的步骤102 "生成应用程 序在运行时界面元素响应同类型手势事件的事件处理命令",具体可以包括:采用代码编辑 的方式生成事件处理命令;或者采用可视化流程设计方式生成事件处理命令;或者采用功 能配置方式生成事件处理命令。
[0085] 例如,基于手势创建应用程序的装置或者开发工具设备可以显示该事件处理命令 的编辑窗口,供用户编辑或设置,以生成事件处理命令。提供的编辑方式有多种,如可以包 括:
[0086] 代码编辑方式,基于手势创建应用程序的装置或者开发工具设备接收到的事件处 理命令内容是用户输入的一段代码,比如一个函数或一个类方法;
[0087] 可视化流程设计方式,基于手势创建应用程序的装置或者开发工具设备接收到的 事件处理命令内容是用户设计的一个逻辑流程,开发工具将该逻辑流程转换为等价的应用 程序可执行代码;
[0088] 功能配置方式,基于手势创建应用程序的装置或者开发工具设备接收到的事件处 理命令内容是用户配置一个已有的应用程序功能,比如跳转到首页、前进、后退、翻页等已 定义好的应用程序功能,开发工具将该功能与所述事件处理命令关联在一起。
[0089] 需要说明的是,基于手势创建应用程序不仅包括创建应用程序的手势处理模块, 还可以包括创建应用程序的用户界面,其中创建应用程序的用户界面可以参考现有技术的 在PC平台中创建应用程序的用户界面的方式。
[0090] 上述实施例的所有可选技术方案,可以采用可结合的方式任意组合形成本发明的 可选实施例,在此不再赘述。
[0091] 上述实施例的基于手势创建应用程序的方法,通过采用上述技术方案,能够弥补 现有技术的不足,由于带有触摸显示设备的移动终端本身可以具有识别手势等功能,从而 上述实施例的技术方案可以实现在带有触摸显示设备的移动终端中创建应用程序,满足开 发者在带有触摸显示设备的移动终端上工作的需求。而且本实施例的技术方案,能够根据 应用程序设计时输入的手势定义应用程序运行时界面元素响应手势事件的处理功能,建立 应用程序的手势识别处理模块,可以为开发者省去了编码实现手势识别及其处理功能的环 节,简化了开发过程,降低了开发难度,扩展了应用程序支持的手势操作类型。
[0092] 例如下面以本发明实施例中的技术方案应用在一种创建触摸应用程序的开发工 具IDE (Integrated Development Environment,集成开发环境)为例,描述本发明的技术 方案,其中IDE默认指这种开发工具。该IDE在带触摸屏的如平板电脑之类的终端中运行, 能够识别触摸手势进行响应。IDE的界面设计器用于创建应用程序的用户界面,代码编辑器 或逻辑设计器用于创建应用程序的逻辑功能。
[0093] 图2为本发明实施例提供的显示了 IDE的一种用户界面图。如图2所示,该用户 界面图中包含工具栏、资源管理器、界面设计器、工具箱、属性窗口等多个视图。工具栏定义 IDE的一些常规操作命令,如创建/保存应用程序项目、保存、编辑前进、后退等命令,工具 栏能根据当前选中对象的类型显示相关联的操作命令。资源管理器显示和管理应用程序项 目文件以及应用程序在运行期涉及到的资源文件,如界面文件、代码文件、逻辑流程文件、 图片等。界面设计器位于设计区域内,是IDE的主要视图。工具箱显示当前设计器需要用 到的工具资源符号,比如当前设计器是界面设计器时,工具箱列出了各种界面元素控件(文 本框、按钮、下拉框、复选框、列表、布局组件等),如果当前设计器是逻辑设计器时,工具箱 展示的是数据处理组件,如界面元素对象、API组件、数据运算符组件。属性窗口显示当前 选中对象(例如控件)的属性列表,包含属性名称和属性值。除了工具栏、设计器外,其他视 图提供了隐藏窗口的功能,以在平板电脑之类的终端上最大化显示设计区域。
[0094] 在本发明一具体实施例中,以用户使用该IDE开发的一个移动阅读器的应用程序 为例,来说明本发明方案。该移动阅读器支持的手势包括:
[0095] 轻击:打开选中书籍;
[0096] 手势"一":翻到上一页;
[0097] 手势"一":翻到上一页;
[0098] 双指缩放:放大或缩小当前页面大小;
[0099] 手势"V":返回到当前书籍的书目;
[0100] 手势:跳转到书籍查询页面;
[0101] 手势"X":退出阅读器;
[0102] IDE的界面设计器处于设计视图状态时,响应用户的操作手势以修改应用程序的 设计界面。比如用户对阅读器界面中的文本框做出了缩放手势,则界面设计器则放大/缩 小文本框的区域大小;用户对阅读器界面中的按钮做出了拖拽平移手势,则界面设计器将 按钮移动到新的位置。
[0103] 图3为本发明实施例提供的显示了 IDE的另一种用户界面图。如图3所示,用户 设计好移动阅读器的用户界面后,将界面设计器切换到触摸视图,以配置界面元素的手势 事件处理命令,创建移动阅读器的触摸交互功能。比如用户在IDE的工具栏中点击"切换视 图"按钮,界面设计器检测到该按钮事件后,将当前视图从设计视图切换到触摸视图,锁定 了用户对移动阅读器界面的修改,更换了界面设计器响应用户手势动作的处理行为。
[0104] 下面将以上述实施例创建的移动阅读器为例具体描述本发明创建应用程序的手 势处理模块实现触摸交互功能以及逻辑处理功能的过程。
[0105] 移动阅读器的一项触摸交互功能是,检测到用户输入的划V手势,跳转到阅读器 的书目页面。以移动阅读器的这项功能为例,具体描述本发明方案,其步骤如下:
[0106] 1、检测、识别手势事件。IDE检测在界面设计器触摸视图上产生的触摸事件,记录 当前手势的触摸事件序列,识别手势。比如,在本实施例中,IDE检测到用户在界面设计器 上对用于显示书籍内容的文本框contentTextBox所做出的单指划V手势。划V是一个动 态手势,具有连续的动作轨迹,因此,该手势产生了多个触摸事件,包括一个触摸开始事件、 多个触摸移动事件、一个触摸结束事件。一个触摸事件包含了一个或多个触点信息,每个触 点信息包含触点标识符、坐标、时间戳等数据。触点、触摸事件、手势事件的结构及关系如下 的伪代码表示:
[0107]
[0108]

【权利要求】
1. 一种基于手势创建应用程序的方法,该方法应用在带有触摸显示设备的终端,其特 征在于,包括: 所述终端检测和识别作用在所述触摸显示设备上的手势事件; 所述终端确定所述手势事件在应用程序设计时的界面中关联的界面元素; 所述终端生成所述应用程序在运行时所述界面元素响应所述手势事件的事件处理命 令; 所述终端根据所述手势事件、所述界面元素和所述事件处理命令建立所述应用程序的 手势处理模块。
2. 根据权利要求1所述的方法,其特征在于,根据所述手势事件、所述界面元素和所述 事件处理命令建立所述应用程序的手势处理模块,包括: 根据所述手势事件中的所述手势信息建立所述应用程序的手势库; 建立记录有所述手势事件、所述界面元素和所述事件处理命令的映射关系的所述应用 程序的命令映射库; 建立手势识别单元,所述手势识别单元用于识别所述手势事件; 以及建立命令执行单元,所述命令执行单元用于从所述手势识别单元获取识别的所述 手势事件,确定所述手势事件关联的所述界面元素,根据所述命令映射库中的所述映射关 系获取所述界面元素和所述手势事件所对应的所述事件处理命令,调用并执行所述事件处 理命令。
3. 根据权利要求2所述的方法,其特征在于,确定所述手势事件在应用程序设计时的 界面中关联的界面元素,包括:确定所述手势事件在所述应用程序设计时的界面中关联的 界面元素以及作用区域;所述作用区域为所述手势事件作用在所述界面元素中的局部区 域; 生成所述应用程序在运行时所述界面元素响应所述手势事件的事件处理命令,包括: 生成所述应用程序在运行时所述界面元素中的所述作用区域响应所述手势事件的事件处 理命令; 根据所述手势事件、所述界面元素和所述事件处理命令建立所述应用程序的手势处理 模块,包括:根据所述手势事件、所述界面元素、所述作用区域和所述事件处理命令建立所 述应用程序的手势处理模块。
4. 根据权利要求3所述的方法,其特征在于,所述命令执行单元具体用于从所述手势 识别单元获取识别的所述手势事件,确定所述手势事件关联的所述界面元素以及所述作用 区域,根据所述命令映射库中的所述映射关系获取与所述界面元素、所述作用区域和所述 手势事件所对应的所述事件处理命令,调用并执行所述事件处理命令。
5. 根据权利要求4所述的方法,其特征在于,所述命令执行单元具体用于从所述手势 识别单元获取识别的所述手势事件,确定所述手势事件关联的所述界面元素以及所述作用 区域,在所述命令映射库中获取满足如下条件的所述映射关系:界面元素标识等于所述界 面元素标识、作用区域包括所述作用区域、手势事件标识等于所述手势事件标识;获取所述 映射关系中的所述事件处理命令,调用并执行所述事件处理命令。
6. -种基于手势创建应用程序的装置,该装置应用在带有触摸显示设备的终端,其特 征在于,包括: 检测模块,用于检测和识别作用在所述触摸显示设备上的手势事件;确定模块,用于确 定所述手势事件在应用程序设计时的界面中关联的界面元素; 生成模块,用于生成所述应用程序在运行时所述界面元素响应所述手势事件的事件处 理命令; 建立模块,用于根据所述手势事件、所述界面元素和所述事件处理命令建立所述应用 程序的手势处理模块。
7. 根据权利要求6所述的装置,其特征在于,所述建立模块,包括: 手势库建立子模块,用于根据所述手势事件中的所述手势信息建立所述应用程序的手 势库; 命令映射库建立子模块,用于建立记录有所述手势事件、所述界面元素和所述事件处 理命令的映射关系的所述应用程序的命令映射库; 手势识别单元建立子模块,用于以及建立手势识别单元,所述手势识别单元用于识别 所述手势事件; 命令执行单元建立子模块,用于建立命令执行单元,所述命令执行单元用于从所述手 势识别单元获取识别的所述手势事件,确定所述手势事件关联的所述界面元素,根据所述 命令映射库中的所述映射关系获取所述界面元素和所述手势事件所对应的所述事件处理 命令,调用并执行所述事件处理命令。
8. 根据权利要求7所述的装置,其特征在于: 所述确定模块,具体用于确定所述手势事件在所述应用程序设计时的界面中关联的界 面元素以及作用区域;所述作用区域为所述手势事件作用在所述界面元素中的局部区域; 所述生成模块,具体用于生成所述应用程序在运行时所述界面元素中的所述作用区域 响应所述手势事件的事件处理命令; 所述建立模块,具体用于根据所述手势事件、所述界面元素、所述作用区域和所述事件 处理命令建立所述应用程序的手势处理模块。
9. 根据权利要求8所述的装置,其特征在于,所述命令执行单元建立子模块建立的所 述命令执行单元具体用于从所述手势识别单元获取识别的所述手势事件,确定所述手势事 件关联的所述界面元素以及所述作用区域,根据所述命令映射库中的所述映射关系获取所 述界面元素、所述作用区域和所述手势事件所对应的所述事件处理命令,调用并执行所述 事件处理命令。
10. 根据权利要求9所述的装置,其特征在于,所述命令执行单元建立子模块建立的所 述命令执行单元具体用于从所述手势识别单元获取识别的所述手势事件,确定所述手势事 件关联的所述界面元素以及所述作用区域,在所述命令映射库中获取满足如下条件的所述 映射关系:界面元素标识等于所述界面元素标识、作用区域包括所述作用区域、手势事件标 识等于所述手势事件标识;获取所述映射关系中的所述事件处理命令,调用并执行所述事 件处理命令。
【文档编号】G06F3/0488GK104216646SQ201310209999
【公开日】2014年12月17日 申请日期:2013年5月30日 优先权日:2013年5月30日
【发明者】邱宏丰, 徐文华, 赵清伟 申请人:华为软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1