一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

手势识别的实现方法、装置、设备及计算机可读存储介质与流程

2022-05-21 03:18:35 来源:中国专利 TAG:


1.本技术实施例涉及计算机技术领域,特别涉及一种手势识别的实现方法、装置、设备及计算机可读存储介质。


背景技术:

2.随着计算机技术的发展,一些app(application,应用程序)中的部分页面添加了方便用户操作的手势功能。例如,在一个具有通过下拉手势进行页面关闭功能的页面中,可以通过下拉手势来关闭该页面。而页面实现手势功能的前提是需要该页面能够对手势进行识别。
3.相关技术中,通过将设定的手势与该页面内的业务耦合的方式来使该页面能够识别该手势。然而,将手势与页面内的业务耦合所需的开发成本高,且页面内的业务与手势耦合后,使得这些与手势耦合的业务在后续维护时,需要先与手势解除耦合,因而增加了维护难度。


技术实现要素:

4.本技术实施例提供了一种手势识别的实现方法、装置、设备及计算机可读存储介质,可用于解决相关技术中的问题。所述技术方案如下:
5.一方面,本技术实施例提供了一种手势识别的实现方法,所述方法包括:
6.确定用于监测页面生命周期的接口;
7.响应于所述接口接收到目标页面的启动信息,向所述目标页面对应的视图容器中添加第一手势组件;
8.基于添加所述第一手势组件后的视图容器加载所述目标页面,以使所述目标页面实现对所述第一手势组件对应的手势进行识别。
9.在一种可能实现的方式中,所述响应于所述接口接收到目标页面的启动信息,向所述目标页面对应的视图容器中添加第一手势组件之前,还包括:基于所述接口接收启动信息;获取所述启动信息对应的待识别标识,所述待识别标识包括页面启动标识和来源标识中的至少一个,所述页面启动标识用于指示所述待识别信息对应的页面,所述来源标识用于指示所述待识别信息的来源;基于所述待识别标识确定所述启动信息为所述目标页面的启动信息。
10.在一种可能实现的方式中,所述基于所述待识别标识确定所述启动信息为所述目标页面的启动信息,包括:将所述待识别标识与各个页面进行匹配;响应于所述待识别标识与所述目标页面匹配成功,确定所述启动信息为所述目标页面的启动信息。
11.在一种可能实现的方式中,所述接口是生命周期回调activitylifecyclecallbacks接口,所述activitylifecyclecallbacks接口包括创建方法oncreate;所述响应于所述接口接收到目标页面的启动信息,向所述目标页面对应的视图容器中添加第一手势组件之前,还包括:基于所述创建方法oncreate创建所述目标页面对
应的视图容器。
12.在一种可能实现的方式中,所述响应于所述接口接收到目标页面的启动信息,向所述目标页面对应的视图容器中添加第一手势组件,包括:响应于所述接口接收到所述目标页面的启动信息,基于配置信息获取需要向所述目标页面添加的所述第一手势组件,向所述目标页面对应的视图容器中添加所述第一手势组件。
13.在一种可能实现的方式中,所述基于添加所述第一手势组件后的视图容器加载所述目标页面之后,还包括:关闭所述目标页面;响应于所述接口接收到所述目标页面的启动信息,且所述配置信息进行了更改,基于更改后的配置信息获取需要向所述目标页面添加的第二手势组件,向所述目标页面对应的视图容器中添加所述第二手势组件;基于添加所述第二手势组件后的视图容器加载所述目标页面,以使所述目标页面实现对所述第二手势组件对应的手势进行识别。
14.在一种可能实现的方式中,所述视图容器是所述目标页面的顶层视图容器。
15.另一方面,提供了一种手势识别的实现装置,所述装置包括:
16.第一确定模块,用于确定用于监测页面生命周期的接口;
17.第一添加模块,用于响应于所述接口接收到目标页面的启动信息,向所述目标页面对应的视图容器中添加第一手势组件;
18.第一加载模块,用于基于添加所述第一手势组件后的视图容器加载所述目标页面,以使所述目标页面实现对所述第一手势组件对应的手势进行识别。
19.在一种可能实现的方式中,所述装置还包括:
20.接收模块,用于基于所述接口接收启动信息;
21.获取模块,用于获取所述启动信息对应的待识别标识,所述待识别标识包括页面启动标识和来源标识中的至少一个,所述页面启动标识用于指示所述待识别信息对应的页面,所述来源标识用于指示所述待识别信息的来源;
22.第二确定模块,用于基于所述待识别标识确定所述启动信息为所述目标页面的启动信息。
23.在一种可能实现的方式中,所述第二确定模块,用于将所述待识别标识与各个页面进行匹配;响应于所述待识别标识与所述目标页面匹配成功,确定所述启动信息为所述目标页面的启动信息。
24.在一种可能实现的方式中,所述接口是生命周期回调activitylifecyclecallbacks接口,所述activitylifecyclecallbacks接口包括创建方法oncreate;所述装置还包括:创建模块,用于基于所述创建方法oncreate创建所述目标页面对应的视图容器。
25.在一种可能实现的方式中,所述第一添加模块,用于响应于所述接口接收到所述目标页面的启动信息,基于配置信息获取需要向所述目标页面添加的所述第一手势组件,向所述目标页面对应的视图容器中添加所述第一手势组件。
26.在一种可能实现的方式中,所述装置还包括:关闭模块,用于关闭所述目标页面;第二添加模块,用于响应于所述接口接收到所述目标页面的启动信息,且所述配置信息进行了更改,基于更改后的配置信息获取需要向所述目标页面添加的第二手势组件,向所述目标页面对应的视图容器中添加所述第二手势组件;第二加载模块,用于基于添加所述第
二手势组件后的视图容器加载所述目标页面,以使所述目标页面实现对所述第二手势组件对应的手势进行识别。
27.在一种可能实现的方式中,所述视图容器是所述目标页面的顶层视图容器。
28.另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以使所述计算机设备实现上述任一所述的手势识别的实现方法。
29.另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使计算机实现上述任一所述的手势识别的实现方法。
30.另一方面,还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令由处理器加载并执行,以使计算机实现上述任一所述的手势识别的实现方法。
31.本技术实施例提供的技术方案至少带来如下有益效果:
32.通过获取用于监测页面生命周期的接口来接收页面的启动信息,在接收到目标页面的启动信息后,向目标页面对应的视图容器中添加手势组件,之后,基于添加手势组件后的视图容器加载目标页面,此时,目标页面中与视图容器对应的区域实现了对手势组件对应的手势的识别。此种方式,由于是在页面对应的视图容器中添加手势组件,避免了将手势与页面内的业务相耦合,进而避免了因手势与页面内的业务耦合而使业务维护难度增加的问题,且手势组件可以复用于不同的页面,进一步降低开发成本。
附图说明
33.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1是本技术实施例提供的一种手势识别的实现方法实施环境的示意图;
35.图2是本技术实施例提供的一种手势识别的实现方法的流程图;
36.图3是本技术实施例提供的一种页面的示意图;
37.图4是本技术实施例提供的一种页面的示意图;
38.图5是本技术实施例提供的一种页面的示意图;
39.图6是本技术实施例提供的一种页面的示意图;
40.图7是本技术实施例提供的一种手势识别的实现装置示意图;
41.图8是本技术实施例提供的一种服务器的结构示意图;
42.图9是本技术实施例提供的一种终端的结构示意图。
具体实施方式
43.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
44.需要说明的是,本技术的说明书和权利要求书中的术语“第一”、“第二”等(如果存
在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
45.需要说明的是,本技术所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
46.在一些app(application,应用程序)的部分页面中,可以通过一些手势来对页面进行操作,而让页面可以根据手势进行操作的前提在于让页面实现手势识别。页面可以识别手势指的是,当检测到在该页面发生设定的触摸手势后,会对应产生一个信号,该信号可以用于关闭该页面,也可以是其他用途。相关技术中,使页面实现手势识别是在页面的内部来实现的,该实现方式需要将该页面对应的业务与设定的手势相耦合,以使该页面内的业务支持该手势识别,进而使得该页面可以实现手势识别。
47.然而,将页面对应的业务与设定的手势相耦合涉及页面的代码层面,将手势对应的代码与各个业务对应的代码相耦合所需的开发成本高,且不同的页面在实现手势识别时需要对应开发。页面内的业务与手势耦合后,使得这些与手势耦合的业务在后续维护时,需要先与手势解除耦合,因而增加了维护难度。
48.对此,本技术实施例提供了一种手势识别的实现方法,该方法在使页面实现手势识别时可以避免手势与页面对应的业务相耦合,进而降低了开发成本。请参考图1,其示出了本技术实施例提供的方法实施环境的示意图。该实施环境可以包括:终端11和服务器12。
49.其中,终端11配置有屏幕,该屏幕支持触摸操作,终端11中存储有用于实现手势识别的组件,终端11可以从服务器12中获取手势组件。服务器12中存储有手势组件。
50.可选地,终端11可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如pc(personal computer,个人计算机)、手机、智能手机、pda(personal digital assistant,个人数字助手)、可穿戴设备、ppc(pocket pc,掌上电脑)、平板电脑、智能车机、智能电视、智能音箱等。服务器12可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。终端11与服务器12通过有线或无线网络建立通信连接。
51.本领域技术人员应能理解上述终端11和服务器12仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本技术,也应包含在本技术保护范围以内,并在此以引用方式包含于此。
52.基于上述图1所示的实施环境,本技术实施例提供一种手势识别的实现方法,该方法由终端11。如图2所示,本技术实施例提供的方法可以包括如下步骤201和步骤202。
53.在步骤201中,确定用于监测页面生命周期的接口,响应于该接口接收到目标页面的启动信息,向目标页面对应的视图容器中添加第一手势组件。
54.在示例性实施例中,页面包括app内的页面,用于监测页面生命周期的接口由该app对应的生命周期回调activitylifecyclecallbacks接口提供。在示例性实施例中,用于
监测页面生命周期的接口是activitylifecyclecallbacks接口的子接口,确定用于监测页面生命周期的接口,包括:获取activitylifecyclecallbacks接口的子接口。在示例性实施例中,由于activitylifecyclecallbacks负责提供监测页面生命周期的接口,所以在获取activitylifecyclecallbacks接口的子接口前需要先创建activitylifecyclecallbacks接口的子接口。在示例性实施例中,该子接口包括但不限于创建方法oncreate。
55.由于页面不同生命周期的过渡由不同的方法来完成,在启动页面时,首先进行的是页面的创建,而创建页面由创建方法oncreate来完成。所以,在示例性实施例中,页面的启动信息由创建方法oncreate接收,因而,响应于用于监测页面生命周期的接口接收到目标页面的启动信息,向目标页面对应的视图容器中添加第一手势组件,包括:响应于创建方法oncreate接收到目标页面的启动信息,基于创建方法oncreate向目标页面对应的视图容器中添加第一手势组件。
56.其中,目标页面是本技术实施例中需要实现手势识别的页面。手势组件是基于设定手势预先封装好的组件,示例性地,设定手势为下拉手势。由于手势组件是向目标页面的视图容器中添加的组件,所以该手势组件与目标页面中各个业务的代码不存在耦合关系,即手势组件是独立的。因而,同一个手势组件可以复用在不同的目标页面,降低了使多个页面实现手势识别的开发成本。
57.在示例性实施例中,响应于用于监测页面生命周期的接口接收到目标页面的启动信息,向目标页面对应的视图容器中添加第一手势组件之前,需要该接口先接收到目标页面的启动信息。也就是说,在创建方法oncreate接收到目标页面的启动信息后,再向目标页面对应的视图容器中添加第一手势组件。因此,在示例性实施例中,响应于用于监测页面生命周期的接口接收到目标页面的启动信息,向目标页面对应的视图容器中添加第一手势组件之前,还包括:基于用于监测页面生命周期的接口接收启动信息;获取该启动信息对应的待识别标识;基于待识别标识确定该启动信息为目标页面的启动信息。
58.在示例性实施例中,待识别标识包括页面启动标识和来源标识中的至少一个。其中,页面启动标识用于指示启动信息对应的页面,来源标识用于指示启动信息的来源。在一种可能的实现方式中,从一个页面能够进入多个页面,且存在从多个页面进入同一页面的情况。而从一个页面进入另一个未启动的页面时,会产生一个页面的启动信息,该启动信息会被用于监测页面生命周期接口所包括的创建方法oncreate接收,但创建方法oncreate并不能直接通过该信息去创建对应的页面。对于创建方法oncreate来说,该信息的来源和作用的页面是不确定的,需要进一步解析才能确定。因此,在示例性实施例中,基于用于监测页面生命周期的接口接收到启动信息后,需要获取该启动信息对应的待识别标识,再基于待识别标识去确定该启动信息是否是目标页面的启动信息。示例性地,基于待识别标识确定该启动信息为目标页面的启动信息的过程包括:将待识别标识与各个页面进行匹配;响应于待识别标识与目标页面匹配成功,确定该启动信息为目标页面的启动信息。
59.在对待识别标识与各个页面进行匹配的情况进行说明之前,需要先说明页面启动标识以及来源标识与页面的关系。由于页面启动标识对应的要启动的页面,所以无论从哪一个页面进入预定需要启动的页面,页面启动标识指示的都是该预定需要启动的页面,因此,对于页面来说,一个页面对应一个页面启动标识。而进入一个页面时,可以从不同的页面进入,所以对于一个页面来说,从不同的页面进入该页面会对应的有不同的来源标识,例
如,从页面a进入页面b时,产生的启动信息对应的来源标识指示的为页面a,从页面c进入页面b时,产生的启动信息对应的来源标识指示的为页面b,所以一个页面对应的来源标识可以有多个。
60.需要明确的是,确定启动信息是否为目标页面的启动信息,目的在于确定在基于该启动信息去启动页面时,是否需要使该页面实现手势识别,若启动信息对应的页面是目标页面,则在启动该页面时需要使得该页面实现手势识别。在示例性实施例中,一个目标页面对应的来源标识是确定的,也就是说,从特定的页面进入该目标页面才需要使该目标页面实现手势识别,而从除特定页面外的其他页面进入该目标页面时,不需要使该目标页面实现手势识别。例如,可以进入页面d的页面有页面e和页面f,而从页面e进入页面d时才确定页面d为目标页面,而从页面f进入页面d时,页面d不为目标页面,此时,也就不需要使页面d实现手势识别。
61.在另一个示例性实施例中,一个目标页面对应的来源标识有多个,也就是说,从该多个来源标识对应的页面进入该目标页面时,都需要使得该目标页面实现手势识别。在另一个示例性实施例中,不同的目标页面对应的来源标识的数量存在不同,例如,目标页面g对应3个来源标识,目标页面h对应有5个来源标识。
62.明确页面与页面启动标识以及来源标识之间的关系后,再来对待识别标识与各个页面进行匹配的情况进行说明。在示例性实施例中,待识别标识包括页面启动标识和来源标识,将待识别标识与各个页面进行匹配,包括:将待识别标识包括的页面启动标识和来源标识,与各个页面对应的页面启动标识和来源标识进行匹配。在示例性实施例中,将待识别标识包括的页面启动标识和来源标识,与各个目标页面对应的页面启动标识和来源标识进行匹配成功的条件是,待识别标识包括的页面启动标识与目标页面对应的页面启动标识一致,待识别标识包括的来源标识与该目标页面对应的来源标识中的一个一致。
63.在另一个示例性实施例中,待识别标识包括页面启动标识和来源标识,将待识别标识与各个页面进行匹配,包括:将待识别标识包括的页面启动标识与页面对应的页面启动标识进行匹配,将待识别标识包括的来源标识对应的来源页面与该页面对应的入口页面进行匹配,入口页面是进入该页面的页面。
64.在另一个示例性实施例中,从设定页面进入的其他页面均为目标页面,也就是说,待识别标识包括的来源标识指示的页面为设定页面时,即可确定启动信息为目标页面的启动信息。需要说明是,这里的每一个目标页面仅可以从设定页面进入。因而,在获取待识别标识时,只需要获取来源标识即可,也就是说,在待识别标识与各个页面匹配时,匹配的内容为待识别标识包括的来源标识与各个页面对应的来源标识进行匹配;或者,匹配的内容为待识别标识包括的来源标识对应的来源页面与设定页面进行匹配。示例性地,页面i为设定页面,从页面i可以进入页面j和页面k,且仅可以从页面i进入页面j和页面k,因而,页面j和页面k均为目标页面。
65.在另一个示例性实施例中,页面是否为目标页面仅与该页面对应的页面启动标识相关,也就是说,从任意可以进入该页面的前一个页面进入该页面,都需要使该页面实现手势识别。因而在此种情况下,在确定启动信息是否为目标页面的启动信息时,只需要确定启动信息对应的待识别标识包括的页面启动标识与目标页面对应的页面启动标识是否一致即可。
66.响应于待识别标识与目标页面匹配成功,确定启动信息为目标页面的启动信息,即创建方法oncreate接收到的信息为目标页面的启动信息后,需要进行的步骤为:向目标页面对应的视图容器中添加第一手势组件。
67.在说明向目标页面对应的视图容器中添加第一手势组件之前,需要对视图容器进行说明。在示例性实施例中,用于监测页面生命周期的接口接收到任一页面对应的启动信息后,会基于创建方法oncreate创建该页面的视图容器,再调用该页面的布局资源,将该页面的布局资源添加至视图容器中,之后,基于视图容器去加载该页面,最终使该页面可视化。所以,目标页面的视图容器是在创建该目标页面时由创建方法oncreate创建得到的。因而,在示例性实施例中,响应于用于监测页面生命周期的接口接收到目标页面的启动信息,向目标页面对应的视图容器中添加第一手势组件之前,需要进行的步骤为:基于创建方法oncreate创建目标页面对应的视图容器。
68.在示例性实施例中,视图容器有不同的层级,不同层级的视图容器包裹目标页面的区域不同,即不同层级的视图容器对应目标页面中的不同区域。示例性地,目标页面的顶层视图容器对应目标页面的整个区域。
69.在示例性实施例中,向目标页面对应的视图容器中添加第一手势组件之前,需要先获取第一手势组件。在另一个示例性实施例中,向目标页面对应的视图容器中添加第一手势组件之前,需要先获取与启动信息对应的手势组件。在示例性实施例中,与启动信息对应的手势组件,包括:与来源标识对应的手势组件;或者,与页面启动标识对应的手势组件;或者,与来源标识和页面启动标识对应的手势组件。例如,从页面l进入目标页面时,获取到的手势组件能够识别的手势均为下拉手势。再例如,从任意页面进入目标页面m时,获取到的手势组件能够识别的手势均为右划手势。又例如,从页面n进入目标页面o时,获取到的手势组件能够识别的手势为左划手势,从除页面n外其他页面进入目标页面o时,获取到的手势组件为随机手势组件。
70.在另一个示例性实施例中,响应于用于监测页面生命周期的接口接收到目标页面的启动信息,向目标页面对应的视图容器中添加第一手势组件,包括:响应于用于监测页面生命周期的接口接收到目标页面的启动信息,基于配置信息获取需要向目标页面添加的第一手势组件,向目标页面对应的视图容器中添加第一手势组件。
71.关于配置信息如何设置本技术实施例不做限制,可选地,配置信息可以针对每一个目标页面单独设计,即用于监测页面生命周期的接口接收到不同目标页面的启动信息,对应获取不同的第一手势组件。可选地,配置信息还可以是针对于全部的目标页面进行设计,即无论用于监测页面生命周期的接口接收到哪一个目标页面的启动信息,获取的第一手势组件均为同一个手势组件。可选地,配置信息还可以根据目标页面对应的来源标识进行设计,即用于监测页面生命周期的接口接收到拥有同一来源标识的目标页面的启动信息,对应获取同一个第一手势组件。
72.在示例性实施例中,向目标页面对应的视图容器中添加第一手势组件,包括:基于创建方法oncreate向目标页面对应的视图容器中添加第一手势组件。
73.在步骤202中,基于添加第一手势组件后的视图容器加载目标页面,以使目标页面实现对第一手势组件对应的手势进行识别。
74.在将第一手势组件添加到目标页面的视图容器后,基于添加第一手势组件后视图
容器加载目标页面,此时,加载出的目标页面可以识别第一手势组件对应的手势。示例性地,如图3所示,添加第一手势组件后的视图容器对应目标页面1中的区域301,则区域301能够实现对第一手势组件对应的手势的识别,例如,手第一势组件对应的手势为下拉手势,则在区域301中能够实现对下拉手势的识别。
75.在示例性实施例中,添加第一手势组件的视图容器为目标页面的顶层视图容器decorview,基于添加第一手势组件后的decorview加载出的目标页面中,与decorview对应的区域为整个目标页面,也就是说,目标页面的整个区域能够实现对第一手势组件对应的手势的识别。例如,第一手势组件对应的手势为左划手势,则在目标页面对应的全部区域中能够实现对左划手势的识别。
76.需要说明的是,目标页面为人工预先设定好的页面。因此,若后续需要使非目标页面变为目标页面,或者将目标页面变为非目标页面时,对应在设定的目标页面集合中添加对应的页面,或者去除对应的页面即可。由于该设定与页面内的业务代码无关,所以在修改设定时所需的开发成本小,即本技术实施例提供的手势识别的实现方法,在复用或取消使用时所需的开发成本小。
77.在示例性实施例中,需要该更换目标页面可以识别的手势,或者增加目标页面可以识别的手势时,可以通过更改配置信息的方式来实现。因而,在示例性实施例中,基于添加第一手势组件后的视图容器加载目标页面之后,还包括的步骤有:关闭目标页面;响应于用于识别页面生命周期的接口接收到目标页面的启动信息,且配置信息进行了更改,基于更改后的配置信息获取需要向目标页面添加的第二手势组件,向目标页面对应的视图容器中添加第二手势组件;基于添加第二手势组件后的视图容器加载目标页面,以使目标页面实现对第二手势组件对应的手势进行识别。在示例性实施例中,第二手势组件对应的手势包括第一手势组件对应的手势。在另一个示例性实施例中,第二手势组件对应的手势组件与第一手势组件对应的手势不同。
78.在另一个示例性实施例中,通过在目标页面对应的多个视图容器中添加识别同一个手势的手势组件的方式,使整个目标页面实现对手势组件对应的手势的识别,该多个视图容器在目标页面中对应的区域相叠加可以将整个目标页面覆盖。在示例性实施例中,多个视图容器在目标页面中对应的区域相叠加后覆盖整个目标页面,包括:情况1,如图4所示,添加识别同一个手势的手势组件的3个视图容器,在目标页面2中对应的区域401-区域403相叠加后不存在重叠;情况2,如图5所示,添加识别同一个手势的手势组件的3个视图容器,在目标页面3中对应的区域501-区域503相叠加后存在重叠,其中,重叠部分为区域501与区域503之间的重叠。
79.在另一个示例性实施例中,通过在目标页面对应的不同的视图容器中,添加识别不同手势的手势组件,使得目标页面中不同的区域实现对不同手势的识别。示例性地,如图6所示,区域601对应的视图容器中添加的手势组件对应的手势为下划手势,区域602对应的视图容器中添加的手势组件对应的手势为上划手势,因此,在目标页面4中,区域601可以识别下划手势,区域602可以识别上划手势。
80.在另一个示例性实施例中,通过在目标页面对应的同一视图容器中,添加识别不同手势的手势组件,使得目标页面中与该视图容器对应的区域可以识别不同的手势。示例性地,在目标页面对应的同一视图容器中添加用于识别左划手势的手势组件和用于识别右
划手势的手势组件,使得目标页面中与该视图容器对应的区域可以实现对左划手势的识别,也可实现对右划手势的识别。
81.在另一个示例性实施例中,通过在目标页面对应的视图容器中添加识别手势的手势组件,以及将目标页面中与该视图容器对应的区域之外的区域与手势相耦合,使整个目标页面实现对手势的识别。其中,向视图容器中添加的手势组件对应的手势与通过耦合实现手势识别的手势为同一手势。
82.在示例性实施例中,目标页面中与添加手势组件的视图容器对应的区域,识别到手势组件对应的手势后,产生一个可以消费的信号,关于该信号的用途本技术实施例不做限制,例如,该信号用于关闭目标页面。
83.在本技术实施例中,通过获取用于监测页面生命周期的接口来接收页面的启动信息,在接收到目标页面的启动信息后,向目标页面对应的视图容器中添加手势组件,之后,基于添加手势组件后的视图容器加载目标页面,此时,目标页面中与视图容器对应的区域实现了对手势组件对应的手势的识别。此种方式,由于是在页面对应的视图容器中添加手势组件,避免了将手势与页面内的业务相耦合,进而避免了因手势与页面内的业务耦合而使业务维护难度增加的问题,且手势组件可以复用于不同的页面,进一步降低开发成本。
84.参见图7,本技术实施例提供了一种手势识别的实现装置,该装置包括:
85.第一确定模块701,用于确定用于监测页面生命周期的接口;
86.第一添加模块702,用于响应于接口接收到目标页面的启动信息,向目标页面对应的视图容器中添加第一手势组件;
87.第一加载模块703,用于基于添加第一手势组件后的视图容器加载目标页面,以使目标页面实现对第一手势组件对应的手势进行识别。
88.在一种可能实现的方式中,该装置还包括:
89.接收模块,用于基于接口接收启动信息;
90.获取模块,用于获取启动信息对应的待识别标识,待识别标识包括页面启动标识和来源标识中的至少一个,页面启动标识用于指示待识别信息对应的页面,来源标识用于指示待识别信息的来源;
91.第二确定模块,用于基于待识别标识确定启动信息为目标页面的启动信息。
92.在一种可能实现的方式中,第二确定模块,用于将待识别标识与各个页面进行匹配;响应于待识别标识与目标页面匹配成功,确定启动信息为目标页面的启动信息。
93.在一种可能实现的方式中,接口是生命周期回调activitylifecyclecallbacks接口,activitylifecyclecallbacks接口包括创建方法oncreate;该装置还包括:
94.创建模块,用于基于创建方法oncreate创建目标页面对应的视图容器。
95.在一种可能实现的方式中,第一添加模块702,用于响应于接口接收到目标页面的启动信息,基于配置信息获取需要向目标页面添加的第一手势组件,向目标页面对应的视图容器中添加第一手势组件。
96.在一种可能实现的方式中,该装置还包括:
97.关闭模块,用于关闭目标页面;
98.第二添加模块,用于响应于接口接收到目标页面的启动信息,且配置信息进行了更改,基于更改后的配置信息获取需要向目标页面添加的第二手势组件,向目标页面对应
的视图容器中添加第二手势组件;
99.第二加载模块,用于基于添加第二手势组件后的视图容器加载目标页面,以使目标页面实现对第二手势组件对应的手势进行识别。
100.在一种可能实现的方式中,视图容器是目标页面的顶层视图容器。
101.在本技术实施例中,通过获取用于监测页面生命周期的接口来接收页面的启动信息,在接收到目标页面的启动信息后,向目标页面对应的视图容器中添加手势组件,之后,基于添加手势组件后的视图容器加载目标页面,此时,目标页面中与视图容器对应的区域实现了对手势组件对应的手势的识别。此种方式,由于是在页面对应的视图容器中添加手势组件,避免了将手势与页面内的业务相耦合,进而避免了因手势与页面内的业务耦合而使业务维护难度增加的问题,且手势组件可以复用于不同的页面,进一步降低开发成本。
102.需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
103.图8是本技术实施例提供的一种服务器的结构示意图,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,cpu)801和一个或多个存储器802,其中,该一个或多个存储器802中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器801加载并执行,以使该服务器实现上述各个方法实施例提供的手势识别的实现方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
104.图9是本技术实施例提供的一种终端的结构示意图。该终端可以是:智能手机、平板电脑、mp3(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)播放器、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
105.通常,终端包括有:处理器901和存储器902。
106.处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
107.存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可
以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行,以使该终端实现本技术中方法实施例提供的手势识别的实现方法。
108.在一些实施例中,终端还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
109.外围设备接口903可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
110.射频电路904用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
111.显示屏905用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置在终端的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在另一些实施例中,显示屏905可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
112.摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不
同色温下的光线补偿。
113.音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
114.定位组件908用于定位终端的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件908可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
115.电源909用于为终端中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
116.在一些实施例中,终端还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
117.加速度传感器911可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
118.陀螺仪传感器912可以检测终端的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端的3d动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
119.压力传感器913可以设置在终端的侧边框和/或显示屏905的下层。当压力传感器913设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用户对显示屏905的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
120.指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置在终端的正面、背面或侧面。当终端上设置有物理按键或厂商logo(商标)时,指纹传感器914可以与物理按键或厂商logo集成在一起。
121.光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学
传感器915采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
122.接近传感器916,也称距离传感器,通常设置在终端的前面板。接近传感器916用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。
123.本领域技术人员可以理解,图9中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
124.在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条计算机程序。该至少一条计算机程序由一个或者一个以上处理器加载并执行,以使该计算机设备实现上述任一种手势识别的实现方法。
125.在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由计算机设备的处理器加载并执行,以使计算机实现上述任一种手势识别的实现方法。
126.在一种可能实现方式中,上述计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
127.在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令由处理器加载并执行,以使计算机实现上述任一种手势识别的实现方法。
128.应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
129.以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献