CN115826970A - 可见即可说ui组件库生成方法及装置、ui界面生成方法 - Google Patents
可见即可说ui组件库生成方法及装置、ui界面生成方法 Download PDFInfo
- Publication number
- CN115826970A CN115826970A CN202211472127.4A CN202211472127A CN115826970A CN 115826970 A CN115826970 A CN 115826970A CN 202211472127 A CN202211472127 A CN 202211472127A CN 115826970 A CN115826970 A CN 115826970A
- Authority
- CN
- China
- Prior art keywords
- visible
- component
- speak
- interface
- readable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种可见即可说UI组件库生成方法及装置、UI界面生成方法,所述可见即可说UI组件库生成方法包括:定义接口类;定义可见即可说UI组件,所述可见即可说UI组件用于实现接口类;定义可见即可说实现类,所述可见即可说实现类用于实现可见即可说UI组件的可见即可说功能;将所述接口类、可见即可说UI组件和可见即可说实现类打包生成可见即可说UI组件库jar包。通过本方法生成的可见即可说UI组件库进行UI界面开发,将业务逻辑与语音解耦,避免了由于代码逻辑复杂,容易出BUG的情况。同时,只需要生成一个可见即可说UI组件库可以供多个应用使用,实现快速高效的开发可见即可说UI界面。
Description
技术领域
本申请涉及UI界面开发技术领域,具体涉及一种可见即可说UI组件库生成方法、可见即可说UI组件库生成装置、UI界面生成方法、语音交互方法和语音系统。
背景技术
目前多数实现可见即可说上报和执行功能是需要业务开发时增加相应的代码,用于对每个要执行可见即可说的控件进行注册。以实现把相关信息上报给语音;同时针对用户的语音指令命中的控件执行操作也需要业务端增加相应代码来处理。这样的实现方式存在如下问题:1、开发业务的同时,开发语音相关的代码来实现可见即可说的控件注册,这样会导致业务逻辑和语音逻辑藕合,代码逻辑复杂性增大,出bug的几率增大;2、对于解决相应bug的分析解决变得复杂,需要同时分析业务方面的问题,语音方面的问题,语音和业务的结合问题,不利于后期维护;3、由于业务端的开发较多,每个人开发的模式不尽相同,会导致可见即可说的上报和执行功能的实现方式不一致,有不可控性。
因此,希望有一种技术方案来解决或至少减轻现有技术的上述不足。
发明内容
本发明的目的在于提供一种可见即可说UI组件库生成方法来至少解决上述的一个技术问题。
本发明的一个方面,提供一种可见即可说UI组件库生成方法,所述可见即可说UI组件库生成方法包括:
定义接口类;
定义可见即可说UI组件,所述可见即可说UI组件用于实现接口类;
定义可见即可说实现类,所述可见即可说实现类用于实现可见即可说UI组件的可见即可说功能;
将所述接口类、可见即可说UI组件和可见即可说实现类打包生成可见即可说UI组件库jar包。
可选地,所述可见即可说UI组件库生成方法还包括:
在接口类中定义设置可见即可说属性的方法和获取可见即可说属性的方法;
定义可见即可说UI组件与系统组件库的继承关系。
可选地,所述定义可见即可说实现类包括:
在可见即可说实现类内定义页面监听方法,所述页面监听方法用于对当前页面进行监听;
在可见即可说实现类定义组件触发方法,所述组件触发方法用于根据指令对可见即可说UI组件进行触发。
可选地,所述定义页面监听方法用于执行以下步骤:
获取当前页面;
判断当前页面是否变化;若是,则
遍历当前页面所有的控件;
根据每个控件的属性和遍历过程中赋予的控件ID按照预设规则生成可见即可说控件数据库,同时将每个控件的属性和遍历过程中赋予的控件ID以控件集的方式存储在本地;
将所述可见即可说控件数据库发送至语音系统。
可选地,所述组件触发方法用于执行以下步骤:
获取语音系统发送的指令信息;
根据指令信息在控件集查找所述控件;
判断该控件的操作类型;
根据所述操作类型生成所述控件的控制信号。
另一方面,本申请还提供了一种可见即可说UI组件库生成装置,所述可见即可说UI组件库生成装置包括:
接口类定义模块,所述接口类定义模块用于定义接口类;
可见即可说UI组件定义模块,所述可见即可说UI组件定义模块用于定义可见即可说UI组件,所述可见即可说UI组件用于实现接口类;
可见即可说实现类定义模块,所述可见即可说实现类定义模块用于定义可见即可说实现类,所述可见即可说实现类用于实现可见即可说UI组件的可见即可说功能;
打包模块,所述打包模块用于将所述接口类、可见即可说UI组件和可见即可说实现类打包生成可见即可说UI组件库jar包。
另一方面,本申请还提供了一种UI界面生成方法,所述UI界面生成方法包括:
获取通过如上所述的可见即可说UI组件库生成方法生成的可见即可说UI组件库jar包;
获取待开发UI界面的参数;
引用所述可见即可说UI组件库jar包并根据所述待开发UI界面的参数生成UI界面。
另一方面,本申请还提供了一种语音交互方法,所述语音交互方法包括:
获取通过如上所述的UI界面生成方法生成的UI界面发送的可见即可说控件数据库;
获取语音指令;
根据所述语音指令在所述可见即可说控件数据库中获取该语音指令命中的控件信息;
根据所述控件信息生成指令信息;
将所述指令信息发送至组件触发方法,以使得所述组件触发方法根据所述指令信息对当前页面进行控制。
可选地,所述可见即可说数据库包括组件标题和组件ID;
所述根据所述语音指令在所述可见即可说数据库中获取该语音指令命中的控件信息包括:
解析所述语音指令得到语义信息;
根据所述语义信息与组件标题进行匹配,获得对应的控件ID。
另一方面,本申请还提供了一种语音系统,所述语音系统用于执行如上任意一项所述的语音交互方法。
有益效果
在本申请的可见即可说UI组件库生成方法中,通过定义接口类供UI界面引用本组件;通过定义可见即可说UI组件来实现接口类,供待开发的UI界面引用完成控件的设置;通过定义可见即可说实现类来实现可见即可说UI组件的可见即可说功能。通过本方法生成的可见即可说UI组件库进行UI界面开发,将业务逻辑与语音解耦,避免了由于代码逻辑复杂,容易出BUG的情况。同时,只需要生成一个可见即可说UI组件库可以供多个应用使用,实现快速高效的开发可见即可说UI界面。
附图说明
图1是本申请一实施例的可见即可说UI组件库生成方法的流程示意图。
图2是本申请一实施例的能够实现图1所示的可见即可说UI组件库生成方法的电子设备示意图。
图3是本申请一实施例的判断控件的操作类型方法的流程示意图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本申请一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本申请的实施例进行详细说明。
目前多数实现可见即可说上报和执行功能是需要业务开发时增加相应的代码,用于对每个要执行可见即可说的控件进行注册。以实现把相关信息上报给语音系统;同时针对用户的语音指令命中的控件执行操作也需要业务端增加相应代码来处理。本申请提供了一种可见即可说UI组件库生成方法,通过本申请提供的方法生成的可见即可说UI组件库进行UI界面的开发,可以有效减少业务开发的工作量,值得说明的是,通过本方法生成一个可见即可说UI组件库可以供多个应用或UI界面使用,避免了每个UI界面的开发时都单独实现可见即可说功能的巨大工作量。下面以使用JAVA为例来详细讲解本方法。可以知道的是,本方法同样可以应用于其他编程语言。
图1是本申请一实施例的可见即可说UI组件库生成方法的流程示意图。
参照图1,本申请提供了一种可见即可说UI组件库生成方法,可见即可说UI组件库生成方法包括:
定义接口类;
定义可见即可说UI组件,可见即可说UI组件用于实现接口类;
定义可见即可说实现类,可见即可说实现类用于实现可见即可说UI组件的可见即可说功能;
将接口类、可见即可说UI组件和可见即可说实现类打包生成可见即可说UI组件库jar包。
在本申请的可见即可说UI组件库生成方法中,通过定义接口类供UI界面引用本组件;通过定义可见即可说UI组件来实现接口类,供待开发的UI界面引用完成控件的设置;通过定义可见即可说实现类来实现可见即可说UI组件的可见即可说功能。通过本方法生成的可见即可说UI组件库进行UI界面开发,将业务逻辑与语音解耦,避免了由于代码逻辑复杂,容易出BUG的情况。同时,只需要生成一个可见即可说UI组件库可以供多个应用使用,实现快速高效的开发可见即可说UI界面。
在一实施例中,可见即可说UI组件库生成方法还包括:
在接口类中定义设置可见即可说属性的方法和获取可见即可说属性的方法;
定义可见即可说UI组件与系统组件库的继承关系。
在本方法中通过定义设置可见即可说属性的方法和获取可见即可说属性的方法以供UI界面开发时设置可见即可说属性和获取可见即可说属性;通过定义可见即可说UI组件与系统组件库的继承关系实现可见即可说UI组件的运行基础。
举例来说,首先定义一个可见即可说组件库组件都需要实现的接口类ISwysView,该接口中可以自定义一些属性,这些属性用于标识可见即可说功能,例如:WidgetTitle(控件标题)、WidgetType(控件类型)、WidgetIntention(控件意图)。同时,该接口中定义设置和获取这些属性的方法,例如:setWidgetTitle(String widgetTitle)、getWidgetTitle()、setWidgetTytpe(int widgetType)、getWidgetType();每一个属性都对应有类似的get/set方法,get方法是获取设置的属性,set方法是设置属性值。
组件类型指文本、图标、滑动组件、开关等。组件意图是指用户可以用哪些话术可以命中,例如:开关控件,用户可以说“打开xxx、关闭xxx”,xxx的指就是WidgetTitle(控件标题,一种控件的属性);
定义可见即可说UI组件,可见即可说UI组件库中组件都继承了Android系统标准组件并实现上一步中定义的接口类;例如:在组件库中定义SwysTextView(可见即可说文字控件)继承系统TextView(文字控件)实现ISwysView()类。ISwysView是上面第一步所述的可见即可说UI的接口类,所有的可见即可说UI组件库中组件都实现类该接口,该接口类用于区分出来UI组件是否是可见即可说的UI组件,另外该接口类中定义类获取设置可见即可说相关属性的方法,不同的可见即可说UI组件,实现该接口,并实现接口中定义的获取设置可见即可说相关属性的方法。因为不同的UI组件设置的属性不同,所有接口类只定义获取设置可见即可说相关属性的方法,获取设置可见即可说相关属性的方法由实现该接口的各个UI组件自己来重写。
定义页面监听类,例如,在组件库中定义SwysApplication类继承Android系统Application类。该类中使用系统提供的registerActivityLifecycleCallbacks()方法监听应用所有界面的生命周期。
在一实施例中,定义可见即可说实现类包括:
在可见即可说实现类内定义页面监听方法,页面监听方法用于对当前页面进行监听;
在可见即可说实现类定义组件触发方法,组件触发方法用于根据指令对可见即可说UI组件进行触发。
在一实施例中,定义页面监听方法用于执行以下步骤:
获取当前页面;
判断当前页面是否变化;若是,则
遍历当前页面所有的控件;
根据每个控件的属性和遍历过程中赋予的控件ID按照预设规则生成可见即可说控件数据库,同时将每个控件的属性和遍历过程中赋予的控件ID以控件集的方式存储在本地;
将可见即可说控件数据库发送至语音系统。
举例来说,定义SwysApplication类,SwysApplication类继承Android系统的Application类。
在SwysApplication中可以使用系统提供的registerActivityLifecycleCallbacks()方法监听应用所有界面的生命周期,当应用有界面显示的时候系统会在onActivityResumed(Activity activity)方法的回调,根据当前显示的界面的Activity获取界面的ContentView,该Content View是个树形结构,从根View开始遍历ContentView树上的所有子View;
同时给Content View增加界面变化的监听(ViewTreeObserver.OnGlobalLayoutListener())和滑动监听(ViewTreeObserver.OnScrollChangedListener())。
在遍历ContentView的时候,根据每个字节点View的类型和定义的可见即可说的属性,组装成和语音系统定义好的协议格式;当Contentview遍历完成,数据也组装完成了,然后再把组装的协议数据作为可见即可说控件数据库发给语音系统,遍历View的时候,会给每个View生成唯一的一个ID,然后这个ID当作key,把所有的View以控件集合的方式存起来;
当界面变化或者滑动时,会重新遍历ContentView,组装数据,发送给语音系统;
在涉及到有些页面是弹窗形式,提供registerView和unregisterView的方法,注册registerView之后,会执行遍历的动作;unregisterView会清空改界面组装的数据,去注册监听。
在一实施例中,组件触发方法用于执行以下步骤:
获取语音系统发送的指令信息;
根据指令信息在控件集查找控件;
判断该控件的操作类型;
根据操作类型生成控件的控制信号。
举例来说,指令信息包括控件ID和属性;
根据从遍历View存起来的集合中找到对应的View。根据View类型不同执行不同的动作。
参照图3,例如:判断该控件的操作类型;
根据操作类型生成控件的控制信号包括:
判断该控件是否设置了回调接口;若是,则
生成业务控件的控制信号;
判断该控件是否为滑动控件;若是,则
生成模拟手指滑动的控制信号;
判断当前控件是否为滑动条;若是,则
生成设置滑动条的值的控制信号;
若都为否,则生成模拟手指点击控件的控制信号。
模拟手指滑动,是向该View发送系统的MotionEvent.ACTION_DOWN\MotionEvent.ACTION_MOVE\MotionEvent.ACTION_UP的事件。
设置滑动条是调用系统的SeekBar.setProgress()方法。
模拟手指点击是是向该View发送系统的MotionEvent.ACTION_DOWN\MotionEvent.ACTION_UP的事件。
基于本申请提供的可见即可说UI组件库生成方法生成的可说UI组件库,进行UI界面开发并实现可见即可说功能,具有以下效果:1、进行一次可说UI组件库的开发,可以供多个应用或UI界面进行业务开发(此处的业务时指UI开发的具体工作,例如,包括页面的控件、页面的效果、不同页面的关联关系等),在业务开发时,无需关注可见即可说的语音逻辑,可以有效减少业务开发人员的工作量;2、将可见即可说的语音协议和UI界面解耦,减少代码的复杂逻辑,减少出bug的几率;3、对于语音方面出现的bug,可以直接通过更改可见即可说UI组件库进行修复,无需对每个应用分别进行修复,减少了bug修复的工作量;4、避免了由于业务端的开发较多,每个人开发的模式不尽相同,会导致可见即可说的上报和执行功能的实现方式不一致的问题。
另一方面,本申请还提供了一种可见即可说UI组件库生成装置,可见即可说UI组件库生成装置包括:
接口类定义模块,接口类定义模块用于定义接口类;
可见即可说UI组件定义模块,可见即可说UI组件定义模块用于定义可见即可说UI组件,可见即可说UI组件用于实现接口类;
可见即可说实现类定义模块,可见即可说实现类定义模块用于定义可见即可说实现类,可见即可说实现类用于实现可见即可说UI组件的可见即可说功能;
打包模块,打包模块用于将接口类、可见即可说UI组件和可见即可说实现类打包生成可见即可说UI组件库jar包。
可以理解的是,上述对方法的描述,也同样适用于对装置的描述。
另一方面,本申请还提供了一种UI界面生成方法,UI界面生成方法包括:
获取通过如上述中任意一项的可见即可说UI组件库生成方法生成的可见即可说UI组件库jar包;
获取待开发UI界面的参数;
引用可见即可说UI组件库jar包并根据待开发UI界面的参数生成UI界面。
本申请提供的UI界面生成方法基于可见既可说UI组件库进行发开,在开发时无需关注语音相关的逻辑和语音与UI界面的对应关系,开发步骤同普通的UI界面的开发步骤相同,将UI界面与语音协议进行解耦。避免了由于代码逻辑复杂,容易出BUG的情况。同时,在修复BUG时,无需进行语音相关的调整,简单易用。
另一方面,本申请还提供了一种语音交互方法,语音交互方法包括:
获取通过如上述的UI界面生成方法生成的UI界面发送的可见即可说控件数据库;
获取语音指令;
根据语音指令在可见即可说控件数据库中获取该语音指令命中的控件信息;
根据控件信息生成指令信息;
将指令信息发送至组件触发方法,以使得组件触发方法根据指令信息对当前页面进行控制。
在一实施例中,可见即可说数据库包括组件标题和组件ID;
根据语音指令在可见即可说数据库中获取该语音指令命中的控件信息包括:
解析语音指令得到语义信息;
根据语义信息与组件标题进行匹配,获得对应的控件ID。
举例来说,当用户说界面上的某个词语,例如:界面上有歌手“周杰伦”图标,GUI点击该图标就会播放歌曲;当用户说“周杰伦”,语音系统会根据上面组件库上报的可见即可说数据库,检索命中该控件;将该控件的ID和属性发送至上文中的组件触发方法。组件触发方法对该控件进行控制。
另一方面,本申请还提供了一种语音系统,语音系统用于执行如上述任意一项的语音交互方法。
本申请还提供了一种电子设备,包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,处理器执行计算机程序时实现如上的可见即可说UI组件库生成方法。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时能够实现如上的可见即可说UI组件库生成方法。
图2是能够实现根据本申请一个实施例提供的可见即可说UI组件库生成方法的电子设备的示例性结构图。
如图2所示,电子设备包括输入设备501、输入接口502、中央处理器503、存储器504、输出接口505以及输出设备506。其中,输入接口502、中央处理器503、存储器504以及输出接口505通过总线507相互连接,输入设备501和输出设备506分别通过输入接口502和输出接口505与总线507连接,进而与电子设备的其他组件连接。具体地,输入设备504接收来自外部的输入信息,并通过输入接口502将输入信息传送到中央处理器503;中央处理器503基于存储器504中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器504中,然后通过输出接口505将输出信息传送到输出设备506;输出设备506将输出信息输出到电子设备的外部供用户使用。
也就是说,图2所示的电子设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及一个或多个处理器,该一个或多个处理器在执行计算机可执行指令时可以实现结合图1描述的可见即可说UI组件库生成方法。
在一个实施例中,图2所示的电子设备可以被实现为包括:存储器504,被配置为存储可执行程序代码;一个或多个处理器503,被配置为运行存储器504中存储的可执行程序代码,以执行上述实施例中的可见即可说UI组件库生成方法。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动,媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数据多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
此外,显然“包括”一词不排除其他单元或步骤。装置权利要求中陈述的多个单元、模块或装置也可以由一个单元或总装置通过软件或硬件来实现。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地标识的方框实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或总流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本实施例中所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现装置/终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在本实施例中,装置/终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。本申请虽然以较佳实施例公开如上,但其实并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此,本申请的保护范围应当以本申请权利要求所界定的范围为准。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
此外,显然“包括”一词不排除其他单元或步骤。装置权利要求中陈述的多个单元、模块或装置也可以由一个单元或总装置通过软件或硬件来实现。
虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (10)
1.一种可见即可说UI组件库生成方法,其特征在于,所述可见即可说UI组件库生成方法包括:
定义接口类;
定义可见即可说UI组件,所述可见即可说UI组件用于实现接口类;
定义可见即可说实现类,所述可见即可说实现类用于实现可见即可说UI组件的可见即可说功能;
将所述接口类、可见即可说UI组件和可见即可说实现类打包生成可见即可说UI组件库jar包。
2.如权利要求1所述的可见即可说UI组件库生成方法,其特征在于,
所述可见即可说UI组件库生成方法还包括:
在接口类中定义设置可见即可说属性的方法和获取可见即可说属性的方法;
定义可见即可说UI组件与系统组件库的继承关系。
3.如权利要求2所述的可见即可说UI组件库生成方法,其特征在于,
所述定义可见即可说实现类包括:
在可见即可说实现类内定义页面监听方法,所述页面监听方法用于对当前页面进行监听;
在可见即可说实现类定义组件触发方法,所述组件触发方法用于根据指令对可见即可说UI组件进行触发。
4.如权利要求3所述的可见即可说UI组件库生成方法,其特征在于,
所述定义页面监听方法用于执行以下步骤:
获取当前页面;
判断当前页面是否变化;若是,则
遍历当前页面所有的控件;
根据每个控件的属性和遍历过程中赋予的控件ID按照预设规则生成可见即可说控件数据库,同时将每个控件的属性和遍历过程中赋予的控件ID以控件集的方式存储在本地;
将所述可见即可说控件数据库发送至语音系统。
5.如权利要求4所述的可见即可说UI组件库生成方法,其特征在于,
所述组件触发方法用于执行以下步骤:
获取语音系统发送的指令信息;
根据指令信息在控件集查找所述控件;
判断该控件的操作类型;
根据所述操作类型生成所述控件的控制信号。
6.一种可见即可说UI组件库生成装置,其特征在于,所述可见即可说UI组件库生成装置包括:
接口类定义模块,所述接口类定义模块用于定义接口类;
可见即可说UI组件定义模块,所述可见即可说UI组件定义模块用于定义可见即可说UI组件,所述可见即可说UI组件用于实现接口类;
可见即可说实现类定义模块,所述可见即可说实现类定义模块用于定义可见即可说实现类,所述可见即可说实现类用于实现可见即可说UI组件的可见即可说功能;
打包模块,所述打包模块用于将所述接口类、可见即可说UI组件和可见即可说实现类打包生成可见即可说UI组件库jar包。
7.一种UI界面生成方法,其特征在于,所述UI界面生成方法包括:
获取通过如权利要求1至5中任意一项所述的可见即可说UI组件库生成方法生成的可见即可说UI组件库jar包;
获取待开发UI界面的参数;
引用所述可见即可说UI组件库jar包并根据所述待开发UI界面的参数生成UI界面。
8.一种语音交互方法,其特征在于,所述语音交互方法包括:
获取通过如权利要求7所述的UI界面生成方法生成的UI界面发送的可见即可说控件数据库;
获取语音指令;
根据所述语音指令在所述可见即可说控件数据库中获取该语音指令命中的控件信息;
根据所述控件信息生成指令信息;
将所述指令信息发送至组件触发方法,以使得所述组件触发方法根据所述指令信息对当前页面进行控制。
9.如权利要求8所述的语音交互方法,其特征在于,
所述可见即可说数据库包括组件标题和组件ID;
所述根据所述语音指令在所述可见即可说数据库中获取该语音指令命中的控件信息包括:
解析所述语音指令得到语义信息;
根据所述语义信息与组件标题进行匹配,获得对应的控件ID。
10.一种语音系统,其特征在于,所述语音系统用于执行如权利要求8-9任意一项所述的语音交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211472127.4A CN115826970A (zh) | 2022-11-23 | 2022-11-23 | 可见即可说ui组件库生成方法及装置、ui界面生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211472127.4A CN115826970A (zh) | 2022-11-23 | 2022-11-23 | 可见即可说ui组件库生成方法及装置、ui界面生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115826970A true CN115826970A (zh) | 2023-03-21 |
Family
ID=85530498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211472127.4A Pending CN115826970A (zh) | 2022-11-23 | 2022-11-23 | 可见即可说ui组件库生成方法及装置、ui界面生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115826970A (zh) |
-
2022
- 2022-11-23 CN CN202211472127.4A patent/CN115826970A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10169034B2 (en) | Verification of backward compatibility of software components | |
US20120036397A1 (en) | Utilizing log event ontology to deliver user role specific solutions for problem determination | |
CN107832059B (zh) | 一种基于Makefile的代码静态分析方法和装置 | |
WO2019090994A1 (zh) | 测试脚本自动化执行方法、装置、设备以及存储介质 | |
WO2016095570A1 (zh) | 一种嵌入式系统的调试方法及装置、存储介质 | |
US10496423B2 (en) | Method for opening up data and functions of terminal application based on reconstruction technology | |
CN109284222B (zh) | 软件单元、数据处理系统中的项目测试方法、装置及设备 | |
CN112506854A (zh) | 页面模板文件的存储和页面生成方法、装置、设备及介质 | |
US20210173641A1 (en) | Generation of knowledge graphs based on repositories of code | |
CN106610845B (zh) | 信息管理方法、装置、服务器及系统 | |
WO2021129812A1 (zh) | 运行人工智能应用的方法、系统及设备 | |
CN110045952B (zh) | 代码调用方法与装置 | |
CN115826970A (zh) | 可见即可说ui组件库生成方法及装置、ui界面生成方法 | |
CN111242731B (zh) | 一种业务执行的方法及装置 | |
CN115964042A (zh) | 菜单的生成方法及装置、存储介质、电子设备 | |
US11669307B2 (en) | Code injection from natural language derived intent | |
US11755458B2 (en) | Automatic software behavior identification using execution record | |
CN114356290A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN114594944A (zh) | 一种应用构建系统以及设备 | |
CN109947420B (zh) | 一种代码编辑器的快捷键机制实现方法及电子设备 | |
JP2022048985A (ja) | ディープラーニングフレームワークのエラー通知内容を生成する方法、装置 | |
CN112596781A (zh) | 一种业务执行以及业务配置方法及装置 | |
CN111338968A (zh) | 项目的功能模块调试方法、装置、介质及电子设备 | |
CN110879783B (zh) | 一种程序测试方法、装置、设备及存储介质 | |
CN113553040B (zh) | 可见即可说识别功能的注册实现方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |