一种软件页面的创建方法、装置、终端设备和存储介质与流程

文档序号:20698245发布日期:2020-05-12 15:17阅读:93来源:国知局
一种软件页面的创建方法、装置、终端设备和存储介质与流程

本申请涉及计算机技术领域,尤其涉及一种软件页面的创建方法、装置、终端设备和存储介质。



背景技术:

在应用软件开发过程中,经常会遇到以下的交互需求:用户在软件功能菜单中选择某个功能项,展示与该功能项对应的软件页面。目前,在实现上述交互需求时,主要通过获取用户选择的功能项的类型,然后创建与该类型对应的页面并将页面初始化所需的数据提供给相应的实例。然而,当选择功能项的树型结构十分复杂或者软件页面的类型繁多时,底层代码在进行新页面的创建以及管理时往往会存在如下的问题:冗长的逻辑判断,扩展性以及可维护性差。



技术实现要素:

有鉴于此,本申请实施例提供了一种软件页面的创建方法、装置、终端设备和存储介质,旨在解决在创建软件页面时,相应的底层代码存在冗长的逻辑判断,扩展性以及可维护性差的问题。

本申请实施例的第一方面提供了一种软件页面的创建方法,包括:

确定软件界面中被选取的目标功能项;

提取与所述目标功能项关联的目标文件的文件名,所述软件界面中各个功能项所关联的文件预先设定;

根据所述文件名确定所述目标文件的媒体类型;

从预先注册的各个页面创建器中查找与所述媒体类型对应的目标页面创建器;

采用所述目标页面创建器创建与所述目标功能项对应的软件页面。

当用户在软件功能菜单中选择某个功能项时,系统会获取与该功能项关联的文件的文件名,确定该文件的媒体类型,然后找到与该媒体类型对应的页面创建器完成页面的创建,系统为页面初始化提供相应的资源,由页面在初始化时自动索引这些资源并加以利用。在页面的整个创建过程中,完全不涉及页面本身的逻辑,因此能够去除底层代码中冗长的逻辑判断,有效提升底层代码的扩展性以及可维护性。

进一步的,所述采用所述目标页面创建器创建与所述目标功能项对应的软件页面可以包括:

基于所述目标文件,采用所述目标页面创建器实例化对应的软件页面;

将实例化得到的软件页面添加到所述软件界面的主窗口区。

在打开目标页面创建器之后,会基于该目标文件构建以及实例化相应的软件页面,最后将实例化得到的软件页面添加到软件界面的主窗口区,用户即可在软件界面的主窗口区察看创建得到的软件页面。

具体的,所述实例化对应的软件页面可以包括:

若所述目标文件为存储于磁盘中的文件,则从所述磁盘中查找并打开所述目标文件,并根据打开的目标文件实例化软件页面;

若所述目标文件为存储于内存中的文件,则从指定的通讯接口读取待显示的数据,并根据读取到的数据实例化软件页面。

在实例化软件页面时,若该目标文件为存储于磁盘中的文件,则可以从指定磁盘中查找并打开该目标文件,并根据打开的目标文件实例化软件页面,比如从磁盘中查找并打开一个word文件,然后实例化一个类似word的编辑页面。若该目标文件为存储于内存中的文件,则可以从某个指定的通讯接口读取待显示的数据,并根据读取到的数据实例化软件页面。比如,从外部的与机器人通讯的接口处读取机器人的状态数据,然后基于这些状态数据实例化一个机器人的状态列表以及相应操控按钮的页面。

具体的,所述确定软件界面中被选取的目标功能项可以包括:

检测用户在所述软件界面的功能树中选取的节点;

将所述节点指向的功能项确定为所述目标功能项。

各个功能项以节点的形式添加到软件界面的功能树中,用户可以在该功能树中选取某个节点,该节点指向的功能项即为选定的目标功能项。

进一步的,在从预先注册的各个页面创建器中查找与所述媒体类型对应的目标页面创建器之后,还可以包括:

若查找不到与所述媒体类型对应的目标页面创建器,则输出预设的报错信息。

若查找不到与所述媒体类型对应的目标页面创建器,则无法成功创建出相应的软件页面,此时可以输出预设的报错信息,比如“未发现可用的页面创建器”等。

本申请实施例的第二方面提供了一种软件页面的创建装置,包括:

功能项确定模块,用于确定软件界面中被选取的目标功能项;

文件名提取模块,用于提取与所述目标功能项关联的目标文件的文件名,所述软件界面中各个功能项所关联的文件预先设定;

媒体类型确定模块,用于根据所述文件名确定所述目标文件的媒体类型;

页面创建器查找模块,用于从预先注册的各个页面创建器中查找与所述媒体类型对应的目标页面创建器;

页面创建模块,用于采用所述目标页面创建器创建与所述目标功能项对应的软件页面。

本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例的第一方面提供的软件页面的创建方法的步骤。

本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请实施例的第一方面提供的软件页面的创建方法的步骤。

本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行本申请实施例的第一方面所述的软件页面的创建方法的步骤。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种软件页面的创建方法的第一个实施例的流程图;

图2是本申请实施例提供的一种软件页面的创建方法的第二个实施例的流程图;

图3是本申请实施例提供的一种软件页面的创建方法的第三个实施例的流程图;

图4是本申请实施例提供的一种软件页面的创建装置的一个实施例的结构图;

图5是本申请实施例提供的一种终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本申请实施例提供了一种软件页面的创建方法、装置、终端设备和存储介质,旨在解决在创建软件页面时,相应的底层代码存在冗长的逻辑判断,扩展性以及可维护性差的问题。应当理解,本申请各个方法实施例的执行主体为各种类型的终端设备或者服务器。

请参阅图1,示出了本申请实施例中一种软件页面的创建方法,包括:

101、确定软件界面中被选取的目标功能项;

首先,确定软件界面中被选取的目标功能项。应用软件的界面通常可划为功能项选取区和主窗口区两部分,当用户在功能项选取区中选择某个功能项时,则相应的软件交互页面将显示在主窗口区内。具体的,用户可以通过单击、双击或者拖动等操作,从功能菜单或者功能树中选取某个功能项,作为目标功能项。

102、提取与所述目标功能项关联的目标文件的文件名,所述软件界面中各个功能项所关联的文件预先设定;

在确定选取的目标功能项之后,提取与所述目标功能项关联的目标文件的文件名,所述软件界面中各个功能项所关联的文件预先设定。比如,软件界面中具有功能项1、功能项2和功能项3,则功能项1关联的文件1,功能项2关联的文件2以及功能项3关联的文件3都是预先设置好的。关联的文件可以是实际的保存于磁盘中的文件,也可以是由内核产生但不存在于硬盘上(存在于内存中)的文件。

103、根据所述文件名确定所述目标文件的媒体类型;

在提取出目标文件的文件名之后,根据该文件名确定该目标文件的媒体类型,即mimetype。比如,系统检测到用户选取的功能项对应的是一个磁盘文件,名为test.cpp。首先将这个文件名交给mimetype提取模块,mimetype提取模块会提取文件名的后缀,并确认它的第一个mimetype为text/cpp,而cpp文件本身也是文本文件,因此在mimetype在进行模块初始化时会将text/cpp视为文本文件类型的子类型,test.cpp的另一个mimetype为text/plain,也就是它的父类型。

104、从预先注册的各个页面创建器中查找与所述媒体类型对应的目标页面创建器;

在确定该目标文件的媒体类型之后,从预先注册的各个页面创建器中查找与所述媒体类型对应的目标页面创建器。具体的,可以设置一个专门管理页面创建器的对象,在系统启动过程中,不同的组件会向该对象注册不同的页面创建器,每个页面创建器都已知自身能够对哪种mimetype创建页面。系统会在已经注册的页面创建器中搜索与该目标文件的mimetype最匹配的创建器,比如在步骤103所示的例子中,会首先搜索text/cpp页面创建器,之后搜索text/plain页面创建器。

105、采用所述目标页面创建器创建与所述目标功能项对应的软件页面。

最后,采用查找到的目标页面创建器创建与所述目标功能项对应的软件页面,从而完成一次软件页面的创建过程。

本实施例,当用户在软件功能菜单中选择某个功能项时,系统会获取与该功能项关联的文件的文件名,确定该文件的媒体类型,然后找到与该媒体类型对应的页面创建器完成页面的创建,系统为页面初始化提供相应的资源,由页面在初始化时自动索引这些资源并加以利用。在页面的整个创建过程中,完全不涉及页面本身的逻辑,因此能够去除底层代码中冗长的逻辑判断,有效提升底层代码的扩展性以及可维护性。

请参阅图2,示出了本申请实施例中另一种软件页面的创建方法,包括:

201、检测用户在软件界面的功能树中选取的节点;

202、将所述节点指向的功能项确定为目标功能项;

在本实施例中,各个功能项以节点的形式添加到软件界面的功能树中,用户可以在该功能树中选取某个节点,该节点指向的功能项即为选定的目标功能项。

203、提取与所述目标功能项关联的目标文件的文件名,所述软件界面中各个功能项所关联的文件预先设定;

204、根据所述文件名确定所述目标文件的媒体类型;

205、从预先注册的各个页面创建器中查找与所述媒体类型对应的目标页面创建器;

步骤203-205与步骤102-104相同,具体可参照步骤102-104的相关说明。

206、基于所述目标文件,采用所述目标页面创建器实例化对应的软件页面;

207、将实例化得到的软件页面添加到所述软件界面的主窗口区。

对于步骤206-207,在打开目标页面创建器之后,会基于该目标文件构建以及实例化相应的软件页面,最后将实例化得到的软件页面添加到软件界面的主窗口区,用户即可在软件界面的主窗口区察看创建得到的软件页面。

具体的,所述实例化对应的软件页面可以包括:

(1)若所述目标文件为存储于磁盘中的文件,则从所述磁盘中查找并打开所述目标文件,并根据打开的目标文件实例化软件页面;

(2)若所述目标文件为存储于内存中的文件,则从指定的通讯接口读取待显示的数据,并根据读取到的数据实例化软件页面。

在实例化软件页面时,若该目标文件为存储于磁盘中的文件,则可以从指定磁盘中查找并打开该目标文件,并根据打开的目标文件实例化软件页面,比如从磁盘中查找并打开一个word文件,然后实例化一个类似word的编辑页面。若该目标文件为存储于内存中的文件,则可以从某个指定的通讯接口读取待显示的数据,并根据读取到的数据实例化软件页面。比如,从外部的与机器人通讯的接口处读取机器人的状态数据,然后基于这些状态数据实例化一个机器人的状态列表以及相应操控按钮的页面。

在实际操作中,可以将软件界面中功能树的所有节点视为文件,即为所有的节点对应的页面提供如下统一属性:文件名,路径名,只读属性;同时提供如下统一的操作接口:打开,关闭,保存,另存为;以及提供如下统一的状态:即将修改,被修改。

普通的磁盘文件对应的节点文件名以及路径名就是常规的文件名和文件在磁盘中的路径。而对于内存文件,其文件名可以为节点名,其路径可以为相应节点在树型结构中的位置路径,比如在以下的树型结构中,func2功能节点的路径名为::/group1/childgroup2/func2,即以“:”开头,由各级子组名及“/”构成。

group1

childgroup1

func1

childgroup2

func2

func3

group2

childgroup3

func4

在本实施例中,可以将软件提供的一个个功能项利用mimetype管理起来,并实现了对应功能页面的统一化创建,不管这个功能项对应的是磁盘文件或者“内存文件”,均可以利用mimetype来管理。对于磁盘文件,赋予它的是常规的文件名,对于不存在实体的“内存文件”,赋予它的是一个唯一的类似于文件名的名称,例如“:/192.168.11.2/status/machinestatus.v-machine-status”。当用户在软件功能菜单中选择某个功能项时,系统会获取与该功能项关联的文件的文件名,确定该文件的媒体类型,然后找到与该媒体类型对应的页面创建器完成页面的创建,系统为页面初始化提供相应的资源,由页面在初始化时自动索引这些资源并加以利用。

请参阅图3,示出了本申请实施例中另一种软件页面的创建方法,包括:

301、确定软件界面中被选取的目标功能项;

302、提取与所述目标功能项关联的目标文件的文件名,所述软件界面中各个功能项所关联的文件预先设定;

303、根据所述文件名确定所述目标文件的媒体类型;

304、从预先注册的各个页面创建器中查找与所述媒体类型对应的目标页面创建器;

步骤301-304与步骤101-104相同,具体可参照步骤101-104的相关说明。

305、判断是否查找到与所述媒体类型对应的目标页面创建器;

对于某些媒体类型的页面创建器,可能尚未进行注册,此时无法找到相应的页面创建器。因此,需要判断是否能够查找到与所述媒体类型对应的目标页面创建器,若是则执行步骤306,否则执行步骤307。

306、采用所述目标页面创建器创建与所述目标功能项对应的软件页面;

步骤306与步骤105相同,具体可参照步骤105的相关说明。

307、输出预设的报错信息。

若查找不到与所述媒体类型对应的目标页面创建器,则无法成功创建出相应的软件页面,此时可以输出预设的报错信息。比如,可以输出“未发现可用的页面创建器”等报错信息,以提醒用户注意。之后,可以通过注册相应类型的页面创建器以解决该问题。

本实施例,当用户在软件功能菜单中选择某个功能项时,系统会获取与该功能项关联的文件的文件名,确定该文件的媒体类型,然后查找该媒体类型对应的页面创建器以完成页面的创建。而且,若查找不到与该媒体类型对应的页面创建器,系统会输出预设的报错信息,以提醒用户注意,后续可以通过注册相应类型的页面创建器以解决该问题,从而进一步提高该页面创建方法的适用性。

应理解,上述各个实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

上面主要描述了一种软件页面的创建方法,下面将对一种软件页面的创建装置进行描述。

请参阅图4,本申请实施例中一种软件页面的创建装置的一个实施例包括:

功能项确定模块401,用于确定软件界面中被选取的目标功能项;

文件名提取模块402,用于提取与所述目标功能项关联的目标文件的文件名,所述软件界面中各个功能项所关联的文件预先设定;

媒体类型确定模块403,用于根据所述文件名确定所述目标文件的媒体类型;

页面创建器查找模块404,用于从预先注册的各个页面创建器中查找与所述媒体类型对应的目标页面创建器;

页面创建模块405,用于采用所述目标页面创建器创建与所述目标功能项对应的软件页面。

进一步的,所述页面创建模块可以包括:

页面实例化单元,用于基于所述目标文件,采用所述目标页面创建器实例化对应的软件页面;

页面添加单元,用于将实例化得到的软件页面添加到所述软件界面的主窗口区。

进一步的,所述页面实例化单元可以包括:

第一实例化子单元,用于若所述目标文件为存储于磁盘中的文件,则从所述磁盘中查找并打开所述目标文件,并根据打开的目标文件实例化软件页面;

第二实例化子单元,用于若所述目标文件为存储于内存中的文件,则从指定的通讯接口读取待显示的数据,并根据读取到的数据实例化软件页面。

进一步的,所述功能项确定模块可以包括:

节点选取单元,用于检测用户在所述软件界面的功能树中选取的节点;

功能项确定单元,用于将所述节点指向的功能项确定为所述目标功能项。

进一步的,所述软件页面的创建装置还可以包括:

报错信息输出模块,用于若查找不到与所述媒体类型对应的目标页面创建器,则输出预设的报错信息。

本申请实施例还提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如图1至图3表示的任意一种软件页面的创建方法的步骤。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如图1至图3表示的任意一种软件页面的创建方法的步骤。

本申请实施例还提供一种计算机程序产品,当该计算机程序产品在终端设备上运行时,使得终端设备执行实现如图1至图3表示的任意一种软件页面的创建方法的步骤。

图5是本申请一实施例提供的终端设备的示意图。如图5所示,该实施例的终端设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述各个软件页面的创建方法的实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块401至405的功能。

所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端设备5中的执行过程。

所称处理器50可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1