CN105867956A - 在宿主应用页面中展现插件视图元素的方法及装置 - Google Patents
在宿主应用页面中展现插件视图元素的方法及装置 Download PDFInfo
- Publication number
- CN105867956A CN105867956A CN201510712954.XA CN201510712954A CN105867956A CN 105867956 A CN105867956 A CN 105867956A CN 201510712954 A CN201510712954 A CN 201510712954A CN 105867956 A CN105867956 A CN 105867956A
- Authority
- CN
- China
- Prior art keywords
- plug
- host
- unit
- view element
- view
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种在宿主应用页面中展现插件视图元素的方法及装置。其中方法包括:在宿主应用启动时,加载插件;获取所述插件构造的插件视图元素以及能被所述插件视图元素调用的上下文环境;依据所述上下文环境,将所述插件视图元素添加到宿主应用页面中进行展现。通过该方案,可以在宿主应用的任意页面的任意部分加载显示插件视图元素,可以随时静默更新界面样式与内在逻辑并且不需要用户重新安装应用。
Description
技术领域
本发明涉及智能终端应用技术领域,具体涉及一种在宿主应用页面中展现插件视图元素的方法及装置。
背景技术
随着智能手机或智能平板电脑近几年的普及,安卓手机应用近年来使用量高速增长,平均每个用户手机中安装的应用总量也大幅增多,数据表明平均每个安卓手机用户会安装95款应用,频繁使用的应用达到35款。
由于用户的热情高涨,绝大多数应用都会每周发布新的版本供用户安装,以及时提供给用户最新的功能,或最稳定的使用体验。但是问题也随之而来,由于需要更新的应用太多,一个普通安卓手机用户每天都会收到不同应用的更新提示,并且每更新一个应用都需要进行确认更新、下载更新包、安装更新包的过程。对于普遍安装包容量大小在15M的应用来说,每个应用的更新可能需要浪费用户2~3分钟的时间,数量众多且无休无止的更新很容易让用户对应用产生厌倦感。因此,不需要用户安装的插件化应用应运而生,可以在完全静默的情况下更新应用的功能或修复应用的错误,提升用户体验。不干扰到用户的正常使用,让用户不需要为此花费额外精力和时间,并且也能随时让应用保持在最新的状态。
应用将内在逻辑分成宿主和插件两个部分的过程叫做插件化。由于安卓应用的运行必须经过安装,所以宿主即为被正常安装的部分,然后由宿主读取和展示外部能独立更新的插件内容,即可实现不影响到用户即更新应用的功能。
然而,在目前所有的插件化解决方案中都均存在同样的问题,就是插件化的部分只能以页面的形式被宿主打开,这样就决定了宿主与插件在内在逻辑中是完全分离的。图7示出了现有技术中插件化解决方案的实现方式,如图7所示,宿主和插件管理的都是完整页面(Activity,为安卓应用中页面的代称),它们之间没有有效的交互途径,局限性较大,插件不能以更加小的单位与宿主应用融合在一起,即如果需要在宿主页面中的一部分显示插件化的元素,通过现有的插件化解决方案无法实现。
发明内容
鉴于上述问题,提出了本发明以便提供一种在宿主应用页面中展现插件视图元素的方法及装置,使得在宿主应用页面中至少一部分显示插件视图元素,优化插件化解决方案。
根据本发明的一个方面,提供了一种在宿主应用页面中展现插件视图元素的方法,包括:
在宿主应用启动时,加载插件;
获取所述插件构造的插件视图元素以及能被所述插件视图元素调用的上下文环境;
依据所述上下文环境,将所述插件视图元素添加到宿主应用页面中进行展现。
根据本发明的另一方面,提供了一种在宿主应用页面中展现插件视图元素的装置,包括:
加载模块,用于在宿主应用启动时,加载插件;
获取模块,用于获取所述插件构造的插件视图元素以及能被所述插件视图元素调用的上下文环境;
展现模块,用于依据所述上下文环境,将所述插件视图元素添加到宿主应用页面中进行展现。
根据本发明提供的方法及装置,通过获取能被插件视图元素调用的上下文环境,在宿主应用页面的加载过程中,依据该上下文环境,将插件视图元素添加到宿主应用页面中进行展现。通过该方案,可以在宿主应用的任意页面的任意部分加载显示插件视图元素,可以随时静默更新界面样式与内在逻辑并且不需要用户重新安装应用。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明提供的在宿主应用页面中展现插件视图元素的方法实施例一的流程图;
图2a示出了本发明提供的在宿主应用页面中展现插件视图元素的方法实施例二的流程图;
图2b示出了本发明提供的在宿主应用页面中展现插件视图元素的方法实施例二的流程交互示意图;
图2c示出了本发明提供的插件化解决方案的实现方式;
图3示出了本发明提供的在宿主应用页面中展现插件视图元素的方法实施例三的流程图;
图4示出了本发明提供的在宿主应用页面中展现插件视图元素的装置实施例一的功能框图;
图5示出了本发明提供的在宿主应用页面中展现插件视图元素的装置实施例二的功能框图;
图6示出了本发明提供的在宿主应用页面中展现插件视图元素的装置实施例三的功能框图;
图7示出了现有技术中插件化解决方案的实现方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
通过在原有的插件化框架基础上更加深入研究,本发明实现了在安卓应用内部更细粒度的插件化,使得安卓应用内的最小组成部分可独立插件化,大幅增加了插件化的灵活性。具体地,在宿主应用启动并加载插件之后,获取由插件构造的插件视图元素以及能被插件视图元素调用的上下文环境;依据上下文环境,将插件视图元素添加到宿主应用页面中进行展现。通过该方案,可以在宿主应用的任意页面的任意部分加载显示插件视图元素,可以随时静默更新界面样式与内在逻辑并且不需要用户重新安装应用。
图1示出了本发明提供的在宿主应用页面中展现插件视图元素的方法实施例一的流程图。如图1所示,该方法包括如下步骤:
步骤S101,在宿主应用启动时,加载插件。
插件是一个应用安装包文件,它由宿主应用通过插件框架读取并展示其中的内容。插件文件更新之后,宿主应用重新读取即可实现更新。插件框架可用来集成至宿主应用内部,让宿主应用具有读取并展示插件内容的功能。
本发明实施例中,宿主应用加载插件的过程具体为:在宿主应用启动时,初始化插件框架;通过插件框架读取插件文件;加载插件文件至宿主应用内存中。
步骤S102,获取插件构造的插件视图元素以及能被插件视图元素调用的上下文环境。
本发明实施例中,插件视图元素可以包含一个或多个视图基础单元,和/或由一个或多个视图基础单元构成的能独立添加到宿主应用页面中的视图单元。具体的,视图基础单元为安卓应用中负责在屏幕中展示文字、形状、图像或视频的基础单元,用view来表示,通常一个完整的页面由一个或多个view组成。能独立添加到宿主应用页面中的视图单元也是安卓应用中页面的组成部分之一,用fragment来表示,它可由一个或多个view组成。
插件部分的逻辑继承安卓原生的view类或fragment类,本发明通过创建或修改的方式为插件中的视图元素获取能被其调用的上下文环境(用context表示),使宿主应用在加载页面时可利用该额外传入的context对象添加插件视图元素。在实际操作中,为插件框架做一层封装,以开放插件框架初始化、获取插件内部的view对象和fragment对象的接口。封装后的插件框架打包为一个代码库,联合插件文件一起集成在宿主应用中。最后,宿主应用通过插件框架开放的接口获取到插件内部的view对象和fragment对象。
可选地,上下文环境包含资源文件管理和类加载的处理逻辑。
步骤S103,依据上下文环境,将插件视图元素添加到宿主应用页面中进行展现。
在获取到能被插件视图元素调用的上下文环境之后,由插件所构造的视图元素就可以向宿主应用页面中其它视图元素一样被添加到宿主应用页面中。与宿主应用页面中其它视图元素不同的是,插件视图元素调用的上下文环境不同。
根据本实施例提供的方法,通过获取能被插件视图元素调用的上下文环境,在宿主应用页面的加载过程中,依据该上下文环境,将插件视图元素添加到宿主应用页面中进行展现。通过该方案,可以在宿主应用的任意页面的任意部分加载显示插件视图元素,可以随时静默更新界面样式与内在逻辑并且不需要用户重新安装应用。在一个典型的应用场景中,广告商可以依靠本发明提供的方法自行开发广告插件,并提供给需要展示广告的应用集成,广告插件可以被展示在应用的任何部分,并且由广告商自己控制这部分的更新与升级,且无需通过用户手动安装应用的新版安装包来更新。由于广告商只能在页面中占据一小部分用来显示广告,而现有的其他插件化技术只能做到新启动的一个页面是插件中包含的页面,并不适配这个在安卓应用中出现频率相当高的场景。
图2a示出了本发明提供的在宿主应用页面中展现插件视图元素的方法实施例二的流程图,图2b示出了本发明提供的在宿主应用页面中展现插件视图元素的方法实施例二的流程交互示意图。下面结合图2a和图2b对实施例二的方案进行具体介绍。如图2a所示,该方法包括如下步骤:
步骤S201,在宿主应用启动时,加载插件。
参见图2b,宿主应用加载插件的过程具体为:首先,用户触发启动宿主应用,宿主应用通知插件框架进行初始化;通过插件框架读取插件文件;加载插件文件至宿主应用的内存中。
步骤S202,插件框架通知插件创建上下文环境。
本实施例以创建的方式得到能被插件中的视图元素调用的context对象。具体地,在宿主应用加载插件之后,插件框架就通知插件为其内部的view对象或fragment对象创建context对象。该context对象包含资源文件管理和类加载的处理逻辑,view对象或fragment对象通过调用这样的处理逻辑进行加载展现。
步骤S203,接收启动包含插件视图元素的宿主应用页面的请求。
参见图2b,用户触发启动包含插件视图元素的宿主应用页面。
步骤S204,宿主应用向插件框架发送获取插件视图元素的请求。
步骤S205,由插件框架将从插件处获取的插件视图元素和由插件创建的上下文环境反馈给宿主应用。
在实际实现过程中,预先为插件框架做一层封装,以开放插件框架初始化、获取插件内部的view对象和fragment对象的接口。封装后的插件框架打包为一个代码库,联合插件文件一起集成在宿主应用中。在本步骤中,宿主应用通过插件框架开放的接口获取到插件内部的view对象或fragment对象。
在步骤S202插件框架通知插件创建context对象的前提下,步骤S205中宿主应用通过插件框架开放的接口获取view对象或fragment对象的同时,一并获取可被其调用的context对象。
步骤S206,依据插件创建的上下文环境,将插件视图元素添加到宿主应用页面中进行展现。
在获取到插件创建的上下文环境之后,插件视图元素调用该创建的上下文环境被添加到宿主应用页面中。即,由插件构造的view对象或fragment对象通过调用插件创建的context对象所包含的处理逻辑被加载展现到宿主应用页面中。
图2c示出了本发明提供的插件化解决方案的实现方式,如图2c所示,宿主应用管理的页面中可加载展现插件内容,即在一个宿主应用页面中,既包含宿主应用自身管理的view对象或fragment对象,还包含插件管理的view对象或fragment对象,实现了在安卓应用内部更细粒度的插件化,使得安卓应用内的最小组成部分可独立插件化,大幅增加了插件化的灵活性。
在上述实施例二提供的方法中,由插件自身创建能被插件视图元素调用的上下文环境,在插件反馈插件视图元素的同时,将该上下文环境反馈给宿主应用,以供宿主应用利用该上下文环境在页面中加载显示插件视图元素。通过该方案,插件可以静默更新插件内容以达到静默更新宿主应用页面的界面样式和内在逻辑的目的。
图3示出了本发明提供的在宿主应用页面中展现插件视图元素的方法实施例三的流程图。如图3所示,该方法包括如下步骤:
步骤S301,在宿主应用启动时,加载插件。
宿主应用加载插件的过程具体为:首先,用户触发启动宿主应用,宿主应用通知插件框架进行初始化;通过插件框架读取插件文件;加载插件文件至宿主应用的内存中。
步骤S302,修改宿主应用创建的上下文环境。
本实施例以修改的方式得到能被插件中的视图元素调用的context对象。具体地,在宿主应用加载插件之后,对于插件视图元素使用的context对象,可通过重写宿主应用创建的context对象中资源文件管理和类加载的处理逻辑,使得这样的context对象能被插件视图元素调用。修改或重写后的context对象兼容插件视图元素的处理逻辑和宿主视图元素的处理逻辑。
步骤S303,接收启动包含插件视图元素的宿主应用页面的请求。
步骤S304,宿主应用向插件框架发送获取插件视图元素的请求。
步骤S305,由插件框架将从插件处获取的插件视图元素。
在实际实现过程中,预先为插件框架做一层封装,以开放插件框架初始化、获取插件内部的view对象和fragment对象的接口。封装后的插件框架打包为一个代码库,联合插件文件一起集成在宿主应用中。在本步骤中,宿主应用通过插件框架开放的接口获取到插件内部的view对象或fragment对象。
步骤S306,侦测上下文环境的调用方是否为插件视图元素;若是,则执行步骤S307。
步骤S306是在加载展现宿主应用页面的过程中执行的。由于宿主应用页面既包含宿主应用自身管理的视图元素(宿主视图元素),也包含插件管理的视图元素(插件视图元素),所以在加载时动态侦测context对象的调用方是插件视图元素还是宿主视图元素,若是插件视图元素,则执行步骤S307;若是宿主视图元素,则后续按照正常的宿主视图元素的处理逻辑加载展现宿主视图元素。
步骤S307,获取通过修改宿主应用创建的上下文环境而得到的能被插件视图元素调用的上下文环境,即获取步骤302的修改或重写后的context对象。
步骤S308,依据经修改的宿主应用创建的上下文环境,将插件视图元素添加到宿主应用页面中进行展现。
在获取到经修改的宿主应用创建的上下文环境之后,插件视图元素调用该修改的上下文环境被添加到宿主应用页面中。即,由插件构造的view对象或fragment对象通过调用经修改的宿主应用创建的context对象所包含的处理逻辑被加载展现到宿主应用页面中。
在上述实施例三提供的方法中,宿主应用修改自身创建的上下文环境使其兼容插件视图元素的处理逻辑,在插件反馈插件视图元素之后,宿主应用利用修改的上下文环境在页面中加载显示插件视图元素。通过该方案,插件可以静默更新插件内容以达到静默更新宿主应用页面的界面样式和内在逻辑的目的。
图4示出了本发明提供的在宿主应用页面中展现插件视图元素的装置实施例一的功能框图。如图4所示,该装置包括:加载模块410、获取模块420以及展现模块430。
加载模块410用于在宿主应用启动时,加载插件。
获取模块420用于获取插件构造的插件视图元素以及能被插件视图元素调用的上下文环境。
这里,插件视图元素可以包含一个或多个视图基础单元view,和/或由一个或多个视图基础单元构成的能独立添加到宿主应用页面中的视图单元fragment。
插件部分的逻辑继承安卓原生的view类或fragment类,本发明通过创建或修改的方式为插件中的视图元素获取能被其调用的上下文环境context,使宿主应用在加载页面时可利用该额外传入的context对象添加插件视图元素。在实际操作中,为插件框架做一层封装,以开放插件框架初始化、获取插件内部的view对象和fragment对象的接口。封装后的插件框架打包为一个代码库,联合插件文件一起集成在宿主应用中。这里,获取模块420通过插件框架开放的接口获取到插件内部的view对象和fragment对象。
获取模块420具体用于:获取插件构造的插件视图元素以及能被插件视图元素调用的包含资源文件管理和类加载的处理逻辑的上下文环境。
展现模块430用于依据上下文环境,将插件视图元素添加到宿主应用页面中进行展现。
根据本实施例提供的装置,通过获取能被插件视图元素调用的上下文环境,在宿主应用页面的加载过程中,依据该上下文环境,将插件视图元素添加到宿主应用页面中进行展现。通过该装置,可以在宿主应用的任意页面的任意部分加载显示插件视图元素,可以随时静默更新界面样式与内在逻辑并且不需要用户重新安装应用。
图5示出了本发明提供的在宿主应用页面中展现插件视图元素的装置实施例二的功能框图。如图5所示,该装置包括:加载模块510、页面请求模块520、获取模块530以及展现模块540,其中加载模块510具体包括:初始化单元511、读取单元512和加载单元513,获取模块530具体包括:请求单元531和接收单元532。
加载模块510用于在宿主应用启动时加载插件。具体的,初始化单元511用于在宿主应用启动时,初始化插件框架;读取单元512用于通过插件框架读取插件文件;加载单元513用于加载插件文件至宿主应用的内存中。
获取模块530用于获取由插件创建的上下文环境。具体的,请求单元531用于通过宿主应用向插件框架发送获取插件视图元素的请求;接收单元532用于接收插件框架从插件处获取的插件视图元素和由插件创建的上下文环境。
本实施例中,能被插件中的视图元素调用的context对象是由插件创建的。具体地,在宿主应用加载插件之后,插件框架就通知插件为其内部的view对象或fragment对象创建context对象。该context对象包含资源文件管理和类加载的处理逻辑,view对象或fragment对象通过调用这样的处理逻辑进行加载展现。
页面请求模块520用于接收启动包含插件视图元素的宿主应用页面的请求。在页面请求模块520接收到用户触发的启动包含插件视图元素的宿主应用页面的请求之后,请求单元531向插件框架发送获取插件视图元素的请求,接收单元532接收插件框架从插件处获取的插件视图元素和由插件创建的上下文环境。
展现模块540用于依据插件创建的上下文环境,将插件视图元素添加到宿主应用页面中进行展现。在获取到插件创建的上下文环境之后,插件视图元素调用该创建的上下文环境被添加到宿主应用页面中。即,由插件构造的view对象或fragment对象通过调用插件创建的context对象所包含的处理逻辑被加载展现到宿主应用页面中。
在上述实施例二提供的装置中,由插件自身创建能被插件视图元素调用的上下文环境,在插件反馈插件视图元素的同时,将该上下文环境反馈给宿主应用,以供宿主应用利用该上下文环境在页面中加载显示插件视图元素。通过该装置,插件可以静默更新插件内容以达到静默更新宿主应用页面的界面样式和内在逻辑的目的。
图6示出了本发明提供的在宿主应用页面中展现插件视图元素的装置实施例三的功能框图。如图6所示,该装置包括:加载模块610、修改模块620、页面请求模块630、获取模块640、侦测模块650以及展现模块660,其中加载模块610具体包括:初始化单元611、读取单元612和加载单元613。
加载模块610用于在宿主应用启动时加载插件。具体的,初始化单元611用于在宿主应用启动时,初始化插件框架;读取单元612用于通过插件框架读取插件文件;加载单元613用于加载插件文件至宿主应用的内存中。
修改模块620用于修改宿主应用创建的上下文环境。
本实施例以修改的方式得到能被插件中的视图元素调用的context对象。具体地,在宿主应用加载插件之后,对于插件视图元素使用的context对象,可通过重写宿主应用创建的context对象中资源文件管理和类加载的处理逻辑,使得这样的context对象能被插件视图元素调用。修改或重写后的context对象兼容插件视图元素的处理逻辑和宿主视图元素的处理逻辑。
获取模块640具体用于:获取通过修改宿主应用创建的上下文环境而得到的能被插件视图元素调用的上下文环境。
页面请求模块630用于接收启动包含插件视图元素的宿主应用页面的请求。在页面请求模块630接收到用户触发的启动包含插件视图元素的宿主应用页面的请求之后,获取模块640向插件框架发送获取插件视图元素的请求,以及接收插件框架从插件处获取的插件视图元素。
侦测模块650用于侦测上下文环境的调用方是否为插件视图元素;
获取模块640进一步用于:若侦测模块650侦测到上下文环境的调用方为插件视图元素,获取通过修改宿主应用创建的上下文环境而得到的能被插件视图元素调用的上下文环境。
展现模块660依据经修改的宿主应用创建的上下文环境,将插件视图元素添加到宿主应用页面中进行展现。在获取到经修改的宿主应用创建的上下文环境之后,插件视图元素调用该修改的上下文环境被添加到宿主应用页面中。即,由插件构造的view对象或fragment对象通过调用经修改的宿主应用创建的context对象所包含的处理逻辑被加载展现到宿主应用页面中。
在上述实施例三提供的装置中,宿主应用修改自身创建的上下文环境使其兼容插件视图元素的处理逻辑,在插件反馈插件视图元素之后,宿主应用利用修改的上下文环境在页面中加载显示插件视图元素。通过该装置,插件可以静默更新插件内容以达到静默更新宿主应用页面的界面样式和内在逻辑的目的。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。
Claims (20)
1.一种在宿主应用页面中展现插件视图元素的方法,其特征在于,包括:
在宿主应用启动时,加载插件;
获取所述插件构造的插件视图元素以及能被所述插件视图元素调用的上下文环境;
依据所述上下文环境,将所述插件视图元素添加到宿主应用页面中进行展现。
2.根据权利要求1所述的方法,其特征在于,所述上下文环境包含资源文件管理和类加载的处理逻辑。
3.根据权利要求1或2所述的方法,其特征在于,所述获取能被插件视图元素调用的上下文环境具体为:获取由所述插件创建的上下文环境。
4.根据权利要求3所述的方法,其特征在于,所述在宿主应用启动时,加载插件进一步包括:
在宿主应用启动时,初始化插件框架;
通过插件框架读取插件文件;
加载插件文件至所述宿主应用的内存中。
5.根据权利要求4所述的方法,其特征在于,所述获取所述插件构造的插件视图元素以及能被所述插件视图元素调用的上下文环境进一步包括:
所述宿主应用向插件框架发送获取插件视图元素的请求;
由所述插件框架将从插件处获取的所述插件视图元素和由所述插件创建的上下文环境反馈给所述宿主应用。
6.根据权利要求1或2所述的方法,其特征在于,所述获取能被插件视图元素调用的上下文环境具体为:获取通过修改宿主应用创建的上下文环境而得到的能被插件视图元素调用的上下文环境。
7.根据权利要求6所述的方法,其特征在于,所述在宿主应用启动时,加载插件进一步包括:
在宿主应用启动时,初始化插件框架;
通过插件框架读取插件文件;
加载插件文件至所述宿主应用的内存中;
在所述加载插件之后,所述方法包括:修改宿主应用创建的上下文环境。
8.根据权利要求7所述的方法,其特征在于,在所述获取能被所述插件视图元素调用的上下文环境之前,所述方法进一步包括:侦测上下文环境的调用方是否为插件视图元素;
若侦测到上下文环境的调用方为所述插件视图元素,则获取通过修改宿主应用创建的上下文环境而得到的能被插件视图元素调用的上下文环境。
9.根据权利要求1或2所述的方法,其特征在于,在所述获取所述插件构造的插件视图元素以及能被所述插件视图元素调用的上下文环境之前,所述方法进一步包括:接收启动包含插件视图元素的宿主应用页面的请求。
10.根据权利要求1所述的方法,其特征在于,所述插件视图元素包含一个或多个视图基础单元,和/或由一个或多个视图基础单元构成的能独立添加到宿主应用页面中的视图单元。
11.一种在宿主应用页面中展现插件视图元素的装置,其特征在于,包括:
加载模块,用于在宿主应用启动时,加载插件;
获取模块,用于获取所述插件构造的插件视图元素以及能被所述插件视图元素调用的上下文环境;
展现模块,用于依据所述上下文环境,将所述插件视图元素添加到宿主应用页面中进行展现。
12.根据权利要求11所述的装置,其特征在于,所述获取模块具体用于:获取所述插件构造的插件视图元素以及能被所述插件视图元素调用的包含资源文件管理和类加载的处理逻辑的上下文环境。
13.根据权利要求11或12所述的装置,其特征在于,所述获取模块具体用于:获取由所述插件创建的上下文环境。
14.根据权利要求13所述的装置,其特征在于,所述加载模块包括:
初始化单元,用于在宿主应用启动时,初始化插件框架;
读取单元,用于通过插件框架读取插件文件;
加载单元,用于加载插件文件至所述宿主应用的内存中。
15.根据权利要求14所述的装置,其特征在于,所述获取模块包括:
请求单元,用于通过所述宿主应用向插件框架发送获取插件视图元素的请求;
接收单元,用于接收所述插件框架从插件处获取的所述插件视图元素和由所述插件创建的上下文环境。
16.根据权利要求11或12所述的装置,其特征在于,所述获取模块具体用于:获取通过修改宿主应用创建的上下文环境而得到的能被插件视图元素调用的上下文环境。
17.根据权利要求16所述的装置,其特征在于,所述加载模块包括:
初始化单元,用于在宿主应用启动时,初始化插件框架;
读取单元,用于通过插件框架读取插件文件;
加载单元,用于加载插件文件至所述宿主应用的内存中;
所述装置还包括:修改模块,用于修改宿主应用创建的上下文环境。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括:侦测模块,用于侦测上下文环境的调用方是否为插件视图元素;
所述获取模块进一步用于:若所述侦测模块侦测到上下文环境的调用方为所述插件视图元素,获取通过修改宿主应用创建的上下文环境而得到的能被插件视图元素调用的上下文环境。
19.根据权利要求11或12所述的装置,其特征在于,所述装置还包括:页面请求模块,用于接收启动包含插件视图元素的宿主应用页面的请求。
20.根据权利要求11所述的装置,其特征在于,所述插件视图元素包含一个或多个视图基础单元,和/或由一个或多个视图基础单元构成的能独立添加到宿主应用页面中的视图单元。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510712954.XA CN105867956A (zh) | 2015-10-28 | 2015-10-28 | 在宿主应用页面中展现插件视图元素的方法及装置 |
PCT/CN2016/083051 WO2017071191A1 (zh) | 2015-10-28 | 2016-05-23 | 在宿主应用页面中展现插件视图元素的方法及装置 |
US15/242,461 US20170123783A1 (en) | 2015-10-28 | 2016-08-19 | Method for displaying plug-in view elements in host application page and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510712954.XA CN105867956A (zh) | 2015-10-28 | 2015-10-28 | 在宿主应用页面中展现插件视图元素的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105867956A true CN105867956A (zh) | 2016-08-17 |
Family
ID=56623968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510712954.XA Pending CN105867956A (zh) | 2015-10-28 | 2015-10-28 | 在宿主应用页面中展现插件视图元素的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170123783A1 (zh) |
CN (1) | CN105867956A (zh) |
WO (1) | WO2017071191A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331135A (zh) * | 2016-08-31 | 2017-01-11 | 广州品唯软件有限公司 | 一种部分界面更新方法、系统、客户端和服务端 |
CN106383702A (zh) * | 2016-08-31 | 2017-02-08 | 广州品唯软件有限公司 | 一种活动数据显示方法及设备 |
CN106559264A (zh) * | 2016-11-15 | 2017-04-05 | 上海斐讯数据通信技术有限公司 | 一种拓扑视图的加载显示方法及系统 |
CN107045438A (zh) * | 2016-12-16 | 2017-08-15 | 阿里巴巴集团控股有限公司 | 一种应用顶层视图处理方法、装置及组件 |
CN108845842A (zh) * | 2018-04-18 | 2018-11-20 | 北京奇虎科技有限公司 | 复用视图的方法及装置 |
CN108874381A (zh) * | 2017-05-09 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 一种输出页面视图控制器的方法、装置及电子设备 |
WO2019029451A1 (zh) * | 2017-08-08 | 2019-02-14 | 上海连尚网络科技有限公司 | 发布移动应用的方法和电子设备 |
CN109558182A (zh) * | 2018-11-29 | 2019-04-02 | 掌阅科技股份有限公司 | 基于插件的信息推广方法、电子设备及计算机存储介质 |
CN110297644A (zh) * | 2019-06-24 | 2019-10-01 | 深圳市酷开网络科技有限公司 | 一种首页悬浮应用设置方法、智能终端及存储介质 |
CN110704767A (zh) * | 2019-09-30 | 2020-01-17 | 北京字节跳动网络技术有限公司 | 页面打开方法、装置、电子设备及存储介质 |
CN114356441A (zh) * | 2021-12-22 | 2022-04-15 | 北京海泰方圆科技股份有限公司 | 一种插件预加载方法、装置、电子设备及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108845839B (zh) * | 2018-05-31 | 2023-07-14 | 康键信息技术(深圳)有限公司 | 应用页面加载方法、装置及计算机可读存储介质 |
US11188353B2 (en) * | 2018-07-12 | 2021-11-30 | Vmware, Inc. | Runtime extension system for bundled web application |
CN110007980B (zh) * | 2019-01-29 | 2022-05-24 | 创新先进技术有限公司 | 多业务服务端的实现方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123151A (zh) * | 2013-04-28 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 移动终端中应用程序的插件管理方法、装置和移动终端 |
CN104536776A (zh) * | 2014-11-28 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 一种在宿主端插件运行环境中运行插件应用的方法与装置 |
EP2871573A1 (en) * | 2013-11-07 | 2015-05-13 | Sap Se | Dynamic Containerization |
CN104731625A (zh) * | 2015-03-27 | 2015-06-24 | 北京奇虎科技有限公司 | 一种加载插件的方法、装置和移动终端 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7805730B2 (en) * | 2006-09-21 | 2010-09-28 | Reuters America, Llc | Common component framework |
US8181111B1 (en) * | 2007-12-31 | 2012-05-15 | Synchronoss Technologies, Inc. | System and method for providing social context to digital activity |
US20130074131A1 (en) * | 2011-09-15 | 2013-03-21 | Milestone Project, Inc. | System and method for integrating and controlling web-based html players in a native context |
US8887182B2 (en) * | 2012-10-16 | 2014-11-11 | Yahoo! Inc. | Hybrid applications |
US11082499B2 (en) * | 2015-10-19 | 2021-08-03 | Citrix Systems, Inc. | Browser server session transfer |
-
2015
- 2015-10-28 CN CN201510712954.XA patent/CN105867956A/zh active Pending
-
2016
- 2016-05-23 WO PCT/CN2016/083051 patent/WO2017071191A1/zh active Application Filing
- 2016-08-19 US US15/242,461 patent/US20170123783A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123151A (zh) * | 2013-04-28 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 移动终端中应用程序的插件管理方法、装置和移动终端 |
EP2871573A1 (en) * | 2013-11-07 | 2015-05-13 | Sap Se | Dynamic Containerization |
CN104536776A (zh) * | 2014-11-28 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 一种在宿主端插件运行环境中运行插件应用的方法与装置 |
CN104731625A (zh) * | 2015-03-27 | 2015-06-24 | 北京奇虎科技有限公司 | 一种加载插件的方法、装置和移动终端 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383702A (zh) * | 2016-08-31 | 2017-02-08 | 广州品唯软件有限公司 | 一种活动数据显示方法及设备 |
CN106331135A (zh) * | 2016-08-31 | 2017-01-11 | 广州品唯软件有限公司 | 一种部分界面更新方法、系统、客户端和服务端 |
CN106331135B (zh) * | 2016-08-31 | 2019-09-03 | 广州品唯软件有限公司 | 一种部分界面更新方法、系统、客户端和服务端 |
CN106559264B (zh) * | 2016-11-15 | 2020-02-11 | 上海斐讯数据通信技术有限公司 | 一种拓扑视图的加载显示方法及系统 |
CN106559264A (zh) * | 2016-11-15 | 2017-04-05 | 上海斐讯数据通信技术有限公司 | 一种拓扑视图的加载显示方法及系统 |
CN107045438A (zh) * | 2016-12-16 | 2017-08-15 | 阿里巴巴集团控股有限公司 | 一种应用顶层视图处理方法、装置及组件 |
CN107045438B (zh) * | 2016-12-16 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种应用顶层视图处理方法、装置及组件 |
CN108874381B (zh) * | 2017-05-09 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 一种输出页面视图控制器的方法、装置及电子设备 |
CN108874381A (zh) * | 2017-05-09 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 一种输出页面视图控制器的方法、装置及电子设备 |
WO2019029451A1 (zh) * | 2017-08-08 | 2019-02-14 | 上海连尚网络科技有限公司 | 发布移动应用的方法和电子设备 |
CN108845842A (zh) * | 2018-04-18 | 2018-11-20 | 北京奇虎科技有限公司 | 复用视图的方法及装置 |
CN109558182A (zh) * | 2018-11-29 | 2019-04-02 | 掌阅科技股份有限公司 | 基于插件的信息推广方法、电子设备及计算机存储介质 |
CN110297644A (zh) * | 2019-06-24 | 2019-10-01 | 深圳市酷开网络科技有限公司 | 一种首页悬浮应用设置方法、智能终端及存储介质 |
CN110704767A (zh) * | 2019-09-30 | 2020-01-17 | 北京字节跳动网络技术有限公司 | 页面打开方法、装置、电子设备及存储介质 |
CN114356441A (zh) * | 2021-12-22 | 2022-04-15 | 北京海泰方圆科技股份有限公司 | 一种插件预加载方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017071191A1 (zh) | 2017-05-04 |
US20170123783A1 (en) | 2017-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105867956A (zh) | 在宿主应用页面中展现插件视图元素的方法及装置 | |
CN105824664B (zh) | 应用程序启动监控方法、装置以及终端设备 | |
CN102571940B (zh) | 应用程序远程安装系统、方法、智能终端、应用服务器 | |
CN103365682B (zh) | 信息处理设备和信息处理方法 | |
CN103685328B (zh) | 一种广告播放方法 | |
CN106445500B (zh) | 提供用户界面的方法、系统及终端设备 | |
CN103677877A (zh) | 一种本地广告软件开发包升级的方法及装置 | |
CN103716346A (zh) | 一种安卓手机客户端上应用的管理方法和装置 | |
CN106325870A (zh) | 一种动态表单api接口的实现方法及装置 | |
CN109101233A (zh) | 适配多种屏幕分辨率的方法、存储设备及安卓设备 | |
EP3366050B1 (en) | Method for updating a package | |
CN104834541A (zh) | 功能模块挂载方法、挂载系统及更新挂载系统的方法 | |
CN107562386A (zh) | 一种分布式存储集群的数据写入方法及装置 | |
CN106357791A (zh) | 业务处理方法、装置及系统 | |
CN107832105A (zh) | 一种应用程序启动方法、启动装置及计算机可读存储介质 | |
CN104424333A (zh) | 表格数据加载方法及系统 | |
CN102833405A (zh) | 一种静态壁纸的显示方法、装置及移动终端 | |
CN106056000A (zh) | 基于系统权限的移动设备存储分区配置方法及装置 | |
CN104020849B (zh) | 基于Windows CE的多程序同时显示方法及系统 | |
CN105320503A (zh) | 中间件插件框架设计系统及方法 | |
CN102081547A (zh) | 提高嵌入式智能设备硬件通用性的方法 | |
CN103530165B (zh) | 一种应用于物联网行业的java解决方案 | |
CN104793998B (zh) | 终端系统资源管理方法及装置 | |
CN103761126B (zh) | 应用程序的升级方法和装置 | |
CN105138399A (zh) | 跨平台移动Web应用运行引擎 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160817 |