应用程序的发布、处理方法、装置、设备及存储介质与流程

文档序号:26101450发布日期:2021-07-30 18:12阅读:37来源:国知局
应用程序的发布、处理方法、装置、设备及存储介质与流程

本公开涉及计算机技术领域,可应用于软件开发和ui设计领域。具体涉及一种应用程序的发布方法、处理方法、装置及电子设备、存储介质。



背景技术:

应用程序(application,简称app)运营方通常会根据市场需求不断更新应用业务和用户界面(userinterface,简称ui)。



技术实现要素:

本公开提供了一种应用程序的发布、处理方法、装置、设备、存储介质以及计算机程序产品。

根据本公开的一方面,提供了一种应用程序的发布方法,包括:获取应用程序的ui布局文件,其中,所述ui布局文件用于描述所述应用程序的ui设计;获取所述应用程序的事件文件,其中,所述事件文件用于描述所述应用程序的处理逻辑;以及将所述ui布局文件和所述事件文件上传至服务器,以发布所述应用程序。

根据本公开的另一方面,提供了一种应用程序的处理方法,包括:获取应用程序的ui布局文件和事件文件,其中,所述ui布局文件用于描述所述应用程序的ui设计,所述事件文件用于描述所述应用程序的处理逻辑,所述ui布局文件和所述事件文件经解析后可直接运行所述应用程序。

根据本公开的另一方面,提供了一种应用程序的发布装置,包括:第一获取模块,用于获取应用程序的ui布局文件,其中,所述ui布局文件用于描述所述应用程序的ui设计;第二获取模块,用于获取所述应用程序的事件文件,其中,所述事件文件用于描述所述应用程序的处理逻辑;以及发布模块,用于将所述ui布局文件和所述事件文件上传至服务器,以发布所述应用程序。

根据本公开的另一方面,提供了一种应用程序的处理装置,包括:第三获取模块,用于获取应用程序的ui布局文件和事件文件,其中,所述ui布局文件用于描述所述应用程序的ui设计,所述事件文件用于描述所述应用程序的处理逻辑,所述ui布局文件和所述事件文件经解析后可直接运行所述应用程序。

根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所述的方法。

根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开实施例所述的方法。

根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开实施例所述的方法。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1a示例性示出了适于本公开实施例的系统架构;

图1b示例性示出了可以实现本公开实施例的场景图;

图2示例性示出了根据本公开实施例的应用程序的发布方法的流程图;

图3示例性示出了根据本公开实施例的应用程序的处理方法的流程图;

图4示例性示出了根据本公开实施例的快速发布应用程序的示意图;

图5示例性示出了根据本公开实施例的应用程序的发布装置的框图;

图6示例性示出了根据本公开实施例的应用程序的处理装置的框图;以及

图7示例性示出了用来实现本公开实施例的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

相关技术中,如果想要修改app的ui布局或者为app增加新的ui样式,则需要修改相关控件的处理逻辑,因而通常需要进行app产品发版才能实现新的ui布局和逻辑修改。而app产品发版通常周期比较长,一般需要经过开发、测试、灰度、发版等阶段,整个流程下来,需要很长时间。这种情况下,如果遇到突发事件(如ui布局出错等)需要修改ui布局,或者如果遇到临时活动(如产品上新、用户体验验证等)需要进行ui试验,则常常不能得到及时满足。因此,迫切需要一种新技术来实现ui快速发布和动态调整。

对此,本公开实施例提供了一种适于app产品快速发版和快速ui试验的应用程序的发布、处理方案。本方案可以增加迭代发版效率和ui试验的验证效率,提升app产品的用户体验。

以下将结合附图和具体实施例详细阐述本公开。

适于本公开实施例的系统架构介绍如下。

图1a示例性示出了适于本公开实施例的系统架构。需要注意的是,图1a所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他环境或场景。

如图1a所示,系统架构100可以包括:开发端101、服务器102和客户端103、104……(如可以包括n个客户端,n为正整数)。

需要说明的是,在本公开实施例中,在app开发过程中,可以将ui设计和逻辑设计分离。比如在ui布局文件中描述app的ui设计,在事件文件中描述app的处理逻辑。其中,ui布局文件可以为xml文件;事件文件可以为js文件。

开发端101可以将同一app的ui布局文件和事件文件压缩成app的压缩包,并上传至服务器102,从而将app产品发布出去。

应该理解,在本公开实施例中,已发布的app产品如果需要重新发版,则可以直接修改app的ui布局文件和/或事件文件,并通过开发端101将修改后得到的更新文件重新上传至服务器102,从而将app产品的改版重新发布出去。

对于app而言,由于ui设计单独在ui布局文件描述,而处理逻辑单独在事件文件描述,即ui设计和处理逻辑实际上彼此分离,因而两个文件的修改互不影响。

因而,采用本公开实施例提供的技术方案,如果想要修改app的ui布局或者为app增加新的ui样式,则可以仅修改对应的ui布局文件。或者,如果修改ui布局或者增加新的ui样式会导致某个或者某些控件的处理逻辑发生变化,则还可以修改ui布局文件中相关控件的事件属性,同时考虑是否在事件文件中增加或者删除相应的处理逻辑。

可见,在本公开实施例中,对于app而言,ui的设计和更新,与处理逻辑的设计和更新,彼此相对独立。因而,修改ui布局或者增加新的ui样式,不需要经过开发、测试、灰度、发版等传统的发版流程,整个过程不需要很长时间。即,通过本公开实施例,可以实现ui快速发布和动态调整。

应该理解,在本公开实施例中,服务器102可以作为中台提供相应的服务。

开发端101将app的ui布局文件和事件文件压缩成app的压缩包,并上传至服务器102后,各客户端(如客户端103、104等)可以从服务器102动态拉取相应的ui布局文件和事件文件的压缩包,并解析ui布局文件,然后根据ui布局文件中描述的事件属性,关联上js事件文件中包含的逻辑处理事件(如点击事件),使app的ui布局和处理逻辑相互绑定,并最终在客户端呈现ui布局的渲染结果,从而实现ui的快速发布或动态调整。

应该理解,图1a中的开发端、服务器和客户端的数目仅仅是示意性的。根据实际需要,可以具有任意数目的开发端、服务器和客户端。

适于本公开实施例的应用场景介绍如下。

应该理解,本公开实施例提供的技术方案,可以用于任何应用程序的开发、发布、更新等流程,实现ui快速发布和动态调整。

示例性的,假设在新游戏分玩导流项目中,需要验证不同弹窗内容,如图1b所示的红包界面和游戏介绍界面,对用户点击下载新游戏的影响,如验证红包界面更容易引起用户关注,还是游戏介绍界面更容易引起用户关注,那么可以采用本公开实施例提供的技术方案,在app的ui布局文件中增加红包界面和游戏介绍界面,然后更新ui布局文件,并快速发布至服务器,以便各客户端能够基于更新后的ui布局文件,及时更新本地的app。基于此,可以根据用户对上述两种ui的点击情况,快速验证这两种ui的导流转化率。

针对上述示例中的应用场景,如果采用传统的app发版技术,则发版周期相对较长,大约在一个月左右。显然,这种传统的app发版技术难以满足快速验证ui导流转化率的需求。

根据本公开的实施例,本公开提供了一种应用程序的发布方法。

图2示例性示出了根据本公开实施例的应用程序的发布方法的流程图。

如图2所示,应用程序的发布方法200可以包括:操作s210~s230。

在操作s210,获取应用程序的ui布局文件,其中,ui布局文件用于描述应用程序的ui设计。

在操作s220,获取应用程序的事件文件,其中,事件文件用于描述应用程序的处理逻辑。

在操作s230,将ui布局文件和事件文件上传至服务器,以发布应用程序。

需要说明的是,在本公开实施例中,对于同一app而言,其ui布局文件和事件文件是相互独立的。其中,ui布局文件描述的是app的ui设计,事件文件描述的是app的处理逻辑。因而,app的ui设计和逻辑设计可以彼此分离。

这种情况下,将app的ui布局文件和事件文件发布出去后,如果app需要重新发版,还可以动态调整app的ui布局。

在本公开的一些实施例,比如需要修改app中某个控件的布局或样式,则可以仅修改app的ui布局文件。

在本公开的另一些实施例,比如需要为app中某个控件增加点击次数统计功能,则可以在app的ui布局文件中,为该控件增加关于点击事件的事件属性,同时查看app的事件文件中是否已有关于点击事件的处理逻辑。如果已有,则不需要修改该事件文件。如果没有,则可以在该事件文件中增加点击事件,即增加关于点击事件的处理逻辑。

通过本公开实施例,采用ui布局文件实现app的ui设计,同时采用事件文件实现app的处理逻辑,从而实现app的ui布局和逻辑处理彼此分离。因而,更新app时无需采用传统的app发版方法,而是可以实现ui的快速发布和动态调整。

作为一种可选的实施例,该方法还可以包括如下操作。

修改ui布局文件,以获得修改后的ui布局文件。

将修改后的ui布局文件上传至服务器,以更新应用程序。

在本公开的一些实施例中,调整app的ui布局时,可以仅修改app的ui布局文件,而不修改app的事件文件。比如,对于涉及控件颜色、样式、位置中的一个或多个的ui调整,可以仅修改app的ui布局文件,而不修改app的事件文件。

通过本公开实施例,在调整app的ui布局时,由于不涉及控件相关处理逻辑的修改,因而可以只更新app的ui布局文件,并快速发布出去,从而实现ui布局的动态调整。

或者,作为一种可选的实施例,该方法还可以包括如下操作。

修改事件文件,以获得修改后的事件文件。

将修改后的事件文件上传至服务器,以更新应用程序。

在本公开的一些实施例中,调整app的处理逻辑时,可以仅修改app的事件文件,而不修改app的ui布局文件。比如,对于app中的某个处理逻辑(如点击事件的处理逻辑)进行调整,可以仅修改app的事件文件,而不修改app的ui布局文件。

示例性的,比如事件文件中包含标识符为xxx的事件,ui布局文件中某个控件通过其自身的事件属性被关联至该标识符为xxx的事件。如果更新app时仅仅修改了该事件的处理逻辑,而没有修改该事件的标识符,则ui布局文件中该控件依然可以通过其自身的事件属性被关联至该标识符为xxx的事件。即,这种情况下,虽然修改了事件文件,但是并不影响ui布局文件正常使用,因而,这种情况下是不需要同时修改ui布局文件的。

通过本公开实施例,在调整app的处理逻辑时,由于不涉及ui布局的修改,因而可以只更新app的事件文件,并快速发布出去,从而实现app处理逻辑的动态调整。

或者,作为一种可选的实施例,该方法还可以包括如下操作。

修改ui布局文件,以获得修改后的ui布局文件。

修改事件文件,以获得修改后的事件文件。

将修改后的ui布局文件和修改后的事件文件上传至服务器,以更新应用程序。

在本公开的一些实施例中,调整app的ui布局时,还可以既修改app的ui布局文件,又修改app的事件文件。比如,对于涉及控件的事件属性的ui调整,可以既修改app的ui布局文件,又修改app的事件文件。

示例性的,比如如果想要为app中某个控件增加关于点击事件的事件属性,则可以在该app的ui布局文件中为该控件增加关于点击事件的事件属性的描述。同时,如果app的事件文件中之前没有包含该点击事件的处理逻辑,则还可以修改该事件文件,即在该事件文件中增加该点击事件的处理逻辑。

通过本公开实施例,在修改app的ui布局文件时,由于还涉及控件相关事件属性的增加或修改,因而可以同时更新app的ui布局文件和事件文件,并快速发布出去,从而实现ui布局和处理逻辑的动态调整。

进一步,作为一种可选的实施例,修改ui布局文件可以包括以下至少之一。

为ui布局文件中包含的至少一个第一控件修改对应的事件属性。

为ui布局文件中包含的至少一个第二控件删除对应的事件属性。

为ui布局文件中包含的至少一个第三控件增加对应的事件属性。

为ui布局文件中包含的至少一个第四控件修改样式和/或布局。

在ui布局文件中增加至少一个第五控件。

删除ui布局文件中包含的至少一个第六控件。

示例性的,比如ui布局文件中包括控件1,且控件1具有a事件属性。即,控件1通过a事件属性可以关联至事件文件中的a事件。在本公开实施例中,可以修改ui布局文件,将其中控件1的事件属性由a事件属性修改为b事件属性。修改之后,控件1通过b事件属性可以关联至事件丈件中的b事件,不再关联至该事件文件中的a事件。

示例性的,比如ui布局丈件中包括控件2,且控件2具有c事件属性。即,控件2通过c事件属性可以关联至事件文件中的c事件。在本公开实施例中,可以修改ui布局文件,将其中控件2的c事件属性删除。删除之后,控件2无法通过c事件属性关联至事件文件中的c事件。

需要说明的是,在ui布局文件中删除控件2的c事件属性后,可以修改事件文件,也可以不修改事件文件。在一个实施例中,如果该ui布局文件中其他控件都不具有c事件属性,则可以在该事件文件中删除c事件。在另一个实施例中,如果该ui布局文件中其他控件也具有c事件属性,则不需要在该事件文件中删除c事件。

示例性的,比如ui布局文件中包括控件3。在本公开实施例中,可以修改ui布局文件,如在ui布局文件中为控件3增加d事件属性。增加之后,控件3可以通过d事件属性关联至事件文件中的d事件。

需要说明的是,在ui布局文件中增加控件2的d事件属性后,可以修改事件文件,也可以不修改事件文件。在一个实施例中,如果该事件文件中已包含d事件,则无需再增加d事件了。在另一个实施例中,如果该事件文件中尚未包含d事件,则还需要在事件文件中增加d事件。否则,即使在ui布局文件中增加了控件2的d事件属性,但是实际运行中,控件2也无法关联至d事件,由此会导致软件运行错误。

示例性的,比如ui布局文件中包括控件4,且控件4的样式是方形的,并且位于页面的左下角。在本公开实施例中,可以修改ui布局文件,如将控件4的样式修改为椭圆形的,同时将其修改至页面的右下角。

示例性的,比如可以在ui布局文件中增加控件5。在一个实施例中,如果同时在ui布局文件中增加了控件5的相关事件属性,且事件文件中已包含与该相关事件属性关联的e事件,则无需在该事件文件中重复增加e事件了。在另一个实施例中,如果同时在ui布局文件中增加了控件5的相关事件属性,且事件文件中尚未包含与该相关事件属性关联的e事件,则还需要在该事件文件中增加e事件。否则,即使在ui布局文件中增加了控件5及其相关事件属性,但是实际运行中,控件5也无法关联至e事件,由此会导致软件运行错误。

示例性的,比如可以在ui布局文件中删除控件6。在一个实施例中,如果控件5原本具有相关事件属性,而ui布局丈件中的其他控件并不具有该相关事件属性,则可以在事件丈件中删除与该相关事件属性关联的f事件。在另一个实施例中,如果控件5原本具有相关事件属性,且ui布局文件中的其他控件也具有该相关事件属性,则无需在事件文件中删除与该相关事件属性关联的f事件。否则,实际运行中,会导致其他控件无法关联至f事件,由此会导致软件运行错误。

应该理解,在本公开实施例中,事件文件中包含的各事件可以使用安卓的native技术(即原生技术),因而可以保留原生api的性能。进一步,由于可以保留原生api的性能,因而无需增加额外的逻辑开销。比如,无需将非原生api转换为对应的原生api。此外,本公开实施例中,由于可以采用native技术,无需采用非原生技术,因而可以不依赖第三方。此外,本公开实施例中,由于可以保留原生api的性能,因而能够直接按照安卓native技术提供的调试方法进行调试,即,不存在调试困难。

进一步,作为一种可选的实施例,修改事件文件可以包括以下至少之在事件文件中增加至少一个第一事件。

删除事件文件中包含的至少一个第二事件。

需要说明的是,在本公开实施例中,在事件文件增加相关事件需要执行的操作,可以参考上述实施例,在此不再赘述。类似的,在本公开实施例中,在事件文件删除相关事件需要执行的操作,也可以参考上述实施例,在此也不再赘述。

作为一种可选的实施例,ui布局文件中包含的控件可以为原生控件(如安卓原生控件)。

应该理解,在本公开实施例中,ui布局文件中包含的各控件可以采用安卓的native技术。因而,在本公开实施例中,app中实现的控件不需要预埋,即不需要预定义或者重新定义控件,而且控件的事件属性可拓展性较好,比如可以修改、删除和增加控件的事件属性等。此外,由于不需要进行控件预埋,因而ui布局文件中包含的控件是可以直接预览的。可见,ui布局文件中包含的控件的可视化程度较高。

通过本公开实施例,采用原生控件技术,开发人员不需要额外学习自定义ui控件技术,也不需要额外学习特定开发工具的安卓应用程序包打包技术(发布时可以将ui布局丈件和事件丈件压缩成对应的压缩包,不需要打包成安装包),因而学习成本较低,

根据本公开的实施例,本公开提供了一种应用程序的处理方法。

图3示例性示出了根据本公开实施例的应用程序的处理方法的流程图。

如图3所示,应用程序的处理方法300可以包括:操作s310。

在操作s310,获取应用程序的ui布局文件和事件文件,其中,ui布局文件用于描述应用程序的ui设计,事件文件用于描述应用程序的处理逻辑,ui布局文件和事件文件经解析后可直接运行应用程序。

需要说明的是,本公开实施例中,应用程序的ui布局文件和事件文件可以采用前述实施例中提供的发布方法来生成、发布和更新,在此不再赘述。其中,在上传至服务器进行发布之前,可以将app的ui布局文件和事件文件压缩成对应的压缩包,以提高数据传输速率。并且,ui布局文件和事件文件经解析后可直接运行应用程序,因而不需要先通过应用程序的安装包来安装应用程序,再运行应用程序。

通过本公开实施例,采用ui布局文件实现app的ui设计,同时采用事件文件实现app的处理逻辑,从而实现app的ui布局和逻辑处理彼此分离。因而,更新app时无需采用传统的app发版方法,而是可以独立更新ui布局文件,从而实现ui的快速发布和动态调整。

作为一种可选的实施例,该方法还包括:解析ui布局文件和事件文件,以运行应用程序。其中,解析ui布局文件和事件文件包括以下操作。

生成ui布局文件中各资源的id。

将生成的id与各资源关联,以获得对应的关联关系。

将ui布局文件与事件文件进行关联。

应该理解,在本公开实施例中,在ui布局文件中包含的控件为原生api控件的情况下,控件的所有属性都需要动态解析和设置。因而,在运行应用程序过程中,需要先解析ui布局丈件。

还应该理解,在本公开实施例中,app的布局丈件和事件丈件可以被压缩成.zip格式的压缩文件上传给服务器,并由服务器下发给各客户端进行本地运行。

还应该理解,在本公开实施例中,由于app的压缩包是在前端即开发端压缩完成的,而下载运行app通常是在用户客户端操作完成的,因而app的ui布局文件中并没有配置关于客户端本地的资源id,需要在文件解析过程中,在客户端本地动态生成对应的资源id。在一个实施例中,可以在解析ui布局文件的过程中,在ui布局文件中增加资源id与对应的ui布局资源之间的关联关系这一属性信息。

此外,在运行app的过程中,还需要将app的ui布局文件与事件文件进行关联(即绑定)。示例性的,比如需要给ui布局文件中的某些控件绑定点击事件。

进一步,作为一种可选的实施例,将ui布局文件与事件文件进行关联,可以包括:根据ui布局文件描述的事件属性,将ui布局文件中包含的控件与事件文件中包含的事件进行关联。

在本公开实施例中,控件的事件属性用于描述控件与对应事件的关联关系。因此,可以根据ui布局文件描述的事件属性,将ui布局文件中包含的各控件与事件文件中包含的各事件进行关联。

在本公开实施例中,可以在js事件文件中增加、删除或修改相关事件,并且可以在ui布局文件中增加、删除或修改相关控件的事件属性。其中,增加控件的某事件属性表示增加了控件与某事件之间的关联关系。类似地,删除控件的某事件属性表示删除了控件与某事件之间的关联关系。

在本公开实施例中,客户端可以以字符串流式数据拉取app的ui布局文件与事件文件。

在本公开实施例中,事件文件中可以包括但不限于跳转事件和点击事件。在一个实施例中,可以借助js的事件处理来实现更多的点击事件处理,比如可以通过js-native的调用来实现动态ui布局的点击事件处理,完成ui布局文件和点击事件之间的交互,解决点击事件的局限性,使得ui布局丈件的点击事件支持程度更灵活。

作为一种可选的实施例,该方法还可以包括:在运行应用程序的过程中,基于ui布局文件和事件文件,展示应用程序的ui。

作为一种可选的实施例,该方法还可以包括如下操作。

获取应用程序的更新文件,其中,更新文件可以包括以下至少之一:修改后的ui布局文件、修改后的事件文件。

基于更新文件,对本地的应用程序进行更新。

在本公开实施例中,app的ui布局文件和事件文件彼此相对独立,既可以单独更新ui布局文件,又可以单独更新事件文件,还可以同时更新ui布局文件和事件文件。因而,可以根据实际更新情况,提高客户端ui的发版效率和灵活度,缩短ui布局的快速试验周期,帮助产品快速验证试验内容,推动产品快速决策。如对于新游戏,最终采用红包界面进行分流转化,还是采用游戏介绍界面进行分流转化。

以下将结合图4和具体实施例详细阐述本公开。

如图4所示,在前端即开发端开发app的过程中,可以通过ui布局文件描述app的ui设计,并通过事件文件描述app的处理逻辑。在完成ui布局文件和事件文件之后,可以将这两个文件压缩成一个压缩包上传至指定的服务器,从而完成app产品的发布(包括初始发布和改版更新)。各客户端可以直接从服务器拉取app的ui布局文件和事件文件的压缩包,并解析ui布局文件和事件文件,将ui布局文件中包含的控件等ui设计与事件文件中包含的事件和数据进行绑定,以便后续在运行过程中展示app的ui。

根据本公开的实施例,本公开还提供了一种应用程序的发布装置。

图5示例性示出了根据本公开实施例的应用程序的发布装置的框图。

如图5所示,应用程序的发布装置500包括:第一获取模块510、第二获取模块520和发布模块530。

第一获取模块510,用于获取应用程序的ui布局文件,其中,该ui布局文件用于描述该应用程序的ui设计。

第二获取模块520,用于获取该应用程序的事件文件,其中,该事件丈件用于描述该应用程序的处理逻辑。

发布模块530,用于将该ui布局丈件和该事件文件上传至服务器,以便发布该应用程序。

作为一种可选的实施例,该装置还包括:第一修改模块,用于修改该ui布局文件,以获得修改后的ui布局文件;以及第一更新模块,用于将该修改后的ui布局文件上传至该服务器,以便更新该应用程序。

和/或,作为一种可选的实施例,该装置还包括:第二修改模块,用于修改该事件文件,以获得修改后的事件文件;以及第二更新模块,用于将该修改后的事件文件上传至该服务器,以便更新该应用程序。

进一步,作为一种可选的实施例,该第一修改模块用于执行以下操作中的至少之一:为该ui布局文件中包含的至少一个第一控件修改对应的事件属性;为该ui布局文件中包含的至少一个第二控件删除对应的事件属性;为该ui布局文件中包含的至少一个第三控件增加对应的事件属性;为该ui布局文件中包含的至少一个第四控件修改样式和/或布局;在该ui布局文件中增加至少一个第五控件;删除该ui布局文件中包含的至少一个第六控件。

进一步,作为一种可选的实施例,该第二修改模块还用于执行以下操作中的至少之一:在该事件文件增加至少一个第一事件;删除该事件文件中包含的至少一个第二事件。

作为一种可选的实施例,该ui布局文件中包含的控件为原生控件。

应该理解,本公开装置部分的实施例与本公开方法部分的实施例对应相同或类似,解决的技术问题和达到的技术效果也对应相同或类似,本公开在此不再赘述。

根据本公开的实施例,本公开还提供了一种应用程序的处理装置。

图6示例性示出了根据本公开实施例的应用程序的处理装置的框图。

如图6所示,应用程序的处理装置600包括:第三获取模块610。

第三获取模块610,用于获取应用程序的ui布局文件和事件文件,其中,该ui布局文件用于描述该应用程序的ui设计,该事件文件用于描述该应用程序的处理逻辑。其中,该ui布局文件和该事件文件经解析后可直接该应用程序。

作为一种可选的实施例,该装置还包括解析模块,用于解析该ui布局文件与该事件文件,以运行该应用程序。其中该解析模块还用于:生成该ui布局文件中各资源的id;将生成的id与该各资源关联,以获得对应的关联关系;以及将该ui布局文件与该事件文件进行关联。

作为一种可选的实施例,该解析模块还用于:根据该ui布局文件描述的事件属性,将该ui布局文件中包含的控件与该事件文件中包含的事件进行关联。

作为一种可选的实施例,该装置还包括:展示模块,用于基于该ui布局文件和该事件文件,展示该应用程序的ui。

作为一种可选的实施例,该装置还包括:第四获取模块,用于获取该应用程序的更新文件,其中,该更新文件包括以下至少之一:修改后的ui布局文件、修改后的事件文件;以及第三更新模块,用于基于该更新文件,对本地的该应用程序进行更新。

应该理解,本公开装置部分的实施例与本公开方法部分的实施例对应相同或类似,解决的技术问题和达到的技术效果也对应相同或类似,本公开在此不再赘述。

本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元707加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram703中,还可存储电子设备700操作所需的各种程序和数据。计算单元701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。

电子设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如应用程序的发布方法(或,如应用程序的处理方法)。例如,在一些实施例中,应用程序的发布方法(或,如应用程序的处理方法)可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram703并由计算单元701执行时,可以执行上文描述的应用程序的发布方法(或,如应用程序的处理方法)的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用程序的发布方法(或,如应用程序的处理方法)。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(″virtualprivateserver″,或简称″vps″)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

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