Sdk适配方法、装置、电子设备及存储介质

文档序号:1952087 发布日期:2021-12-10 浏览:17次 >En<

阅读说明:本技术 Sdk适配方法、装置、电子设备及存储介质 (SDK adaptation method, device, electronic equipment and storage medium ) 是由 孙哲 林乐洋 于 2021-08-18 设计创作,主要内容包括:本发明提供了一种SDK适配方法、装置、电子设备及存储介质,涉及软件开发技术领域。所述方法包括:获取目标SDK对应的对外公开元素集合;对公开元素集合进行转换,以得到目标SDK对应的目标适配文件。因此,能够解决相关技术中SDK适配文件的编写工作量大,而导致SDK适配文件编写效率低的问题。(The invention provides an SDK adaptation method, an SDK adaptation device, electronic equipment and a storage medium, and relates to the technical field of software development. The method comprises the following steps: acquiring an external public element set corresponding to the target SDK; and converting the public element set to obtain a target adaptation file corresponding to the target SDK. Therefore, the problem that the writing efficiency of the SDK adaptation file is low due to the fact that the writing workload of the SDK adaptation file is large in the related technology can be solved.)

SDK适配方法、装置、电子设备及存储介质

技术领域

本发明涉及软件开发技术领域,尤其涉及一种SDK适配方法、装置、电子设备及存储介质。

背景技术

现有技术中开发者开发Flutter应用程序的过程中,在Flutter应用程序需要调用第三方SDK(软件开发工具包Software Development Kit)的情况下,需要手动编写需要使用的第三方SDK对应的适配文件,对外开放适配文件的相关调用办法,并将适配文件封装为可配置类型,才可实现动态使用第三方SDK的功能。

申请人在实现本发明的过程中,发现现有技术中存在以下技术问题:

1、生成第三方SDK对应的适配文件工作量大;

2、开发者手动编写第三方SDK对应的适配文件,容易造成疏漏及错误;

3、每次第三方SDK升级都需要开发者重新手动编写对应的适配文件。

针对上述相关技术中SDK适配文件的编写存在的问题,目前尚未提出有效的解决技术手段。

发明内容

本发明实施例提供一种适配文件生成方法、装置、电子设备及存储介质,以解决相关技术中SDK适配文件的编写存在的至少部分的问题。

为了解决上述技术问题,本发明是这样实现的:

第一方面,本发明实施例提供了一种SDK适配方法,该方法包括:获取目标SDK对应的对外公开元素集合;对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件。

进一步地,获取所述目标SDK对应的对外公开元素集合,包括:遍历所述目标SDK;生成所述目标SDK对应的抽象语法树;根据所述抽象语法树获取所述对外公开元素集合。

进一步地,根据所述抽象语法树获取所述对外公开元素集合,包括:根据所述抽象语法树获取所述目标SDK对外公开的构造函数集合;以及,根据所述抽象语法树获取所述目标SDK对外公开的静态对象集合;以及,根据所述抽象语法树获取所述目标SDK对外公开的方法集合。

进一步地,根据所述抽象语法树获取所述目标SDK对外公开的构造函数集合,包括:根据所述抽象语法树中节点的节点属性,获取所述目标SDK对外公开的构造函数;对所述构造函数进行分类,以得到所述构造函数集合,其中,所述构造函数集合包括未命名构造函数子集合、公共构造函数子集合以及非抽象构造函数子集合。

进一步地,根据所述抽象语法树获取所述目标SDK对外公开的方法集合,包括:根据所述抽象语法树中节点的节点属性,获取所述目标SDK对外公开的方法;剔除不符合预设条件的方法,以得到所述方法集合。

进一步地,所述公开元素集合包括构造函数集合、静态对象集合以及方法集合,其中,对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件,包括:对所述构造函数集合、所述静态对象集合以及所述方法集合进行领域特定语言DSL转换,以得到所述目标SDK对应的JSON文件。

进一步地,在对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件之后,还包括:对所述JSON文件进行注册,以得到所述目标SDK对应的目标JSON文件;其中,所述目标JSON文件用于调用所述目标SDK。

进一步地,通过预设引擎执行所述JSON文件,以得到所述目标适配文件,包括:获取所述JSON文件对应的Key值;根据所述Key值确定所述JSON文件对应的参数;根据所述参数执行所述预设引擎,以得到所述目标JSON文件。

进一步地,在获取目标SDK对应的对外公开元素集合之前,还包括:获取预设指令,其中,所述预设指令用于指示获取所述目标SDK对应的目标适配文件,所述预设指令包括所述目标SDK的文件类型、文件路径、输出路径。

第二方面,本发明实施例另外提供了一种SDK适配装置,所述装置包括:获取单元,用于获取目标SDK对应的对外公开元素集合;处理单元,用于对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件。

第三方面,本发明实施例另外提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的SDK适配方法的步骤。

第四方面,本发明实施例另外提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的SDK适配方法的步骤。

在本发明实施例中,获取目标SDK对应的对外公开元素集合;对公开元素集合进行转换,以得到目标SDK对应的目标适配文件。通过获取目标Flutter应用程序所需调用的目标SDK对外公开的对外公开元素集合,对公开元素集合进行转换,来自动得到目标SDK对应的目标适配文件,避免人工对目标SDK适配文件的编写,降低了开发人员的人工工作量,进而减少了文件漏洞以及错误,达到提高目标SDK适配文件编写效率的目的。解决了因相关技术中SDK适配文件的编写工作工作量大,而导致SDK适配文件编写效率低的问题。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的

具体实施方式

附图说明

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

图1是本发明实施例中的一种SDK适配方法的应用场景示意图;

图2是本发明实施例中的一种SDK适配方法的流程示意图;

图3是本发明实施例中的另一种SDK适配方法的流程示意图;

图4是本发明实施例中的一种SDK适配装置的框架示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

在介绍本发明的技术方案之前,首先对以下名词进行解释:

SDK:(软件开发工具包Software Development Kit)软件开发工具包,一般是一些软件工程师为特定的软件、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。

Dart:谷歌开发的计算机编程语言。

JSON:JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。

在介绍本发明的技术方案之前,首先对以下本发明实施例的应用环境进行描述:

本发明实施例提出了一种SDK适配方法,该方法应用场景如图1所示的SDK适配文件处理框架,在该框架中包括输入模块10、处理模块20以及注册模块30。

具体地,输入模块10位于整个SDK适配文件处理系统的最前端,用于输入目标Flutter应用程序(例如开发过程中的Flutter应用程序)所需调用的目标SDK,处理模块20通过获取目标SDK对外公开/对外暴露的对外公开元素集合,并在注册模块30中对公开元素集合进行转换,以得到目标SDK对应的目标适配文件。

通过上述实施例,通过获取目标Flutter应用程序所需调用的目标SDK对外公开的对外公开元素集合,对公开元素集合进行转换,来得到目标SDK对应的目标适配文件,来避免人工对目标SDK适配文件的手工编写,降低了开发人员的人工工作量,进而减少了文件漏洞以及错误,达到提高目标SDK适配文件编写效率的目的。解决了因相关技术中SDK适配文件的编写工作工作量大,而导致SDK适配文件编写效率低的问题。

在本发明实施例中,提供了一种SDK适配方法,如图2所示,该方法具体可以包括以下步骤:

S202,获取目标SDK对应的对外公开元素集合;

在具体地应用场景中,在目标Flutter应用程序需要调用第三方应用程序对应的第三方SDK,即目标SDK。目标SDK可以为目标Flutter应用程序对应的SDK之外的第三方SDK。

具体地,目标SDK中并非所有的元素均支持外部调用,支持外部调用的元素为对外公开/对外暴露的公开元素,不支持外部调用的元素为非公开元素。在本实施例中,主要对目标SDK中获取公开元素对应的适配文件,因此,获取目标SDK对外公开/对外暴露的公开元素,其中,公开元素包括但不限于方法、构造函数以及静态对象等。

可选地,在本实施例中,获取目标SDK对应的对外公开元素集合,包括:遍历目标SDK;生成目标SDK对应的抽象语法树;根据抽象语法树获取对外公开元素集合。

具体地,通过获取SDK文件对应的文件路径,分析目标SDK对外提供的Dart文件,根据Dart文件确定目标SDK文件对应的文件入口,根据文件入口获取目标SDK对应的多个文件,遍历目标SDK中的多个文件,根据文件名称、属性等生成目标SDK对应的抽象语法树,根据抽象语法树中不同节点的属性,确定对应的构造函数、静态对象以及方法是否可以对外暴露,将可对外暴露的构造函数、静态对象以及方法生成对应的对外公开元素。需要说明的是,抽象语法树中节点的属性用于标识节点对应的元素是否为抽象的、以及该节点是否对外公开。

进一步可选地,根据抽象语法树获取对外公开元素集合,包括但不限于:根据抽象语法树获取目标SDK对外公开的构造函数集合;以及,根据抽象语法树获取目标SDK对外公开的静态对象集合;以及,根据抽象语法树获取目标SDK对外公开的方法集合。

在一个例子中,通过遍历目标SDK文件,来生成对应的抽象语法树,根据抽象语法树中不同节点,每个节点包括节点对应的节点属性,用于标识元素是否抽象以及是该节点元素否对外公开。在本实施例中,抽象语法树中节点的元素包括但不限于构造函数、静态对应以及方法,根据节点属性获取目标SDK对外公开的构造函数集合、及静态对象集合以及方法集合。

可选地,在本实施例中,根据抽象语法树获取目标SDK对外公开的构造函数集合,包括:根据抽象语法树中节点的节点属性,获取目标SDK对外公开的构造函数;对构造函数进行分类,以得到构造函数集合,其中,构造函数集合包括未命名构造函数子集合、公共构造函数子集合以及非抽象构造函数子集合。

具体地,在本实施例中,目标SDK中类的构造函数包括三类,分别是:未命名构造函数、公共构造函数以及非抽象构造函数。通过对目标SDK文件的遍历,目标SDK文件中包括多个类,获取目标SDK文件的每个类中对外公开的构造函数,按照构造函数的属性等进行分类,得到目标SDK文件中多个类分类并汇总得到的三组构造函数子集合,也就是说,在目标SDK对应的构造函数集合中包括三个构造函数子集合,分别是未命名构造函数子集合、公共构造函数子集合以及非抽象构造函数子集合。每个构造函数子集合中的构造函数都属于相同类型的构造函数。

通过上述实施例,对目标SDK对外公开的构造函数进行分类,以便后续降低对构造函数进行转换的难度以及复杂度,以提高目标SDK的处理效率。

另一方面,根据抽象语法树获取目标SDK对外公开的静态对象集合,包括但不限于,根据抽象语法树中节点的节点属性,获取目标SDK的多个类中每个类的静态对象集合,该静态对象集合中包括对外公开(对外暴露)的静态对象。

可选地,在本实施例中,根据抽象语法树获取目标SDK对外公开的方法集合,包括但不限于:根据抽象语法树中节点的节点属性,根据抽象语法树中节点的节点属性,获取目标SDK对外公开的方法;剔除不符合预设条件的方法,以得到方法集合。

在具体地应用场景中,根据抽象语法树中节点的节点属性,获取目标SDK中类对外公开(对外暴露)的方法,通过类中的方法的属性、字段元素等,来判断类中的方法是否符合预设条件,将不符合预设条件的静抽象的方法、非公开的方法、废弃的方法以及引用于测试的方法等剔除,保留符合预设条件的方法,得到目标SDK中对外公开的方法集合。

通过上述实施例,得到目标SDK文件中的三组对外公开的公开元素集合,实现了对目标SDK中对外公开元素进行分类和汇总。

S204,对公开元素集合进行转换,以得到目标SDK对应的目标适配文件。

具体地,在对目标SDK中的对外公开元素进行分类筛选后,得到三组公开元素集合。在本实施例中,通过对三组公开元素集合中的公开元素分别进行转换,以得到能够目标SDK对应的SDK适配文件,进而实现对目标SDK的调用。

可选地,在本实施例中,公开元素集合包括构造函数集合、静态对象集合以及方法集合,其中,对公开元素集合中的公开元素进行转换,以得到目标SDK对应的目标适配文件,包括但不限于:对构造函数集合、静态对象集合以及方法集合进行领域特定语言DSL(Domain Specific Language)转换,以得到目标SDK对应的JSON文件;

通过上述步骤S202,得到需要进行编写或转换的目标SDK对应的公开元素集合,分别包括构造函数集合、静态对象集合以及方法集合。本实施例中的公开元素集合为Dart结构的文件,Dart文件提供了访问公开元素集合的访问入口,能够通过Dart文件来读取公开元素集合中对外公开/对外暴露的元素,通过对文件中构造函数集合、静态对象集合以及方法集合中的公开元素进行DSL转换,来得到目标SDK对应的JSON文件。

在本实施例中,在得到目标适配文件JSON文件后,然后在预设引擎中对公开元素进行注册,来调用第三方SDK。避免了人工对目标SDK编写,以实现对目标SDK的适配文件的动态转换。

在一个例子中,假定目标SDK文件为“convex_bottom_bar_sdk”,其公开元素集合为“fair_convex_bottom_bar_sdk.dart”。通过对公开元素集合“fair_convex_bottom_bar_sdk.dart”进行DSL转换得到JSON文件“convex_bottom_bar_component”。

可选地,在本实施例中,在对公开元素集合进行转换,以得到目标SDK对应的目标适配文件之后,还包括:对JSON文件进行注册,以得到目标SDK对应的目标JSON文件,其中,目标JSON文件用于调用目标SDK。

在具体地应用场景中,在目标Flutter应用程序的应用页面渲染过程中,若需要应用到第三方应用程序对应的业务或功能的情况下,在Flutter库中获取第三方应用程序的目标SDK对应的JSON文件,通过预设引擎FariAPP对JSON文件进行注册,以得到目标JSON文件,执行目标JSON文件,以实现对第三方应用程序的目标SDK的调用。

进一步可选地,通过预设引擎执行JSON文件,以得到目标适配文件,包括:获取JSON文件对应的Key值;根据Key值确定JSON文件对应的参数;根据参数执行预设引擎,以得到目标JSON文件。

在具体地应用场景中,对目标SDK的对外公开元素集合转换得到的JSON文件中包括多个公开元素,例如方法、构造函数或静态对象,每个公开元素对应一个key,每个key具有对应的Key值,获取每个key对应的参数value值,根据多个key对应的多个参数value值执行预设引擎,以实现在预设引擎中注册目标SDK的公开元素,以得到目标SDK对应的经过注册的目标JSON文件。

在具体地应用场景中,公开元素中方法的参数为方法调用函数的参数值,公开元素中构造函数的参数为可用的参数名称,用以标识构造函数。公开元素中静态对象的参数为静态对象的调用方式。

需要说明的是,在本实施例中,预设引擎为一种预设SDK,其用于对目标SDK的公开元素进行注册,以实现目标Flutter应用程序能够对第三方应用程序的目标SDK的调用。

例如,以上述公开元素集合“fair_convex_bottom_bar_sdk.dart”进行DSL转换得到JSON文件“convex_bottom_bar_component”,将“convex_bottom_bar_component”输入至预设引擎FairAPP引擎中,获取“convex_bottom_bar_component”的key,根据key确定对应的参数值value,按照参数值value运行FairAPP引擎。将“convex_bottom_bar_component”添加到全局的GenerateModule中即可完成注册。

然后,通过确定需要加载目标SDK的版本确定目标适配文件版本,在预设引擎中注册后实现目标SDK的调用。或者在目标Flutter应用程序对应的预设服务器中下发第三方应用对应的目标JSON文件的方式,在目标Flutter应用程序的应用页面渲染过程中直接调用注册好的第三方应用对应的目标SDK。

在一个例子中,通过预设引擎FairAPP生成第三方JSON文件,通过第三方JSON文件调用目标SDK,需要使用的ConverxAppBar和Tabltem等内容,在Flutter应用程序的应用页面中可以调用目标SDK,展示目标SDK所提供的业务功能或支持的业务。

可选地,在本实施例中,在获取目标SDK对应的对外公开元素集合之前,还包括但不限于:获取预设指令,其中,预设指令用于指示获取目标SDK对应的目标适配文件,预设指令包括目标SDK的文件类型、文件路径、目的路径。

在具体的应用场景中,通过预设指令来指示软件开发系统自动获取指定应用中目标SDK对应的目标适配文件。预设指令中包括目标SDK的SDK文件的文件路径、目标适配文件的输出路径、以及目标SDK的文件类型等。在第三方应用的SDK版本发生更迭的情况下,可以通过获取预设指令实现自动获取对应目标SDK对应的目标适配文件,实现了对目标SDK的动态转换,即研发人员只需发送预设指令即可动态生成目标SDK对应的目标适配文件。

在一个例子中,预设指令为“Dart faric.dart-k sdk-f/Users/sz/.pub-cache/hosted/pub.flutter-io.cn/convex_bottom_bar-2.7.1+2/lib/con vex_bottom_bar.dart”,其中,“Dart”为编程语言类型,“-k”为文件类型,“-f”为SDK文件所在的文件路径。

在另一个例子中,预设指令为“Dart faric.dart-k sdk-f/Users/sz/.pub-cache/hosted/pub.flutter-io.cn/convex_bottom_bar-2.7.1+2/lib/con vex_bottom_bar.dart-t XX”,其中,“-t”为目标SDK对应的目标适配文件的输出路径。

通过上述实施例,获取目标SDK对应的对外公开元素集合;对公开元素集合进行转换,以得到目标SDK对应的目标适配文件。通过获取目标Flutter应用程序所需调用的目标SDK对外公开的对外公开元素集合,对公开元素集合进行转换,来得到目标SDK对应的目标适配文件,来避免人工对目标SDK适配文件的编写,降低了开发人员的人工工作量,进而减少了文件漏洞以及错误,达到提高目标SDK适配文件编写效率的目的。解决了因相关技术中SDK适配文件的编写工作工作量大,而导致SDK适配文件编写效率低的问题。

实施例二

本实施例详细介绍本发明实施例提供的一种具体地SDK适配方法,该方法具体可以包括以下步骤:

S302,从预设指令中获取SDK文件对应的文件路径;

S304,将SDK文件输入至预设组件Fairc中;

具体地,预设组件Fairc能够获取SDK文件对外公开或对外暴露的构造函数、普通方法以及字段元素,以得到对外公开元素集合。

S306,生成SDK适配文件;

具体地,通过预设组件Fairc获取SDK文件对应的对外公开元素集合,对对外公开元素集合进行DSL转换,以得到SDK适配文件,即Dart文件。

S308,在FairAPP中注册对外公开元素集合;

具体地,在存在渲染应用页面需要调用第三方SDK时,确定第三方SDK对应的文件版本,在预设引擎FairAPP中注册需要调用的第三方SDK对应文件版本所对应的公开元素集合Dart文件,以得到目标JSON文件。

S310,通过网络下发目标适配文件。

具体地,通过加载目标Flutter应用程序的指定版本对应的目标JSON文件或者在预设服务器中下发目标JSON文件的方式,实现在Flutter应用程序的应用页面中直接调用已经注册好的第三方SDK。

通过获取目标Flutter应用程序的目标SDK对外公开的对外公开元素集合,对公开元素集合进行转换,来得到目标SDK对应的目标适配文件,来避免人工对目标SDK适配文件的编写,降低了开发人员的人工工作量,进而减少了文件漏洞以及错误,达到提高目标SDK适配文件编写效率的目的。解决了因相关技术中SDK适配文件的编写工作工作量大,而导致SDK适配文件编写效率低的问题。

实施例三

详细介绍本发明实施例提供的一种SDK适配装置。

参照图4,示出了本发明实施例中一种SDK适配装置的结构示意图。

本发明实施例的SDK适配装置包括:获取单元40,处理单元42。

下面分别详细介绍各模块的功能以及各模块之间的交互关系。

获取单元40,用于获取目标SDK对应的对外公开元素集合;

处理单元42,用于对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件。

可选地,在本实施例中,获取单元40包括:遍历模块,用于遍历所述目标SDK;处理模块,用于生成所述目标SDK对应的抽象语法树;第一获取模块,用于根据所述抽象语法树获取所述对外公开元素集合。

可选地,在本实施例中,第一获取模块包括:第一获取子模块,用于根据所述抽象语法树获取所述目标SDK对外公开的构造函数集合;以及,第二获取子模块,用于根据所述抽象语法树获取所述目标SDK对外公开的静态对象集合;以及,第三获取子模块,用于根据所述抽象语法树获取所述目标SDK对外公开的方法集合。

可选地,在本实施例中,第一获取子模块用于:根据所述抽象语法树中节点的节点属性,获取所述目标SDK对外公开的构造函数;对所述构造函数进行分类,以得到所述构造函数集合,其中,所述构造函数集合包括未命名构造函数子集合、公共构造函数子集合以及非抽象构造函数子集合。

可选地,在本实施例中,第三获取子模块,用于:根据所述抽象语法树中节点的节点属性,获取所述目标SDK对外公开的方法;剔除不符合预设条件的方法,以得到所述方法集合。

可选地,在本实施例中,所述公开元素集合包括构造函数集合、静态对象集合以及方法集合,其中,处理单元42包括:转换模块,用于对所述构造函数集合、所述静态对象集合以及所述方法集合进行领域特定语言DSL转换,以得到所述目标SDK对应的JSON文件。

可选地,在本实施例中,还包括:注册模块,用于在对所述公开元素集合进行转换,以得到所述目标SDK对应的目标适配文件之后,对所述JSON文件进行注册,以得到所述目标SDK对应的目标JSON文件,其中,所述目标JSON文件用于调用所述目标SDK。

可选地,在本实施例中,注册模块包括:第四获取子模块,用于获取所述JSON文件对应的Key值;确定子模块,用于根据所述Key值确定所述JSON文件对应的参数;处理子模块,用于根据所述参数执行所述预设引擎,以得到所述目标JSON文件。

可选地,在本实施例中,还包括:接收单元,用于在获取目标SDK对应的对外公开元素集合之前,获取预设指令,其中,所述预设指令用于指示获取所述目标SDK对应的目标适配文件,所述预设指令包括所述目标SDK的文件类型、文件路径、输出路径。

该SDK适配装置实现上述SDK适配方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

而且,通过上述实施例,通过获取目标Flutter应用程序所需调用的目标SDK对外公开的对外公开元素集合,对公开元素集合进行转换,来得到目标SDK对应的目标适配文件,来避免人工对目标SDK适配文件的编写,降低了开发人员的人工工作量,进而减少了文件漏洞以及错误,达到提高目标SDK适配文件编写效率的目的。解决了因相关技术中SDK适配文件的编写工作工作量大,而导致SDK适配文件编写效率低的问题。

实施例四

优选的,本发明实施例还提供了一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如实施例一中所述的SDK适配方法的步骤。

该计算机程序被处理器执行时实现上述SDK适配方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

实施例五

本发明实施例还提供了一种存储介质,该存储介质包括但不限于计算机可读存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述SDK适配方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

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

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

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

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于一种软件开发平台的软件自动集成控制方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!