一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

功能模块调用方法、装置、电子设备及可读存储介质与流程

2022-03-01 21:14:46 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种功能模块调用方法、装置、电子设备及可读存储介质。


背景技术:

2.目前,对于函数和类之间的调用,都是通过函数之间的互相引用来完成的。彼此之间互相引用,如a文件引用b文件,b文件引用c文件,c文件引用d文件,a文件引用d文件,d文件引用b文件等,每一次引用关系都是一种包含关系,这样会导致不同的文件之间互相包含,存在很严重的耦合,从而容易导致后续代码合并冲突,且维护困难。


技术实现要素:

3.本发明实施例提供了一种功能模块调用方法、装置、电子设备及可读存储介质,能够有效地消除功能模块之间相互调用带来的耦合问题。
4.第一方面,本发明实施例提供了一种功能模块调用方法,应用于ios系统中对功能模块进行调用。所述方法包括:
5.响应于加载预设页面的触发操作,将所述预设页面包含的每个目标功能模块以及各自对应的目标协议均关联存储到预设字典中,并将所述每个目标功能模块以及目标协议的对应关系注册到预设数组中,其中,所述目标协议为预先针对所述目标功能模块创建的,所述目标协议中定义有所述目标功能模块包含的功能函数;
6.响应于启动所述预设页面所属应用程序的触发操作,对所述预设数组进行遍历,针对遍历到的每个目标功能模块,执行以下创建及绑定步骤:
7.检测所述目标功能模块以及对应目标协议的名称是否满足预设配置条件,若是,则从所述预设字典中获取所述目标功能模块;
8.通过调用预设的模块绑定函数,将所获取的目标功能模块与对应目标协议绑定,包括:通过conformstoprotocol函数,判断所述目标功能模块是否遵守了该目标协议,若是,则建立一个同步锁,通过该目标协议查找要绑定的目标功能模块,将所查找到的目标功能模块封装为一个对象,并将该对象重新赋值给所述预设字典中的该目标协议;
9.创建调用接口,所述调用接口用于通过目标协议对所述预设字典中与该目标协议绑定的目标功能模块进行调用。
10.进一步地,所述创建调用接口之后,还包括:
11.获取用目标函数对应的协议名称、目标函数指针selector以及目标函数,其中,所述目标函数为需要调用的功能函数,所述目标函数指针用于判断所述目标函数是否能被调用;
12.通过将所述协议名称、目标函数指针selector以及目标函数传入所述调用接口,对所述目标函数进行调用。
13.进一步地,所述通过将所述协议名称、目标函数指针selector以及目标函数传入
所述调用接口,对所述目标函数进行调用,包括:
14.通过传入的协议名称生成一个协议;
15.通过defaultcenter获取到client管理对象,所述client管理对象是一个遵守了该协议的service对象;
16.通过respondstoselector方法,判断该service是否遵守了selector的方法,若是,则通过service去调用目标函数,若否,则将该service置为空。
17.进一步地,所述检测所述目标功能模块以及对应协议的名称是否满足预设配置条件,包括:
18.获取所述目标功能模块以及对应目标协议的协议名称,检测所述协议名称以及所述目标功能模块是否均存在;
19.若存在,则通过conformstoprotocol协议方法检测所述目标功能模块是否遵守预设的模块加载协议,若遵守,则判定所述目标功能模块以及对应协议的名称满足所述预设配置条件,其中,所述模块加载协议用于对所述目标功能模块进行初始化。
20.进一步地,所述通过该目标协议查找要绑定的目标功能模块,包括:
21.通过nsstringfromprotocol方法获取目标协议的字符串名称,作为key值;
22.在所述预设字典中通过所述key值查找对应的client,判断所述client的类型是否正确,若正确,则获取所述client的object,其中,所述client的object对象是相应的目标功能模块,所述client是目标功能模块的进一步封装,client对象包含有目标功能模块的属性;
23.若所述client的object不存在,则将所述目标协议转化为字符串类型的key,并创建一个client对象,在所述client对象里面传入所述目标功能模块的参数。
24.进一步地,所述目标功能模块为box或用于实现目标功能的函数。
25.第二方面,本发明实施例提供了一种功能模块调用装置,所述装置包括:
26.注册模块,用于响应于加载预设页面的触发操作,将所述预设页面包含的每个目标功能模块以及各自对应的目标协议均关联存储到预设字典中,并将所述每个目标功能模块以及目标协议的对应关系注册到预设数组中,其中,所述目标协议为预先针对所述目标功能模块创建的,所述目标协议中定义有所述目标功能模块包含的功能函数;
27.绑定模块,用于响应于启动所述预设页面所属应用程序的触发操作,对所述预设数组进行遍历,针对遍历到的每个目标功能模块,执行以下创建及绑定步骤:
28.检测所述目标功能模块以及对应目标协议的名称是否满足预设配置条件,若是,则从所述预设字典中获取所述目标功能模块;
29.通过调用预设的模块绑定函数,将所获取的目标功能模块与对应目标协议绑定,包括:通过conformstoprotocol函数,判断所述目标功能模块是否遵守了该目标协议,若是,则建立一个同步锁,通过该目标协议查找要绑定的目标功能模块,将所查找到的目标功能模块封装为一个对象,并将该对象重新赋值给所述预设字典中的该目标协议;
30.接口创建模块,用于创建调用接口,所述调用接口用于通过目标协议对所述预设字典中与该目标协议绑定的目标功能模块进行调用。
31.进一步地,上述功能模块调用装置还包括:
32.参数获取模块,用于获取目标函数对应的协议名称、目标函数指针selector以及
目标函数,其中,所述目标函数为需要调用的功能函数,所述目标函数指针用于判断所述目标函数是否能被调用;
33.调用模块,用于通过将所述协议名称、目标函数指针selector以及目标函数传入所述调用接口,对所述目标函数进行调用。
34.第三方面,本发明实施例还提供了一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行上述第一方面提供的功能模块调用方法的步骤。
35.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序。该程序被处理器执行时实现上述第一方面提供的功能模块调用方法的步骤。
36.本发明实施例中提供的技术方案,至少具有如下技术效果或优点:
37.本发明实施例提供的功能模块调用方法以及装置,通过针对预设页面中需要被调用的目标功能模块创建一个协议,协议中定义有目标功能模块中包含的功能函数,然后,将目标功能模块以及相应的目标协议存储到预设字典中,并将每个目标功能模块以及目标协议的对应关系注册到预设数组中,接着,对预设数组进行遍历,对每个目标功能模块进行创建,并完成每个目标功能模块与相应目标协议的绑定,进而,就可以创建调用接口,用于通过目标协议对与目标协议绑定的目标功能模块进行调用。相比于现有技术,针对需要被调用的目标功能模块创建一个协议,根据该协议以及所创建的调用接口来对目标功能模块进行调用,能够更方便且快捷地实现对目标功能模块的调用。并且,功能模块之间的调用无需互相引用,有效地消除了功能模块之间相互引用带来的耦合问题,降低了功能模块之间互相调用的依赖关系,极大地降低了对这些功能模块进行维护以及更新的工作量。
38.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
39.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
40.图1示出了本发明第一实施例提供的一种功能模块调用方法的流程图;
41.图2示出了本发明第一实施例提供的创建及绑定步骤的步骤流程图;
42.图3示出了本发明第二实施例提供的一种功能模块调用装置的功能模块框图;
43.图4示出了本发明第三实施例提供的一种电子设备的结构示意图。
具体实施方式
44.本发明实施例提供了一种功能模块调用方法、装置、电子设备及可读存储介质,能够有效地消除函数之间相互调用带来的耦合问题。该方法应用于ios系统中对功能模块进行调用,包括:响应于加载预设页面的触发操作,将预设页面包含的每个目标功能模块以及各自对应的目标协议均关联存储到预设字典中,并将每个目标功能模块以及目标协议的对应关系注册到预设数组中,其中,目标协议为预先针对目标功能模块创建的,目标协议中定
义有目标功能模块包含的功能函数;响应于启动预设页面所属应用程序的触发操作,对预设数组进行遍历,针对遍历到的每个目标功能模块,执行以下创建及绑定步骤:检测目标功能模块以及对应目标协议的名称是否满足预设配置条件,若是,则从预设字典中获取目标功能模块;通过调用预设的模块绑定函数,将所获取的目标功能模块与对应目标协议绑定,包括:通过conformstoprotocol函数,判断目标功能模块是否遵守了该目标协议,若是,则建立一个同步锁,通过该目标协议查找要绑定的目标功能模块,将所查找到的目标功能模块封装为一个对象,并将该对象重新赋值给预设字典中的该目标协议;在完成创建及绑定步骤后,创建调用接口,调用接口用于通过目标协议对与目标协议绑定的目标功能模块进行调用。
45.需要说明的是,本发明实施例中,预设页面可以根据实际应用场景确定。例如,预设页面可以是直播间,相应地,预设页面所属应用程序可以为直播类应用程序;或者,预设页面可以是即时通信应用程序的聊天界面,相应地,预设页面所属应用程序可以是即时通信应用程序,等等。目标功能模块为需要被调用的功能模块,即用于实现某种功能的程序模块。举例来讲,目标功能模块可以是box,或者是用于实现目标功能如注册账号、发语音或发图片等的函数。其中,box是指每个功能对应的管理类,例如,即时通信应用程序的聊天界面中,输入框可以看作是一个box,实现发语音、发图片以及发红包等功能的程序模块也可以分别看作是一个box。
46.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.本文中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
48.本发明第一实施例提供了一种功能模块调用方法,应用于ios系统中对功能模块进行调用。需要说明的是,为了便于理解,本发明实施例主要以功能模块为box为例,对通过本方案实现对box的调用的过程进行说明,在本发明其他实施例中,也可以应用于其他功能模块之间的调用。如图1所示,该方法可以包括以下步骤s101至步骤s103。
49.步骤s101,响应于加载预设页面的触发操作,将预设页面包含的每个目标box以及各自对应的目标协议均关联存储到预设字典中,并将每个目标box以及目标协议的对应关系注册到预设数组中。
50.本实施例中,目标box为预设页面中需要被调用的box。举例来讲,预设页面包含box a、box b、box c和box d,其中,box a需要调用box b,box b需要调用box c,box c需要调用box d,则将box b、box c和box d均作为目标box。
51.目标协议为预先针对目标box创建的,针对每个目标box,各自创建一个目标协议,目标协议中定义有相应目标box包含的功能函数。
52.也就是说,在执行步骤s101之前,为了实现box之间的调用,需要先执行协议创建
步骤。针对每个目标box编写一个协议,这个协议是一个独立的文件。这个协议文件需要遵守《nsobject》协议,同时需要让这个协议包含#import《foundation/foundation.h》的头文件。另外,还需要定义协议,因为函数调用之前是需要定义函数的,可以在这个协议里面定义一些功能函数,这些东西是一个单独的协议。
53.定义好协议之后,还需要在每个目标box里面遵守各自对应的目标协议。遵守协议需要导入上述协议创建步骤定义的协议,并使用遵守协议的方法来遵守这个协议。也就是说,需要对box进行协议绑定,绑定的时机是在这个box创建的时候自动进行绑定,绑定的方式是遵守上述针对该box创建的协议。
54.目前常规的方案中,不需要box遵守协议,也就不需要创建协议,彼此之间只能相互引用。本方案通过增加一个协议,这个协议里面是彼此之间需要互相调用的部分,将彼此互相需要调用的功能函数通过协议来进行抽离即将函数声明抽离出来在协议中进行定义,能够有效地方便box之间的调用,且能够消除相互引用带来的代码耦合问题。
55.预先针对预设页面中每个目标box均创建好相应的目标协议后,加载预设页面如加载直播间的时候,会对所有的box进行注册。将加载的预设页面中需要被调用的目标box和相应目标协议都存储到预设字典里面。每个字典的key是目标box所遵守的协议,每个字典的value是这个目标box。然后将每个目标box和目标协议的对应关系注册到预设数组里面。此后,就可以执行以下步骤s102对这些目标box进行协议绑定。
56.步骤s102,响应于启动预设页面所属应用程序的触发操作,对预设数组进行遍历,针对遍历到的每个目标box,执行创建及绑定步骤。
57.如图2所示,创建及绑定步骤可以包括以下步骤s201和步骤s202。该过程采用了静态绑定的方式,有利于提高box与协议的绑定效率,节约内存。
58.步骤s201,检测目标box以及对应目标协议的名称是否满足预设配置条件,若是,则从预设字典中获取所述目标box。
59.具体来讲,检测所述目标box以及对应目标协议的名称是否满足预设配置条件的过程可以包括:获取目标box以及对应目标协议的协议名称,检测协议名称以及目标box是否均存在;若存在,则通过conformstoprotocol协议方法检测目标box是否遵守预设的模块加载协议,若遵守,则判定目标box以及对应协议的名称满足预设配置条件,其中,模块加载协议用于对目标box进行初始化。
60.步骤s202,通过调用预设的模块绑定函数,将所获取的目标box与对应目标协议绑定,包括:通过conformstoprotocol函数,判断目标box是否遵守了该目标协议,若是,则建立一个同步锁,通过该目标协议查找要绑定的目标box,将所查找到的目标box封装为一个对象,并将该对象重新赋值给所述预设字典中的该目标协议。
61.上述步骤s202中,通过该目标协议查找要绑定的目标box的过程可以包括:通过nsstringfromprotocol方法获取目标协议的字符串名称,作为key值;在预设字典中通过key值查找对应的client,判断client的类型是否正确,若正确,则获取client的object,其中,client的object对象是相应的目标box,client是目标box的进一步封装,client对象包含有目标box的属性;若client的object不存在,则将目标协议转化为字符串类型的key,并创建一个client对象,在client对象里面传入所述目标box的参数。
62.具体实施过程中,可以在每次启动预设页面所属应用程序的时候,调用配置box函
数,对上述预设数组进行遍历,每次遍历都会执行box添加步骤。在每次box创建的时候,都会调用预设的addbox方法,在addbox方法内部,需要传一个函数,这个函数是addbox,这个函数需要一个待添加box的名称和对应目标协议的名称,函数的内部实现方式包括以下步骤(1)至(5)。
63.步骤(1),判断目标协议的名称是否存在,以及待添加box的名称是否存在,如果目标协议的名称和/或待添加box不存在就返回,继续遍历预设数组中的下一个box,若均存在,则继续执行以下步骤(2)。
64.步骤(2),使用conformstoprotocol协议方法检测待创建box是否遵守了预设的模块加载协议(boxload协议),若是,则继续执行以下第(3)步,若否,就返回继续遍历预设数组中的下一个box,其中,boxload协议里面包含有预设页面中每个box初始化的方法。
65.步骤(3),将获取到的目标协议名称作为key,去存储box和协议的预设字典里面拿到待添加box,然后调用预设的boxbinding函数对这个box进行协议绑定。boxbinding函数需要两个参数,一个参数是和哪个协议绑定,另一个参数是绑定协议的对象即要绑定协议的是哪个box。该函数的内部实现方式是首先判断这两个参数是否存在,如果两个参数均存在,就继续执行以下第(4)步。
66.步骤(4),使用conformstoprotocol函数,判断这个box是否遵守了要绑定的协议,如果没遵守就直接返回,如果遵守了就继续后续的步骤(5)。
67.步骤(5),建立一个同步锁,这个同步锁是@synchronized,同步锁用于避免一个box同时注册两个协议,synchronized对self进行锁定。本步骤通过协议找到绑定的对象。通过nsstringfromprotocol方法去找到一个key值,这个key就是协议的字符串名称,从保存协议和对象绑定关系的字典clientdictionary通过key去查找对应的client。判断这个client的类型是否正确,如果正确,则拿到这个client的object。这个client的object对象是box,client是对box进一步封装,client对象包含box的属性。如果上述client的object存在,则说明该box已经注册过协议,如果不存在,就将boxbinding函数获取到的协议参数转化为字符串类型的key,同时创建一个client对象,这个client对象里面需要传入一个参数,这个参数就是一个box。具体代码实现过程可以如下:
[0068][0069]
在每次启动预设页面所属应用程序的时候对协议进行绑定,让协议和每个box建立关系,并且保存起来,就可以为后续的互相调用打下基础。同时将每个box封装为一个对象,以对应协议的名称为key,封装后的对象为value存储到预设字典,有利于为后续接口设计调用打下基础。
[0070]
完成了目标box的注册和协议绑定之后,就可以执行以下步骤s103进行调用接口设计,以便通过该调用接口实现对目标box的调用。
[0071]
步骤s103,创建调用接口,调用接口用于通过目标协议对预设字典中与该目标协议绑定的目标box进行调用。
[0072]
具体实施过程中,在进行box调用时,为了接口调用方便,可以定义一个静态的方法。例如,可以将这个静态的方法定义为box_caller函数。box_caller函数需要三个参数,第一个参数是协议的名称p,第二个参数是一个即将调用的selector,selector是一个函数的指针,这个函数指针用来判断需要调用的函数是否能被调用,第三个参数是需要调用的功能函数func。这些函数传入完毕之后,就需要编写内部的实现,内部的实现是:
[0073][0074]
首先通过传入的协议名称p将这个协议通过@protocol生成一个protocol;然后,通过defaultcenter拿到client管理对象,这个管理对象是一个遵守了协议的service对象。拿到这个service之后通过respondstoselector方法判断这个service是否遵守了selector的方法。判断是否遵守selector的方法实际上是判断service里面的方法能否被调用,这样可以避免程序崩溃(crash)。如果这个service没有遵守这个selector,则需要将这个service置为空(nil)。如果这个service遵守了selector的方法,则通过service去调用需要调用的函数func,完成对方法的调用。
[0075]
这样就可以提供给外界一个简单的接口box_callerwithselector(p,selector,func),这里面使用了对象对方法的fun调用,且使用了selector来简化操作。
[0076]
通过建立静态方法调用,能够使得调用更快捷,只需要针对box定义一个协议,就能够以该协议为桥梁对该box进行调用,而不需要引入整个文件,能够有效地降低调用方与被调用方之间的耦合。
[0077]
进一步,在创建好调用接口之后,就可以根据需要传入相应的参数,来实现对box之间的调用。具体调用步骤可以包括:获取目标函数对应的协议名称、目标函数指针selector以及目标函数,其中,目标函数为需要调用的功能函数,目标函数指针用于判断所述目标函数是否能被调用;通过将协议名称、目标函数指针selector以及目标函数传入调用接口,对目标函数进行调用。
[0078]
相应地,通过将所述协议名称、目标函数指针selector以及目标函数传入调用接口,对目标函数进行调用的过程就可以包括:通过传入的协议名称生成一个协议;通过defaultcenter获取到client管理对象,所述client管理对象是一个遵守了该协议的service对象;通过respondstoselector方法,判断该service是否遵守了selector的方法,若是,则通过service去调用目标函数,若否,则将该service置为nil。具体实现可以参照上述box_caller函数的内部实现过程。
[0079]
综上所述,本发明实施例提供的功能模块调用方法,只需要针对要被调用的目标功能模块创建一个协议,就可以根据该协议以及所创建的调用接口来对目标功能模块进行
调用,能够更方便且快捷地实现对目标功能模块的调用。并且,功能模块之间的调用无需互相引用,有效地消除了功能模块之间相互引用带来的耦合问题,降低了功能模块之间互相调用的依赖关系,极大地降低了对这些功能模块进行维护以及更新的工作量。
[0080]
本发明第二实施例提供了一种功能模块调用装置,用于执行上述第一实施例提供功能模块调用方法,应用于ios系统中对功能模块进行调用。如图3所示,该功能模块调用装置30包括:
[0081]
注册模块31,用于响应于加载预设页面的触发操作,将所述预设页面包含的每个目标功能模块以及各自对应的目标协议均关联存储到预设字典中,并将所述每个目标功能模块以及目标协议的对应关系注册到预设数组中,其中,所述目标协议为预先针对所述目标功能模块创建的,所述目标协议中定义有所述目标功能模块包含的功能函数;
[0082]
绑定模块32,用于响应于启动所述预设页面所属应用程序的触发操作,对所述预设数组进行遍历,针对遍历到的每个目标功能模块,执行以下创建及绑定步骤:
[0083]
检测所述目标功能模块以及对应目标协议的名称是否满足预设配置条件,若是,则从所述预设字典中获取所述目标功能模块;
[0084]
通过调用预设的模块绑定函数,将所获取的目标功能模块与对应目标协议绑定,包括:通过conformstoprotocol函数,判断所述目标功能模块是否遵守了该目标协议,若是,则建立一个同步锁,通过该目标协议查找要绑定的目标功能模块,将所查找到的目标功能模块封装为一个对象,并将该对象重新赋值给所述预设字典中的该目标协议;
[0085]
接口创建模块33,用于创建调用接口,所述调用接口用于通过目标协议对所述预设字典中与该目标协议绑定的目标功能模块进行调用。
[0086]
在一种可选的实施例中,上述功能模块调用装置30还包括:参数获取模块34,用于获取目标函数对应的协议名称、目标函数指针selector以及目标函数,其中,所述目标函数为需要调用的功能函数,所述目标函数指针用于判断所述目标函数是否能被调用;调用模块35,用于通过将所述协议名称、目标函数指针selector以及目标函数传入所述调用接口,对所述目标函数进行调用。
[0087]
在一种可选的实施例中,上述调用模块35用于:通过传入的协议名称生成一个协议;通过defaultcenter获取到client管理对象,所述client管理对象是一个遵守了该协议的service对象;通过respondstoselector方法,判断该service是否遵守了selector的方法,若是,则通过service去调用目标函数,若否,则将该service置为空。
[0088]
在一种可选的实施例中,上述绑定模块32用于:获取所述目标功能模块以及对应目标协议的协议名称,检测所述协议名称以及所述目标功能模块是否均存在;若存在,则通过conformstoprotocol协议方法检测所述目标功能模块是否遵守预设的模块加载协议,若遵守,则判定所述目标功能模块以及对应协议的名称满足所述预设配置条件,其中,所述模块加载协议用于对所述目标功能模块进行初始化。
[0089]
在一种可选的实施例中,上述绑定模块32用于:通过nsstringfromprotocol方法获取目标协议的字符串名称,作为key值;在所述预设字典中通过所述key值查找对应的client,判断所述client的类型是否正确,若正确,则获取所述client的object,其中,所述client的object对象是相应的目标功能模块,所述client是目标功能模块的进一步封装,client对象包含有目标功能模块的属性;若所述client的object不存在,则将所述目标协
议转化为字符串类型的key,并创建一个client对象,在所述client对象里面传入所述目标功能模块的参数。
[0090]
在一种可选的实施例中,上述目标功能模块为box或用于实现目标功能的函数。
[0091]
需要说明的是,本发明实施例所提供的功能模块调用装置30,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0092]
另外,本发明第三实施例还提供了一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行上述第一实施例提供的功能模块调用方法的步骤。
[0093]
图4示出了一种示例性电子设备400的模块框图。如图4所示,电子设备400包括存储器402、存储控制器404,一个或多个(图中仅示出一个)处理器406、外设接口408、网络模块410、输入输出模块412、显示模块414等。这些组件通过一条或多条通讯总线/信号线416相互通讯。
[0094]
存储器402可用于存储软件程序以及模块,如本发明实施例中的功能模块调用方法以及装置对应的程序指令/模块,处理器406通过运行存储在存储器402内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的功能模块调用方法。
[0095]
存储器402可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器406以及其他可能的组件对存储器402的访问可在存储控制器404的控制下进行。
[0096]
外设接口408将各种输入/输出装置耦合至处理器406以及存储器402。在一些实施例中,外设接口408,处理器406以及存储控制器404可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
[0097]
网络模块410用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。
[0098]
输入输出模块412用于提供给用户输入数据实现用户与电子设备的交互。所述输入输出模块412可以是,但不限于,鼠标、键盘和触控屏幕等。用户可以通过输入输出模块412启动预设页面所属的应用程序以及触发加载预设页面。
[0099]
显示模块414在电子设备400与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示模块414可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
[0100]
可以理解,图4所示的结构仅为示意,电子设备400还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
[0101]
本发明第四实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法实施例的步骤。本发明第二实施例中所述的功能模块调用装置集成的功能单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述第一实施例
的功能模块调用方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0102]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0103]
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0104]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0105]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献