应用程序的用户界面框架、控件的引用方法及设备技术

技术编号:38247426 阅读:12 留言:0更新日期:2023-07-25 18:07
本申请涉及一种应用程序的用户界面框架、控件的引用方法及设备,所述用户界面框架包括引用模块,所述引用模块用于响应于目标窗口的打开操作,遍历现有窗口的控件,获取所述控件的引用接口,并基于所述引用接口创建键值对,所述键值对将一个键与所述控件的引用接口的值相关联;所述引用模块还用于响应所述应用程序对所述键值对中键的访问操作,读取对应控件的引用接口的值,以实现所述控件的获取,采用本申请的用户界面框架,改善现有技术中应用程序界面控件获取困难的问题。序界面控件获取困难的问题。序界面控件获取困难的问题。

【技术实现步骤摘要】
应用程序的用户界面框架、控件的引用方法及设备


[0001]本申请涉及软件开发
,特别是涉及一种应用程序的用户界面框架、控件的引用方法及设备。

技术介绍

[0002]在应用程序例如游戏程序的开发过程中,可以采用游戏引擎为开发者提供开发所需的各种工具,降低了应用开发的复杂度,让开发者更简便快速地制作应用,节省了开发成本。
[0003]在利用游戏引擎开发应用的过程中,获取界面控件的方法较为复杂,需要逐级调用才能得到所需控件的引用,当控件所处的层级比较深和复杂时,调用链会比较长,在应用程序的开发周期过程中,界面的布局会被频繁调整,控件层级可能发生变化,原始的调用代码不再生效,需要重新写调用代码才能获取控件,因此,现有的控件获取方式存在控件获取困难的问题。

技术实现思路

[0004]基于此,提供一种应用程序的用户界面框架、实现方法、设备和存储介质,改善现有技术中应用程序界面控件获取困难的问题。
[0005]一方面,提供一种应用程序的用户界面框架,包括:
[0006]引用模块,所述引用模块用于响应于目标窗口的打开操作,遍历现有窗口的控件,获取所述控件的引用接口,并基于所述引用接口创建键值对,所述键值对将一个键与所述控件的引用接口的值相关联;
[0007]所述引用模块还用于响应所述应用程序对所述键值对中键的访问操作,读取对应控件的引用接口的值,以实现所述控件的获取。
[0008]在一个实施例中,用户界面框架还包括:
[0009]窗口管理模块,连接所述引用模块,所述窗口管理模块至少包括窗口参数单元以及操作参数单元,所述操作参数单元用于确定操作类型,所述操作类型包括打开窗口或关闭窗口;
[0010]当所述操作参数单元确定操作类型为打开窗口时,根据所述窗口参数单元确定目标窗口所需的目标控件,访问所述引用模块提供的键值对中的键,以获取所述目标窗口所需的目标控件,基于所述目标窗口所需的目标控件对所述目标窗口进行封装,得到封装后的目标窗口。
[0011]在一个实施例中,所述窗口管理模块还包括:回调函数单元,所述回调函数单元连接所述窗口参数单元和操作参数单元,用于在目标窗口打开或关闭时,确定所述应用程序的目标业务逻辑。
[0012]在一个实施例中,所述窗口管理模块还包括:动画参数单元,所述动画参数单元连接所述窗口参数单元和操作参数单元,用于确定打开窗口或关闭窗口时的动画参数。
[0013]在一个实施例中,所述用户界面框架还包括接口模块,所述接口模块连接有由游戏引擎组成的功能组件,所述接口模块包括第一应用程序接口,所述第一应用程序接口用于响应所述应用程序的调用,当所述第一应用程序接口被调用时,所述接口模块调用第二应用程序接口,所述第二应用程序接口为所述功能组件的应用程序接口。
[0014]在一个实施例中,所述用户界面框架还包括安全模块,所述安全模块用于在应用程序的数据上传服务器前,根据第一加密算法对所述数据进行加密转换,以在所述数据上传服务器后,供服务器根据对应的第一解密算法进行解密转换;
[0015]所述安全模块还用于在接收到所述服务器根据第二加密算法加密转换后的数据时,根据对应的第二解密算法进行解密转换。
[0016]在一个实施例中,所述加密转换包括将所述数据从数据实体类转换为字节流。
[0017]在一个实施例中,所述用户界面框架还包括预加载模块,所述预加载模块用于响应应用程序的启动,将应用程序所需的资源从运行设备的文件系统读入所述运行设备的内存中。
[0018]又一方面,提供一种应用程序中控件的引用方法,应用于所述的用户界面框架,所述方法包括:
[0019]获取针对现有窗口的控件的引用请求;
[0020]响应于所述引用请求,控制所述引用模块从键值对中读取对应控件的值,以获取所述控件对应的引用接口。
[0021]还提供一种电子设备,包括处理器和存储器,所述处理器和存储器通过总线连接;所述处理器,用于执行多条指令;所述存储介质,用于存储所述多条指令,所述指令适于由所述处理器加载并执行所述的方法。
[0022]上述应用程序的用户界面框架、控件的引用方法及设备,通过引用模块创建键值对,应用程序根据键值对可以直接获取到控件的引用接口并直接使用,无需根据窗口逐级调用,从而避免控件的获取受到视图层级的影响,也无需在视图层级发生变化时,重新维护调用代码。
附图说明
[0023]图1为一个实施例中用户界面框架的结构框图;
[0024]图2为一个实施例中用户界面框架的应用环境图;
[0025]图3为一个实施例中应用程序中控件的引用方法的流程示意图;
[0026]图4为一个实施例中电子设备的内部结构图。
具体实施方式
[0027]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0028]应用程序特别是游戏类应用程序的开发会利用很多开发工具,例如游戏引擎,游戏引擎是游戏开发的底层技术,是一套应用在计算机硬件和软件上的可被执行程序。它提供了一系列可被执行的API(Application ProgrammingInterface,应用程序编程接口),这
些API被开发者调用来定义一系列不同的函数,用于编写代码。
[0029]现有游戏引擎例如Unity,UE(UnrealEngine,虚幻引擎)、Cocos Creator等仍然处于发展更新中,仍然存在许多不足之处,以下以Cocos Creator为例进行说明。
[0030]CocosCreator是一款轻量、高效、免费开源的跨平台游戏引擎,不仅支持2D、3D的游戏开发,同时在HMI、IoT、XR、虚拟人偶等领域,均可提供一套完善的行业解决方案,只需引入CocosCreator框架,即可进行自主的业务逻辑开发。
[0031]利用CocosCreator开发的应用程序,获取界面控件的方法为:先获取顶层窗口,再以窗口为根视图出发,逐级调用方法getChildByName,最终得到所需控件的引用。当控件所处的层级比较深和复杂时,调用链会比较长。且这个调用代码难以复用和维护:因为在app(application,应用程序)开发过程中,控件层级可能发生变化,从一个窗口变化到另一个窗口,从一个层级变化到另一个层级,此时之前的调用代码不再生效,想要获取该控件的引用,必须重新写调用代码。
[0032]本申请提供一种应用程序的用户界面框架,可以改善前述的控件获取困难的问题。
[0033]在一个实施例中,所述用户界面框架如图1所示,包括引用模块,所述引用模块用于响应于目标窗口的打开操作,遍历现有窗口的控件,获取所述控件的引用接口,并基于所述引用接口创建键值对,所述键值对将一个键与所述控件的引用接口的值相关联;所述引用模块还用于响应所述应用程序对所述键值对中键的访问操作,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的用户界面框架,其特征在于,包括:引用模块,所述引用模块用于响应于目标窗口的打开操作,遍历现有窗口的控件,获取所述控件的引用接口,并基于所述引用接口创建键值对,所述键值对将一个键与所述控件的引用接口的值相关联;所述引用模块还用于响应应用程序对所述键值对中键的访问操作,读取对应控件的引用接口的值,以实现所述控件的获取。2.根据权利要求1所述的应用程序的用户界面框架,其特征在于,还包括:窗口管理模块,连接所述引用模块,所述窗口管理模块至少包括窗口参数单元以及操作参数单元,所述操作参数单元用于确定操作类型,所述操作类型包括打开窗口或关闭窗口;当所述操作参数单元确定操作类型为打开窗口时,根据所述窗口参数单元确定所述目标窗口所需的目标控件,访问所述引用模块提供的键值对中的键,以获取所述目标窗口所需的目标控件,基于所述目标窗口所需的目标控件对所述目标窗口进行封装,得到封装后的目标窗口。3.根据权利要求2所述的应用程序的用户界面框架,其特征在于,所述窗口管理模块还包括:回调函数单元,所述回调函数单元连接所述窗口参数单元和操作参数单元,用于在目标窗口打开或关闭时,确定所述应用程序的目标业务逻辑。4.根据权利要求2所述的应用程序的用户界面框架,其特征在于,所述窗口管理模块还包括:动画参数单元,所述动画参数单元连接所述窗口参数单元和操作参数单元,用于确定打开窗口或关闭窗口时的动画参数。5.根据权利要求1所述的应用程序的用户界面框架,其特征在于,所述用户界面框架还包括接口模块,所述接口模块连接有由游戏引擎组成的功能组件,所述...

【专利技术属性】
技术研发人员:陈裕聪
申请(专利权)人:成都赛力斯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1