一种创建与使用移动平台插件的方法、系统和移动终端的制作方法

文档序号:6443737阅读:106来源:国知局
专利名称:一种创建与使用移动平台插件的方法、系统和移动终端的制作方法
技术领域
本发明涉及插件应用领域,尤其涉及一种创建与使用移动平台插件的方法、系统和移动终端。
背景技术
现有技术中,在使用移动手机平台插件或者实现插件时,需要遵行特定平台系统规则,如SYMBIAN平台是一种客户端/服务器框架,为插件的实例化、解析,及析构等提供了服务。从本质上讲,它是把许多应用程序的功能性需求放到一个DLL动态库中,并供客户端通过接口去访问SYMBAIN平台(ECOM)、CE平台(COM)等插件技术。
但现有技术中移动手机平台的插件必须要遵行一套复杂的使用规则,如果想在自成一体的平台上使用,无法实现所需的平台功能。发明内容
本发明实施例的目的在于提出一种创建与使用移动平台插件的方法,旨在解决现有技术中移动手机平台的插件必须要遵行一套复杂的使用规则,无法在各应用框架平台中实现个性的平台功能的技术问题。
本发明实施例是这样实现的,一种创建移动平台插件的方法,包括以下步骤
创建实例对象插件;所述实例对象插件继承自预先设置的插件接口类;
根据所述实例对象插件的实际应用设置所述实例对象插件中的接口函数。
本发明实施例的另一目的在于提出一种使用移动平台插件的方法,包括以下步骤
加载实例对象插件到主框架平台;所述实例对象插件继承自预先设置的插件接口类;
通过所述主框架平台获取所述实例对象插件的接口函数;
通过所述接口函数使用所述实例对象插件。
本发明实施例的另一目的在于提出一种创建移动平台插件的装置,所述装置包括创建插件模块和设置接口模块;
所述创建插件模块,与所述设置接口模块相连,用于创建实例对象插件;所述实例对象插件继承自预先设置的插件接口类;
所述设置接口模块,与所述创建插件模块相连,用于根据所述实例对象插件的实际应用设置所述实例对象插件中的接口函数,所述接口函数包括第一函数、第二函数和第三函数。
本发明实施例的另一目的在于提出一种使用移动平台插件的装置,所述装置包括加载模块、获取接口模块和使用模块;
所述加载模块,与所述获取接口模块相连,用于加载实例对象插件到主框架平台; 所述实例对象插件继承自预先设置的插件接口类;
所述获取接口模块,与所述加载模块和使用模块相连,用于通过所述主框架平台获取所述实例对象插件的接口函数;
所述使用模块,与所述获取接口模块相连,用于通过所述接口函数使用所述实例对象插件。
本发明实施例的另一目的在于提出一种包含所述创建移动平台插件的装置和所述使用移动平台插件的装置的创建与使用移动平台插件的系统。
本发明实施例的另一目的在于提出一种包含所述创建与使用移动平台插件的系统的移动终端。
本发明的有益效果
本发明通过在插件接口类中预置插件使用规则,然后创建并加载插件接口类的实例对象插件。其中所述插件接口类使用规则简单,不需要修改主体框架平台就可以对软件功能进行扩展与加强,实现插件的即插即用。用户通过接口函数自定义个性实例对象插件, 从而解决一些操作上的不便或增加新的功能。在加载过程中,将实例对象插件中的接口函数的地址保存到数组,通过遍历数组来使用或删除插件,实例对象插件的加载和使用过程更加简单、方便。实例对象插件以dll动态库的形式存在,避免重复编译,缩短产品发布周期。所述dll动态库可以双向获取数据,即主框架平台可以获取实例对象插件中的数据,所述实例对象插件也可以获取主框架平台中的数据,交互方便又相互独立,兼容性强。每个实例对象插件功能独立,可以根据插件功能特性以及人员素质合理分配工作任务,扬长避短, 而且避免了多个开发人员交叉开发而造成信息不同步的问题。


图1是本发明实施例一种创建移动平台插件方法的流程图2是本发明一种使用移动平台插件方法的第一种优选实施例流程图3是本发明一种使用移动平台插件方法的第二种优选实施例流程图4是本发明一种创建移动平台插件的装置的第一种优选实施例的结构示意图5是本发明一种创建移动平台插件的装置的第二种优选实施例的结构示意图6是本发明一种使用移动平台插件的装置的第一种优选实施例的结构示意图7是本发明一种使用移动平台插件的装置的第二种优选实施例的结构示意图8是本发明一种使用移动平台插件的装置的第三种优选实施例的结构示意图9是本发明实施例一种创建与使用移动平台插件的系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。
本发明通过在插件接口类中预置插件使用规则,然后创建并加载插件接口类的实例对象插件。其中所述插件接口类使用规则简单,不需要修改主体框架平台就可以对软件功能进行扩展与加强,实现插件的即插即用。用户通过接口函数自定义个性实例对象插件, 从而解决一些操作上的不便或增加新的功能。在加载过程中,将实例对象插件中的接口函5数的地址保存到数组,通过遍历数组来使用或删除插件,实例对象插件的加载和使用过程更加简单、方便。实例对象插件以dll动态库的形式存在,避免重复编译,缩短产品发布周期。所述dll动态库可以双向获取数据,即主框架平台可以获取实例对象插件中的数据,所述实例对象插件也可以获取主框架平台中的数据,交互方便又相互独立,兼容性强。每个实例对象插件功能独立,可以根据插件功能特性以及人员素质合理分配工作任务,扬长避短, 而且避免了多个开发人员交叉开发而造成信息不同步的问题。
实施例一
图1是本发明实施例一种创建移动平台插件方法的流程图。所述的方法包括以下步骤
S101,创建实例对象插件;所述实例对象插件继承自预先设置的插件接口类;
所述插件接口类为公共类型,包括三个接口函数第一函数、第二函数和第三函数;所述第一函数用于获取属性名称以及所述属性名称对应的属性值;所述第二函数用于设置属性名称和所述属性名称的属性值;所述第三函数用于回调事件;
S102,根据所述实例对象插件的实际应用设置所述实例对象插件中的接口函数。
所述第一函数中包含3个参数第一参数、第二参数和第一返回类型,用于获取属性名称以及所述属性名称对应的属性值;其中,所述第一参数为属性名称;所述第二参数为所述属性名称的返回值;所述第一返回类型表示返回值是否返回成功,若是,则为真;若否,则为假;
所述第二函数中包含3个参数第三参数、第四参数和第二返回类型,用于设置属性名称和所述属性名称的属性值;其中,所述第三参数表示属性名称;所述第四参数表示所述属性名称的属性值;所述第二返回类型表示属性是否设置成功,如果设置成功,则返回为真,否则返回假。
所述第三函数包括2个参数第五参数和第三返回类型,用于函数回调,其中第五参数为可变参数,所述第三返回类型由用户根据需要来设定,所述第三返回类型可以为无。
所述接口函数的个数以及每个接口函数中所需要的参数可以根据实际应用增加接口函数的个数以及接口函数中的参数的个数,并根据实际应用设置所述实例对象插件中的接口函数。
为便于理解,举例说明,首先预置插件接口类CEmbedOb ject,如下
Class CEmbedObject (){Publicvirtual bool GetProperty(const char& aName, char& aBuffer) const=0 ;virtual bool SetProperty(const char& aName, const char& aValue) =0;virtual void CallMethod(char 氺event, char 氺eventFun)=0;};
所述CEmbedObject为插件接口类的名称;Public为公共的类型;
所述GetProperty函数为第一函数JetProperty函数为第二函数,CallMethod函数为第三函数;
其中,Getfroperty函数包含3个参数,分别是第一参数aName,第二参数aBuffer 和第一返回类型bool型,表示如果成功返回为真,否则为假。
SetProperty函数包含3个参数,分别是第三参数aName、第四参数aValue和第二返回类型为bool,表示成功返回为真,失败返回为假。
CallMethod函数包括2个参数第五参数event和第三返回类型eventFun ;其中参数类型为可变参数,所述第三返回类型用户可以根据需要来设定,这里设为无。
其次,创建插件接口类的实例对象插件,例如创建插件接口类CEmbedObject的实例对象插件为浏览器插件BrowserPlugin,具体如下
Class BrowserPluginpublic CEmbedObject{Publicvirtual bool GetProperty (const char& aName, char& aBuffer) const ;virtual bool SetProperty (const char& aName, const char& aValue);
virtual void CallMethod(char 氺event, char 氺eventfun); };
再次,设置所述浏览器插件BrowserPlugin中的3个接口函数,具体如下
通过GetProperty函数获取属性名称以及所述属性名称对应的属性值,其中第一参数aName表示属性名称,第二参数aBuffer表示所述属性名称对应的属性值,第一返回类型bool表示如果成功返回为真,否则为假;
例如设置GetProperty (“url”,urlbuffer),可以获取当前url地址,其中“url”表示属性名称为要取得url,urlbuffer为将获取到的当前浏览器url地址保存到urlbuffer 变量中,这里参数可以自定义,比如“isNavigationDown”是否浏览器当前选中在最底部等参数。
通过ktProperty函数设置属性名称和所述属性名称的属性值,其中第三参数 aName表示属性名称,第四参数aValue表示素搜狐属性名称对应的属性值,第二返回类型 bool表示成功返回为真,失败返回为假;
例如设置SetProperty ( “url ”,“http //wap. wht. cn”),这里“url ”是属性名称, http://wap. wht. cn为要设置的属性名称对应的属性值;
还可以设置ktPorperty( “isdownloadfile”,"true”),这里“isdownloadfile,, 表示当前浏览器遇到要下载地址是否下载文件,为“ture”表示要下载,如果为“false”则跳过下载。
通过所述的CallMethod回掉函数用于回调事件,其中第五参数event表示回调事件的类型,第三返回类型eventFim表示回掉函数的返回类型无;
例如浏览器中注册请求Http 头 CallMethocK “regrequestheader,,, “regrequestheaderFun”),第五个参数“regrequestheader”为回调事件类型为注册Http 头,第三返回类型"regrequestheaderFun,,为回掉函数名称,regrequestheaderFun函数可以根据需要去实现,参数类型和参数个数可自定义。
再举例说明创建另外一个实例对象插件的过程,例如创建插件接口类 CEmbedObject的实例对象插件为播放器插件PlayerPlugin,具体如下
Class PlayerPluginpublic CEmbedObject{Publicvirtual bool GetProperty (const char& aName, char& aBuffer)const;virtual bool SetProperty (const char& aName, const char&aValue);virtual void CallMethod (char 氺event, char 氺eventfun);};
所述GetProperty函数用于得到播放器插件属性值第一参数aName 属性名称第二参数aBuffer 要得到属性的返回值返回类型bool 如果成功返回为真,否则为假;
在播放器插件中可以通过GetProperty函数得到当前BufferTime地址;
通过设置GetProperty ( "BufferTime ”,timebuffer),这里"BufferTime ” 表示属性名称为要取得当前缓冲的时间值,并将获得的当前缓冲时间保存到timebuffer变量中,8这里属性可以自定义,比如“Volume”取得当前的播放器的音量值等;
设置SetProperty ( "playerurltmss //218. 204. 255. 133 :9901/tmes 246,,), 这里“playerurl,,是播放器地址属性,tmss ://218. 204. 255. 133 :9901/tmes 246 为要设置播放地址的值;
回掉函数CallMethod用于回掉函数事件,如播放器插件中播放,暂停,全屏等,设置 CallMethocK "Play", “PlayFun,,),其中 “Play,,表示回调事件类型为播放,”PlayFun" 表示回掉函数名称,PlayFun函数、参数类型、参数个数可自定义。
根据所述插件接口类的设计规则,可以创建各种实例对象插件,例如播放器插件、 浏览器插件、下载器插件、通讯录管理插件等;
创建后的实例对象插件是以dll的形式存在,比如PlayerPlugin. dll, BrowserPlugin. dll,通过将所述实例对象插件加载到主框架平台,并通过主框架平台来使用这些实例对象插件。
本实施例在插件接口类中预置插件使用规则;创建插件接口类的实例对象插件; 根据所述实例对象插件的实际应用设置所述实例对象插件中的接口函数。所述插件接口类使用规则简单,不需要修改主体框架平台就可以对软件功能进行扩展与加强,实现插件的即插即用。用户通过接口函数自定义个性实例对象插件,从而解决一些操作上的不便或增加新的功能。实例对象插件以dll动态库的形式存在,避免重复编译,缩短产品发布周期。 所述dll动态库可以双向获取数据,即主框架平台可以获取实例对象插件中的数据,所述实例对象插件也可以获取主框架平台中的数据,交互方便又相互独立,兼容性强。每个实例对象插件功能独立,可以根据插件功能特性以及人员素质合理分配工作任务,扬长避短,而且避免了多个开发人员交叉开发而造成信息不同步的问题。
实施例二
图2是本发明一种使用移动平台插件方法的第一种优选实施例流程图。所述的方法包括以下步骤
S201,加载实例对象插件到主框架平台;所述实例对象插件继承自预先设置的插件接口类;
所述插件接口类为公共类型,包括三个接口函数获取参数值函数、设置参数值函数和第三函数;其中,所述获取参数值函数用于获取属性名称以及所述属性名称对应的属性值;所述设置参数值函数用于设置属性名称和所述属性名称的属性值;所述第三函数用于回调事件;
所述第一函数中包含3个参数第一参数、第二参数和第一返回类型,用于获取属性名称以及所述属性名称对应的属性值;其中,所述第一参数为属性名称;所述第二参数为所述属性名称的返回值;所述第一返回类型表示返回值是否返回成功,若是,则为真;若否,则为假;
所述第二函数中包含3个参数第三参数、第四参数和第二返回类型,用于设置属性名称和所述属性名称的属性值;其中,所述第三参数表示属性名称;所述第四参数表示所述属性名称的属性值;所述第二返回类型表示属性是否设置设置成功,如果设置成功,则返回为真,否则返回假。
所述第三函数包括2个参数第五参数和第三返回类型,用于函数回调,其中第五7/12 页参数为可变参数,所述第三返回类型由用户根据需要来设定。
所述接口函数的个数以及每个接口函数中所需要的参数可以根据实际应用增加接口函数的个数以及接口函数中的参数的个数,并根据实际应用设置所述实例对象插件中的接口函数。
所述“加载插件接口类的实例对象插件到主框架平台”包括3种加载方式
根据实例对象插件的名称,手动将所述实例对象插件加载到主框架平台;
或,根据实例对象插件的命名规则,在程序初始化时自动将所述实例对象插件添加到主框架平台;
或,通过系统平台中的动态库加载函数将所述实例对象插件加载到主框架平台。
S202,通过所述主框架平台获取所述实例对象插件的接口函数;
S203,通过所述接口函数使用所述实例对象插件。
根据所述插件接口类的设计规则,创建各种实例对象插件,例如播放器插件、浏览器插件、下载器插件、通讯录管理插件等;
创建后的实例对象插件是以dll的形式存在,比如播放器插件PlayerPlugin. dl 1,浏览器插件BrowserPlugin. dll,通过将所述实例对象插件加载到主框架平台,并通过主框架平台来使用这些实例对象插件。
所述“将所述实例对象插件加载到主框架平台”包括3种加载方式
根据实例对象插件的名称,手动将所述实例对象插件加载到主框架平台;此种加载方式是手动加载方式,例如首先查找播放器插件的名称PlayerPlugin. dll,然后手动加载将PlayerPlugin. dll加载到主框架平台;
或,根据实例对象插件的命名规则,在程序初始化时自动将所述实例对象插件添加到主框架平台;此种加载方式是根据预先定义的实例对象插件的命名规则查找各个实例对象插件,并在程序初始化时自动将所述实例对象插件添加到主框架平台;
或,通过系统平台中的动态库加载函数将所述实例对象插件加载到主框架平台;以Symbian平台来举例说明此种加载方式,例如需要加载的实例对象插件为 PlayerPlugin. dll,具体为
首先创建一个RLibrary实例1 ibrary变量;
然后通过RLibrary 中 Load(“playerPlugin. dll”)函数将 PlayerPlugin. dll 装载到主框架平台;
最后通过CEmbedObject pPlugin = library (*this)得到函数指针调用 PlayerPlugin. dll 的 3 个接口函数 GetProperty 函数、SetProperty 函数禾口 CallMethod 函数,通过这3个接口函数来使用所述实例对象插件PlayerPlugin. dll,真正实现即插即用。
实施例三
图3是本发明一种使用移动平台插件方法的第二种优选实施例流程图。所述的方法包括以下步骤
S301,加载实例对象插件到主框架平台;所述实例对象插件继承自预先设置的插件接口类;
S302,通过所述主框架平台获取所述实例对象插件的接口函数;
S303,将所述接口函数的地址保存到数组;10
通过所述主框架平台获取所述实例对象插件的3个接口函数,从而获取到每个实例对象插件的3个接口函数的地址;
所述数组中包含每个插件的ID、以及插件所对应的3个接口函数的地址;
S304,遍历所述数组,获取数组中的所述接口函数的地址来使用所述实例对象插件;或,通过所述主框架平台调用系统平台的析构函数,遍历所述数组,删除所述数组中保存的接口函数的地址。
所述析构函数是本领域技术人员的公知常识,在此不再累述。
本发明实施例中通过加载实例对象插件到主框架平台,所述主框架平台获取所述实例对象插件的接口函数,通过所述接口函数使用所述实例对象插件。实例对象插件以dll 动态库的形式存在,避免重复编译,缩短产品发布周期。所述dll动态库可以双向获取数据,即主框架平台可以获取实例对象插件中的数据,所述实例对象插件也可以获取主框架平台中的数据,交互方便又相互独立,兼容性强。每个实例对象插件功能独立,可以根据插件功能特性以及人员素质合理分配工作任务,扬长避短,而且避免了多个开发人员交叉开发而造成信息不同步的问题。所述插件接口类使用规则简单,不需要修改主体框架平台就可以对软件功能进行扩展与加强,实现插件的即插即用。在加载过程中,将实例对象插件中的接口函数的地址保存到数组,通过遍历数组来使用或删除插件,实例对象插件的加载和使用过程更加简单、方便。
实施例四
图4是本发明一种创建移动平台插件的装置的第一种优选实施例的结构示意图。
所述装置包括创建插件模块和设置接口模块;
所述创建插件模块,与所述设置接口模块相连,用于创建实例对象插件;所述实例对象插件继承自预先设置的插件接口类;
所述设置接口模块,与所述创建插件模块相连,用于根据所述实例对象插件的实际应用设置所述实例对象插件中的接口函数。
所述插件接口类为公共类型,包括三个接口函数第一函数、第二函数和第三函数;所述第一函数用于获取属性名称以及所述属性名称对应的属性值;所述第二函数用于设置属性名称和所述属性名称的属性值;所述第三函数用于回调事件;
所述第一函数中包含3个参数第一参数、第二参数和第一返回类型,用于获取属性名称以及所述属性名称对应的属性值;其中,所述第一参数为属性名称;所述第二参数为所述属性名称的返回值;所述第一返回类型表示返回值是否返回成功,若是,则为真;若否,则为假;
所述第二函数中包含3个参数第三参数、第四参数和第二返回类型,用于设置属性名称和所述属性名称的属性值;其中,所述第三参数表示属性名称;所述第四参数表示所述属性名称的属性值;所述第二返回类型表示属性是否设置成功,如果设置成功,则返回为真,否则返回假。
所述第三函数包括2个参数第五参数和第三返回类型,用于函数回调,其中第五参数为可变参数,所述第三返回类型由用户根据需要来设定。
所述接口函数的个数以及每个接口函数中所需要的参数可以根据实际应用增加接口函数的个数以及接口函数中的参数的个数,并根据实际应用设置所述实例对象插件中的接口函数。
对上述方案进一步优化在于,所述创建插件模块包括获取属性单元、设置属性单元和回调单元,如图5所示为本发明一种创建移动平台插件的装置的第二种优选实施例的结构示意所述获取属性单元,与所述设置接口模块相连,用于所述第一函数获取属性名称以及所述属性名称对应的属性值;
所述设置属性单元,与所述设置接口模块相连,用于所述第二函数设置属性名称和所述属性名称的属性值;
所述回调单元,与所述设置接口模块相连,用于第三函数回调事件。
根据所述插件接口类的设计规则,可以创建各种实例对象插件,例如播放器插件、 浏览器插件、下载器插件、通讯录管理插件等;
创建后的实例对象插件是以dll的形式存在,比如PlayerPlugin. dll, BrowserPlugin. dll,通过将所述实例对象插件加载到主框架平台,并通过主框架平台来使用这些实例对象插件。
本实施例通过在插件接口类中预置插件使用规则,然后由创建插件模块创建插件接口类的实例对象插件;由设置接口模块根据所述实例对象插件的实际应用设置所述实例对象插件中的接口函数。所述插件接口类使用规则简单,不需要修改主体框架平台就可以对软件功能进行扩展与加强,实现插件的即插即用。用户通过设置接口模块自定义接口函数,从而解决一些操作上的不便或增加新的功能。实例对象插件以dll动态库的形式存在, 避免重复编译,缩短产品发布周期。所述dll动态库可以双向获取数据,即主框架平台可以获取实例对象插件中的数据,所述实例对象插件也可以获取主框架平台中的数据,交互方便又相互独立,兼容性强。每个实例对象插件功能独立,可以根据插件功能特性以及人员素质合理分配工作任务,扬长避短,而且避免了多个开发人员交叉开发而造成信息不同步的问题。
实施例五
图6是本发明一种使用移动平台插件的装置的第一种优选实施例的结构示意图。
所述装置包括加载模块、获取接口模块和使用模块;
所述加载模块,与所述获取接口模块相连,用于加载实例对象插件到主框架平台; 所述实例对象插件继承自预先设置的插件接口类;
所述获取接口模块,与所述加载模块和使用模块相连,用于通过所述主框架平台获取所述实例对象插件的接口函数;
所述使用模块,与所述获取接口模块相连,用于通过所述接口函数使用所述实例对象插件。
所述插件接口类为公共类型,包括三个接口函数第一函数、第二函数和第三函数;其中,所述第一函数用于获取属性名称以及所述属性名称对应的属性值;所述第二函数用于设置属性名称和所述属性名称的属性值;所述第三函数用于回调事件;
所述第一函数中包含3个参数第一参数、第二参数和第一返回类型,用于获取属性名称以及所述属性名称对应的属性值;其中,所述第一参数为属性名称;所述第二参数为所述属性名称的返回值;所述第一返回类型表示返回值是否返回成功,若是,则为真;若否,则为假;
所述第二函数中包含3个参数第三参数、第四参数和第二返回类型,用于设置属性名称和所述属性名称的属性值;其中,所述第三参数表示属性名称;所述第四参数表示所述属性名称的属性值;所述第二返回类型表示属性是否设置成功,如果设置成功,则返回为真,否则返回假。
所述第三函数包括2个参数第五参数和第三返回类型,用于函数回调,其中第五参数为可变参数,所述第三返回类型由用户根据需要来设定。
所述接口函数的个数以及每个接口函数中所需要的参数可以根据实际应用增加接口函数的个数以及接口函数中的参数的个数,并根据实际应用设置所述实例对象插件中的接口函数。
所述加载模块,具体加载过程为
根据实例对象插件的名称,手动将所述实例对象插件加载到主框架平台;
或,根据实例对象插件的命名规则,在程序初始化时自动将所述实例对象插件添加到主框架平台;
或,通过系统平台中的动态库加载函数将所述实例对象插件加载到主框架平台。
所述创建模块根据所述插件接口类的设计规则创建各种实例对象插件,例如播放器插件、浏览器插件、下载器插件、通讯录管理插件等,经过所述设置接口模块设置每个实例对象插件的接口函数;
创建后的实例对象插件是以dll的形式存在,比如播放器插件PlayerPlugin. dll,浏览器插件BrowserPlugin. dll,通过加载模块将所述实例对象插件加载到主框架平台;所述获取接口模块通过主框架平台获取所述实例对象插件的接口函数;所述使用模块通过所述接口函数使用所述实例对象插件。
对上述方案进一步优化在于,所述获取接口模块包括第一接口单元、第二接口单元和第三接口单元,如图7所示为本发明一种使用移动平台插件的装置的第二种优选实施例的结构示意图。
所述第一接口单元,与所述使用模块相连,用于获取所述第一函数的地址;
所述第二接口单元,与所述使用模块相连,用于获取所述第二函数的地址;
所述第三接口单元,与所述使用模块相连,用于获取所述第三函数的地址。
对上述方案进一步优化在于,所述装置还包括数组模块;所述使用模块包括使用单元和删除单元,如图8所示为本发明一种使用移动平台插件的装置的第三种优选实施例的结构示意图。
所述数组模块,与所述第一接口单元、第二接口单元、第三接口单元、使用单元和删除单元相连,用于将所述第一接口单元、第二接口单元和第三接口单元获取到的地址存入数组;
所述使用单元,与所述数组模块相连,用于遍历所述数组,获取数组中存储的地址来使用所述实例对象插件;
所述删除单元,与所述数组模块相连,用于通过所述主框架平台调用系统平台的析构函数,遍历所述数组,删除所述数组中保存的地址。
本发明实施例通过加载模块来加载实例对象插件到主框架平台,由获取接口模块通过所述主框架平台获取所述实例对象插件的接口函数,所述使用模块通过所述接口函数使用所述实例对象插件。实例对象插件以dll动态库的形式存在,避免重复编译,缩短产品发布周期。所述dll动态库可以双向获取数据,即主框架平台可以获取实例对象插件中的数据,所述实例对象插件也可以获取主框架平台中的数据,交互方便又相互独立,兼容性强。每个实例对象插件功能独立,可以根据插件功能特性以及人员素质合理分配工作任务, 扬长避短,而且避免了多个开发人员交叉开发而造成信息不同步的问题。所述插件接口类使用规则简单,不需要修改主体框架平台就可以对软件功能进行扩展与加强,实现插件的即插即用。在加载过程中,通过增加数组模块,将实例对象插件中的接口函数的地址保存到数组,由使用单元或者删除单元通过遍历数组来使用或删除插件,实例对象插件的加载和使用过程更加简单、方便。
实施例六
图9是本发明实施例一种创建与使用移动平台插件的系统的结构示意图。
所述系统包括创建移动平台插件的装置和使用移动平台插件的装置,所述创建移动平台插件的装置与使用移动平台插件的装置相连;
所述创建移动平台插件的装置包括创建插件模块和设置接口模块;
所述创建插件模块,与所述设置接口模块相连,用于创建实例对象插件;所述实例对象插件继承自预先设置的插件接口类;
所述设置接口模块,与所述创建插件模块相连,用于根据所述实例对象插件的实际应用设置所述实例对象插件中的接口函数。
所述使用移动平台插件的装置包括加载模块、获取接口模块和使用模块;
所述加载模块,与所述获取接口模块相连,用于加载实例对象插件到主框架平台; 所述实例对象插件继承自预先设置的插件接口类;
所述获取接口模块,与所述加载模块和使用模块相连,用于通过所述主框架平台获取所述实例对象插件的接口函数;
所述使用模块,与所述获取接口模块相连,用于通过所述接口函数使用所述实例对象插件。
所述插件接口类为公共类型,包括三个接口函数第一函数、第二函数和第三函数;所述第一函数用于获取属性名称以及所述属性名称对应的属性值;所述第二函数用于设置属性名称和所述属性名称的属性值;所述第三函数用于回调事件;
所述第一函数中包含3个参数第一参数、第二参数和第一返回类型,用于获取属性名称以及所述属性名称对应的属性值;其中,所述第一参数为属性名称;所述第二参数为所述属性名称的返回值;所述第一返回类型表示返回值是否返回成功,若是,则为真;若否,则为假;
所述第二函数中包含3个参数第三参数、第四参数和第二返回类型,用于设置属性名称和所述属性名称的属性值;其中,所述第三参数表示属性名称;所述第四参数表示所述属性名称的属性值;所述第二返回类型表示属性是否设置成功,如果设置成功,则返回为真,否则返回假。
所述第三函数包括2个参数第五参数和第三返回类型,用于函数回调,其中第五参数为可变参数,所述第三返回类型由用户根据需要来设定。14
所述接口函数的个数以及每个接口函数中所需要的参数可以根据实际应用增加接口函数的个数以及接口函数中的参数的个数,并根据实际应用设置所述实例对象插件中的接口函数。
本发明实施例通过在插件接口类中预置插件使用规则,然后由创建插件模块创建插件接口类的实例对象插件;由设置接口模块根据所述实例对象插件的实际应用设置所述实例对象插件中的接口函数;通过加载模块来加载实例对象插件到主框架平台,由获取接口模块通过所述主框架平台获取所述实例对象插件的接口函数,所述使用模块通过所述接口函数使用所述实例对象插件。所述插件接口类使用规则简单,不需要修改主体框架平台就可以对软件功能进行扩展与加强,实现插件的即插即用。实例对象插件以dll动态库的形式存在,避免重复编译,缩短产品发布周期。所述dll动态库可以双向获取数据,即主框架平台可以获取实例对象插件中的数据,所述实例对象插件也可以获取主框架平台中的数据,交互方便又相互独立,兼容性强。每个实例对象插件功能独立,可以根据插件功能特性以及人员素质合理分配工作任务,扬长避短,而且避免了多个开发人员交叉开发而造成信息不同步的问题。在加载过程中,通过增加数组模块,将实例对象插件中的接口函数的地址保存到数组,由使用单元或者删除单元通过遍历数组来使用或删除插件,实例对象插件的加载和使用过程更加简单、方便。
本发明提供的创建与使用移动平台插件的系统可以应用于需要创建和使用移动平台插件的移动终端上,例如PDA、手机、平板电脑等。
本领域的普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序指令相关硬件来完成的,所述的程序可以存储于一计算机可读取存储介质中, 所述的存储介质可以为ROM、RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种创建移动平台插件的方法,其特征在于,所述方法包括步骤 创建实例对象插件;所述实例对象插件继承自预先设置的插件接口类; 根据所述实例对象插件的实际应用设置所述实例对象插件中的接口函数。
2.根据权利要求1所述的创建移动平台插件的方法,其特征在于,所述的插件接口类包括三个接口函数第一函数、第二函数和第三函数;所述第一函数用于获取属性名称以及所述属性名称对应的属性值;所述第二函数用于设置属性名称和所述属性名称的属性值;所述第三函数用于回调事件。
3.根据权利要求2所述的创建移动平台插件的方法,其特征在于,所述第一函数中包含3个参数第一参数、第二参数和第一返回类型;所述第一参数为属性名称;所述第二参数为所述属性名称的返回值;所述第一返回类型表示返回值是否返回成功;所述第二函数中包含3个参数第三参数、第四参数和第二返回类型;所述第三参数表示属性名称;所述第四参数表示所述属性名称的属性值;所述第二返回类型表示属性是否设置成功;所述第三函数包括2个参数第五参数和第三返回类型;所述第五参数为可变参数;所述第三返回类型根据实际需要自定义返回类型。
4.一种使用移动平台插件的方法,其特征在于,所述方法包括步骤加载实例对象插件到主框架平台;所述实例对象插件继承自预先设置的插件接口类; 通过所述主框架平台获取所述实例对象插件的接口函数; 通过所述接口函数使用所述实例对象插件。
5.根据权利要求4所述的使用移动平台插件的方法,其特征在于,所述的插件接口类包括三个接口函数第一函数、第二函数和第三函数;所述第一函数用于获取属性名称以及所述属性名称对应的属性值;所述第二函数用于设置属性名称和所述属性名称的属性值;所述第三函数用于回调事件。
6.根据权利要求5所述的使用移动平台插件的方法,其特征在于,所述“加载插件接口类的实例对象插件到主框架平台”包括3种加载方式根据实例对象插件的名称,手动将所述实例对象插件加载到主框架平台; 或根据实例对象插件的命名规则,在程序初始化时自动将所述实例对象插件添加到主框架平台;或通过系统平台中的动态库加载函数将所述实例对象插件加载到主框架平台。
7.根据权利要求6所述的使用移动平台插件的方法,其特征在于,所述步骤“通过所述主框架平台获取所述实例对象插件的接口函数”之后还包括步骤将所述接口函数的地址保存到数组; 所述“通过所述接口函数使用所述实例对象插件”包括 遍历所述数组,获取数组中的所述接口函数的地址来使用所述实例对象插件; 或,通过所述主框架平台调用系统平台的析构函数,遍历所述数组,删除所述数组中保存的接口函数的地址。
8.一种创建移动平台插件的装置,其特征在于,所述装置包括创建插件模块和设置接口模块;所述创建插件模块,与所述设置接口模块相连,用于创建实例对象插件;所述实例对象插件继承自预先设置的插件接口类;所述设置接口模块,与所述创建插件模块相连,用于根据所述实例对象插件的实际应用设置所述实例对象插件中的接口函数,所述接口函数包括第一函数、第二函数和第三函数。
9.根据权利要求8所述的创建移动平台插件的装置,其特征在于,所述创建插件模块包括获取属性单元、设置属性单元和回调单元;所述获取属性单元,与所述设置接口模块相连,用于所述第一函数获取属性名称以及所述属性名称对应的属性值;所述设置属性单元,与所述设置接口模块相连,用于所述第二函数设置属性名称和所述属性名称的属性值;所述回调单元,与所述设置接口模块相连,用于第三函数回调事件。
10.一种使用移动平台插件的装置,其特征在于,所述装置包括加载模块、获取接口模块和使用模块;所述加载模块,与所述获取接口模块相连,用于加载实例对象插件到主框架平台;所述实例对象插件继承自预先设置的插件接口类;所述获取接口模块,与所述加载模块和使用模块相连,用于通过所述主框架平台获取所述实例对象插件的接口函数;所述使用模块,与所述获取接口模块相连,用于通过所述接口函数使用所述实例对象插件。
11.根据权利要求10所述的使用移动平台插件的装置,其特征在于,所述获取接口模块包括第一接口单元、第二接口单元和第三接口单元;所述第一接口单元,与所述使用模块相连,用于获取所述第一函数的地址; 所述第二接口单元,与所述使用模块相连,用于获取所述第二函数的地址; 所述第三接口单元,与所述使用模块相连,用于获取所述第三函数的地址。
12.根据权利要求11所述的使用移动平台插件的装置,其特征在于,所述装置还包括数组模块;所述使用模块包括使用单元和删除单元;所述数组模块,与所述第一接口单元、第二接口单元、第三接口单元、使用单元和删除单元相连,用于将所述第一接口单元、第二接口单元和第三接口单元获取到的地址存入数组;所述使用单元,与所述数组模块相连,用于遍历所述数组,获取数组中存储的地址来使用所述实例对象插件;所述删除单元,与所述数组模块相连,用于通过所述主框架平台调用系统平台的析构函数,遍历所述数组,删除所述数组中保存的地址。
13.一种创建与使用移动平台插件的系统,其特征在于,所述系统包括权利要求8-9任一种所述的创建移动平台插件的装置和权利要求10-12任一种所述的使用移动平台插件的装置。
14.一种创建与使用移动平台插件的移动终端,其特征在于,所述的移动终端包括权利要求13所述的创建与使用移动平台插件的系统。
全文摘要
本发明公开一种创建与使用移动平台插件的方法、装置、系统和移动终端,本发明通过在插件接口类中定义插件使用规则,然后创建并加载插件接口类的实例对象插件。所述插件接口类使用规则简单,不需要修改主体框架平台就可以对软件功能进行扩展与加强,实现插件的即插即用。用户通过接口函数自定义个性实例对象插件,从而解决一些操作上的不便或增加新的功能。实例对象插件以dll动态库的形式存在,避免重复编译,缩短产品发布周期。所述dll动态库可以双向获取数据,交互方便又相互独立,兼容性强。每个实例对象插件功能独立,可根据插件功能特性以及人员素质合理分配工作任务,扬长避短,而且避免了多个开发人员交叉开发而造成信息不同步的问题。
文档编号G06F9/44GK102520967SQ20111044777
公开日2012年6月27日 申请日期2011年12月28日 优先权日2011年12月28日
发明者邓建, 黄赞 申请人:深圳市融创天下科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1