CN103677979A - 应用软件和插件的交互方法及装置 - Google Patents
应用软件和插件的交互方法及装置 Download PDFInfo
- Publication number
- CN103677979A CN103677979A CN201310752961.3A CN201310752961A CN103677979A CN 103677979 A CN103677979 A CN 103677979A CN 201310752961 A CN201310752961 A CN 201310752961A CN 103677979 A CN103677979 A CN 103677979A
- Authority
- CN
- China
- Prior art keywords
- application software
- plug
- configuration file
- power function
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种应用软件和插件的方法及装置,涉及互联网技术。其中,该方法包括:应用软件读取插件中的配置文件,其中,配置文件中包括调用信息和功能函数的对应关系,应用软件中包括一个或多个调用信息,插件中包括一个或多个功能函数;应用软件接收用户指令并根据用户指令确定所需的调用信息,其中,应用软件中包括用户指令和调用信息之间的对应关系;应用软件通过所需的调用信息调用插件中对应的功能函数。通过本发明的实施方式,能够简化应用软件和插件的交互方式。
Description
技术领域
本发明涉及互联网领域,特别涉及一种应用软件和插件的交互方法及装置。
背景技术
随着互联网技术的发展,应用软件的功能也越来越多元化,应用软件的功能越丰富,该应用软件的体积就越大,而体积大既占用了空间,又增加了下载该应用软件所需的流量。为了减小应用软件的体积,可以将一部分功能集成在与该应用软件匹配的插件中。插件是遵循一定规范的框架接口编写出来的程序,用来扩展应用软件的功能,用户在安装应用软件后,再根据自己的需求下载安装所需的插件,通过应用软件和插件的交互,实现该插件的功能。
现有技术中应用软件与插件的交互比较复杂,使得对应用软件和插件之间的交互的开发难度较大。
发明内容
本发明实施例提供一种应用软件和插件的交互方法和装置,以简化应用软件和插件的交互方式。
本发明为了实现上述目的,提供一种应用软件和插件的数据共享方法。该方法包括:应用软件读取插件中的配置文件,其中,配置文件中包括调用信息和功能函数的对应关系,应用软件中包括一个或多个调用信息,插件中包括一个或多个功能函数;应用软件接收用户指令并根据用户指令确定所需的调用信息,其中,应用软件中包括用户指令和调用信息之间的对应关系;应用软件通过所需的调用信息调用插件中对应的功能函数。
在一个实施例中,应用软件根据配置文件将功能函数存储到预设位置以供调用。
在一个实施例中,应用软件将功能函数的描述信息填入可扩展的填充文件以减少读取配置文件的次数,其中,配置文件中还包括功能函数的描述信息。
在一个实施例中,将填充文件放置于插件资源文件目录。
在一个实施例中,该方法还包括:应用软件构建函数对象并记载函数对象的描述信息;应用软件通过配置文件确定描述信息对应的功能函数,其中,配置文件中包括功能函数与描述信息的对应关系;应用软件通过调用功能函数执行插件的功能。
本发明为了实现上述目的,还提供一种应用软件和插件的数据共享装置。该装置包括:读取模块,用于读取插件中的配置文件,其中,配置文件中包括调用信息和功能函数的对应关系,应用软件中包括一个或多个调用信息,插件中包括一个或多个功能函数;接收模块,用于接收用户指令并根据用户指令确定所需的调用信息,其中,应用软件中包括用户指令和调用信息之间的对应关系;第一调用模块,用于通过所需的调用信息调用插件中对应的功能函数。
在一个实施例中,上述装置还用于根据配置文件将功能函数存储到预设位置以供调用。
在一个实施例中,上述装置还用于将功能函数的描述信息填入可扩展的填充文件以减少读取配置文件的次数,其中,配置文件中还包括功能函数的描述信息。
在一个实施例中,上述装置还用于将填充文件放置于插件资源文件目录。
在一个实施例中,上述装置还包括:构建模块,用于构建函数对象并记载函数对象的描述信息;确定模块,用于通过配置文件确定描述信息对应的功能函数,其中,配置文件中包括功能函数与描述信息的对应关系;第二调用模块,用于应用软件调用功能函数。
通过本发明,通过包含调用文件和功能函数之间调用关系的配置文件,实现应用软件和插件的识别,从而实现应用软件和插件的交互,简化了二者之间的交互方式。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例示出的一种应用软件和插件的交互方法100的流程图;
图2示出了本发明优选实施例的一种应用软件和插件的交互方法200的示意图;
图3是本发明实施例示出的应用软件和插件的交互装置300的结构框图;
图4是本发明优选实施例示出的应用软件和插件的交互装置400的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例作进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
现在将参考附图进一步详细描述本发明。
本发明可以许多不同的形式来实现,不应该被理解为仅限于此处所阐述的实施例。这些实施例只作为示例提供,以便为本领域技术人员提供对本发明的完全理解。
本发明实施例提供了一种应用软件和插件的交互方法,图1是本发明实施例示出的应用软件和插件的交互方法100的流程图。
如图1所示,该方法包括以下步骤:
步骤110,应用软件读取插件中的配置文件。
配置文件中包括调用信息和功能函数的对应关系,应用软件中包括一个或多个调用信息,插件中包括一个或多个功能函数。
功能函数一般为y=function(x)或y=f(x),通过该函数,可以进行各种数据的处理,并实现相应的功能。
步骤120,应用软件接收用户指令并根据用户指令确定所需的调用信息,其中,应用软件中包括用户指令和调用信息之间的对应关系。
步骤130,应用软件通过所需的调用信息调用插件中对应的功能函数。
本发明实施例在调用信息和功能函数之间建立对应关系,从而使得应用软件可以直接通过该对应关系调用插件中的功能函数,避免了现有技术中应用软件与插件交互不便的问题,简化了应用软件和插件的开发流程。
优选地,应用软件根据插件的配置文件将确定的功能函数存储到预设位置以供调用。应用软件对各功能函数进行存储,相当于将各功能函数放入自己的“代码库”中,所以对插件的调用仅为功能上的调用,而不会将应用软件切换到后台,即在该应用软件的界面中显示插件的内容,减少跳转提高了用户体验。
本实施例还可以通过反射机制实现应用软件与插件的交互,具体包括:应用软件构建函数对象并记载函数对象的描述信息;应用软件通过配置文件确定描述信息对应的功能函数,其中,配置文件中包括功能函数与描述信息的对应关系;应用软件通过调用功能函数执行插件的功能。
优选地,配置文件中还包括功能函数的描述信息,应用软件将功能函数的描述信息填入可扩展的填充文件以减少读取配置文件的次数,读取该填充文件比读取插件中的配置文件更快,而且该可扩展的填充文件便于后续对其他相关信息的添加。
为了便于查找,可以将填充文件放置于插件资源文件目录,插件资源文件目录是默认的填充文件放置处。
下面以音乐播放器和视频播放器为例,具体描述应用软件和插件的交互,其中,音乐播放器为应用软件,为了满足一部分用户的需求,还提供了作为插件的视频播放器,当音乐播放器播放的音乐文件具有对应的音乐视频(Music Video,简称为MV)时,音乐播放器可以调用视频播放器播放相应的MV。图2示出了本发明优选实施例的一种应用软件和插件的交互方法200的示意图,如图2所示,该方法包括如下步骤:
步骤210,获取插件中的配置文件。
应用软件和插件的实质都是安卓包(Android Package,简称为APK),插件的APK中包括实现特定功能的功能函数,通过该功能函数可以实现对应的功能。在为音乐播放器开发相应视频播放器插件时,由于不同APK之间存在数据结构等因素的差异,本实施例的视频播放器提供了一份配置文件plugin.xml,以帮助音乐播放器识别视频播放器,该配置文件中包括音乐播放器对视频播放器的调用信息与视频播放器中功能函数的对应关系。
应用软件和插件是两个独立开发的APK,具有不同的数据结构,插件中的配置文件是基于应用软件的数据结构和插件中其他部分的数据结构的区别而编写的,通过该配置文件可以获取调用信息和功能函数的对应关系。
步骤220,接收用户指令,并确定相应的调用信息。
音乐播放器可以在接收到用户指令,用户指令是用户对音乐播放器发出的指令,例如用户对MV图标的点击,应用软件中存储有用户指令和调用信息的对应关系,即对于每一种需求,应用软件都有相应的响应。根据该调用信息,可以确定调用视频播放器中的功能函数,音乐播放器通过该功能函数可以实现视频播放功能。
步骤230,将功能函数存储到预设位置。
该预设位置可以根据实际情况来设定,不影响其他APK的数据存取即可。音乐播放器对视频播放器的功能函数进行存储,相当于将视频播放器集成到音乐播放器中,所以不会将音乐播放器切换到后台,而是直接在该音乐播放器的播放界面中显示MV的内容,减少了界面跳转,也提高了用户体验。
步骤240,进行应用软件和插件的交互。
在本实施例中,数据的交互为音乐播放器调用功能函数执行视频播放器的功能。应用软件和插件的交互从音乐播放器得知视频播放器的功能函数之前就已经开始,这是通过一种反射机制实现的,该反射机制借助了一些编程语言,例如JAVA语言的高动态性,由于编程语言具有高动态性,在运行音乐播放器时,可以改变一些数据结构或变量类型,具体地,通过该反射机制,音乐播放器在执行视频播放功能时可以首先构造一个函数对象,然后记载该函数对象的描述信息,即满足什么条件的功能函数可以实行视频播放功能,再通过配置文件(配置文件中也包括描述信息和功能函数的对应关系)调用包括该描述信息的功能函数,此时动态地将函数对象改变为该功能函数,通过调用该功能函数实现视频的播放。
通过以上实例可以看出,该反射机制保证了应用软件在不了解对方插件内部结构的情况下对插件的调用。
本发明实施例还提供了一种应用软件和插件的交互装置,该装置可以设置于应用软件中,图3是本发明实施例示出的应用软件和插件的交互装置300的结构框图。
如图3所示,该装置300包括读取模块310、接收模块320和第一调用模块330。读取模块310用于读取插件中的配置文件,其中,配置文件中包括调用信息和功能函数的对应关系,应用软件中包括一个或多个调用信息,插件中包括一个或多个功能函数。接收模块320用于接收用户指令并根据用户指令确定所需的调用信息,其中,应用软件中包括用户指令和调用信息之间的对应关系。第一调用模块330用于通过所需的调用信息调用插件中对应的功能函数。
优选地,上述装置300还用于根据配置文件将功能函数存储到预设位置以供调用。
优选地,上述装置300还用于将功能函数的描述信息填入可扩展的填充文件以减少读取配置文件的次数,其中,配置文件中还包括功能函数的描述信息。
优选地,上述装置300还用于将填充文件放置于插件资源文件目录。
图4是本发明优选实施例示出的应用软件和插件的交互装置400的结构框图,该装置可以设置于应用软件中,如图所示,该装置400包括构建模块410、确定模块420和第二调用模块430。
构建模块410用于构建函数对象并记载函数对象的描述信息。确定模块420用于通过配置文件确定描述信息对应的功能函数,其中,配置文件中包括功能函数与描述信息的对应关系。第二调用模块430用于应用软件调用功能函数。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用软件和插件的交互方法,其特征在于,包括:
所述应用软件读取所述插件中的配置文件,其中,所述配置文件包括对应关系文件,所述对应关系文件记载所述应用软件包括的调用信息与所述插件中包括的功能函数之间的对应关系;
所述应用软件接收用户指令并根据所述用户指令确定所需的调用信息;
所述应用软件根据所述对应关系文件,通过所需的调用信息调用所述插件中对应的功能函数。
2.根据权利要求1所述的方法,其特征在于,所述应用软件根据所述配置文件将所述功能函数存储到预设位置以供调用。
3.根据权利要求1所述的方法,其特征在于,还包括:
所述应用软件将所述功能函数的描述信息填入可扩展的填充文件以减少读取所述配置文件的次数,其中,所述描述信息包括于所述配置文件中。
4.根据权利要求3所述的方法,其特征在于,将所述填充文件放置于插件资源文件目录。
5.根据权利要求1所述的方法,其特征在于,还包括:
所述应用软件构建函数对象并记载所述函数对象的描述信息;
所述应用软件通过所述配置文件确定所述描述信息对应的功能函数,其中,所述配置文件中包括所述功能函数与所述描述信息的对应关系;
所述应用软件通过调用所述功能函数执行所述插件的功能。
6.一种应用软件和插件的交互装置,其特征在于,包括:
读取模块,用于读取所述插件中的配置文件,其中,所述配置文件中包括调用信息和功能函数的对应关系,所述应用软件中包括一个或多个所述调用信息,所述插件中包括一个或多个所述功能函数;
接收模块,用于接收用户指令并根据所述用户指令确定所需的调用信息,其中,所述应用软件中包括所述用户指令和所述调用信息之间的对应关系;
第一调用模块,用于通过所需的调用信息调用所述插件中对应的功能函数。
7.根据权利要求6所述的装置,其特征在于,所述装置还用于根据所述配置文件将所述功能函数存储到预设位置以供调用。
8.根据权利要求6所述的装置,其特征在于,所述装置还用于将所述功能函数的描述信息填入可扩展的填充文件以减少读取所述配置文件的次数,其中,所述配置文件中还包括所述功能函数的所述描述信息。
9.根据权利要求8所述的装置,其特征在于,所述装置还用于将所述填充文件放置于插件资源文件目录。
10.根据权利要求6所述的装置,其特征在于,还包括:
构建模块,用于构建函数对象并记载所述函数对象的描述信息;
确定模块,用于通过所述配置文件确定所述描述信息对应的功能函数,其中,所述配置文件中包括所述功能函数与所述描述信息的对应关系;
第二调用模块,用于所述应用软件调用所述功能函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310752961.3A CN103677979B (zh) | 2013-12-31 | 2013-12-31 | 应用软件和插件的交互方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310752961.3A CN103677979B (zh) | 2013-12-31 | 2013-12-31 | 应用软件和插件的交互方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677979A true CN103677979A (zh) | 2014-03-26 |
CN103677979B CN103677979B (zh) | 2017-02-15 |
Family
ID=50315636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310752961.3A Active CN103677979B (zh) | 2013-12-31 | 2013-12-31 | 应用软件和插件的交互方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677979B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915599A (zh) * | 2016-04-12 | 2016-08-31 | 百度在线网络技术(北京)有限公司 | 界面展现方法和装置 |
CN106682036A (zh) * | 2015-11-11 | 2017-05-17 | 上海汽车集团股份有限公司 | 一种数据交换系统及其交换方法 |
CN107066295A (zh) * | 2017-03-30 | 2017-08-18 | 青岛海信电器股份有限公司 | 一种基于浏览器加载终端网络应用的插件的方法及设备 |
CN114089975A (zh) * | 2022-01-20 | 2022-02-25 | 北京大学 | 计算软件的扩展方法、装置、非易失性存储介质及处理器 |
WO2022068475A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 插件运行系统、插件运行方法以及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968154A (zh) * | 2006-09-15 | 2007-05-23 | 华为技术有限公司 | 使用插件进行业务扩展的系统及其方法 |
CN101699405A (zh) * | 2009-10-26 | 2010-04-28 | 中兴通讯股份有限公司 | 一种宿主程序和插件及插件间进行交互的方法及装置 |
CN103425468A (zh) * | 2012-05-17 | 2013-12-04 | 航天信息股份有限公司 | 插件式软件集成方法及装置 |
-
2013
- 2013-12-31 CN CN201310752961.3A patent/CN103677979B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968154A (zh) * | 2006-09-15 | 2007-05-23 | 华为技术有限公司 | 使用插件进行业务扩展的系统及其方法 |
CN101699405A (zh) * | 2009-10-26 | 2010-04-28 | 中兴通讯股份有限公司 | 一种宿主程序和插件及插件间进行交互的方法及装置 |
CN103425468A (zh) * | 2012-05-17 | 2013-12-04 | 航天信息股份有限公司 | 插件式软件集成方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682036A (zh) * | 2015-11-11 | 2017-05-17 | 上海汽车集团股份有限公司 | 一种数据交换系统及其交换方法 |
CN105915599A (zh) * | 2016-04-12 | 2016-08-31 | 百度在线网络技术(北京)有限公司 | 界面展现方法和装置 |
CN105915599B (zh) * | 2016-04-12 | 2020-04-10 | 百度在线网络技术(北京)有限公司 | 界面展现方法和装置 |
CN107066295A (zh) * | 2017-03-30 | 2017-08-18 | 青岛海信电器股份有限公司 | 一种基于浏览器加载终端网络应用的插件的方法及设备 |
CN107066295B (zh) * | 2017-03-30 | 2021-06-04 | 海信视像科技股份有限公司 | 一种基于浏览器加载终端网络应用的插件的方法及设备 |
WO2022068475A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 插件运行系统、插件运行方法以及电子设备 |
CN114089975A (zh) * | 2022-01-20 | 2022-02-25 | 北京大学 | 计算软件的扩展方法、装置、非易失性存储介质及处理器 |
CN114089975B (zh) * | 2022-01-20 | 2022-06-24 | 北京大学 | 计算软件的扩展方法、装置、非易失性存储介质及处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN103677979B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9536261B2 (en) | Resolving conflicts within saved state data | |
CN102360298B (zh) | 一种终端设备的软件升级方法 | |
CN107656759B (zh) | 一种用于用户界面的渲染方法和装置 | |
CN103677979A (zh) | 应用软件和插件的交互方法及装置 | |
CN104572042A (zh) | 移动终端设备的跨平台中间件装置及其实现方法 | |
CN108647032B (zh) | 应用加载方法及装置、计算机装置和计算机可读存储介质 | |
TW201820131A (zh) | 進程管理方法及裝置 | |
CN108597546B (zh) | 回忆视频的背景音乐确定方法及相关设备 | |
CN105094878A (zh) | 一种集成系统库文件的方法和装置 | |
CN111562929A (zh) | 补丁文件的生成方法、装置、设备及存储介质 | |
CN105578224A (zh) | 一种多媒体数据的获取方法、装置、智能电视及机顶盒 | |
CN103365672B (zh) | 一种处理应用程序的描述信息的方法和系统 | |
CN107087231B (zh) | 视频数据播放方法及装置 | |
CN112162783B (zh) | 音乐播放应用保活处理方法、系统、存储介质及电子设备 | |
CN111290740B (zh) | 应用程序的开发方法、装置、计算机设备和存储介质 | |
CN111367577A (zh) | 加载应用的插件的方法、装置和终端 | |
CN115017062A (zh) | 一种终端内存优化的方法、系统、设备及介质 | |
CN103702193A (zh) | 标识、识别智能电视类型的方法及装置 | |
KR101556831B1 (ko) | 애플리케이션 개발을 위한 퍼미션 입력 방법 및 안드로이드 애플리케이션을 제작하는 방법을 실행시키기 위한 프로그램이 기록한 컴퓨터로 읽을 수 있는 기록 매체 | |
CN102541878B (zh) | 一种非线性编辑中工程文件的存储方法及装置 | |
CN108958795B (zh) | 一种嵌入式系统中BootLoader代码重利用方法和开发板 | |
CN112036133A (zh) | 一种文件保存方法、装置、电子设备及存储介质 | |
WO2019157891A1 (zh) | 应用安装方法、应用安装包的生成方法 | |
CN103645925A (zh) | 在移动终端操作系统中运行页面应用的方法及装置 | |
CN112506592A (zh) | 页面加载时长的确定方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |