终端设备及其应用程序的执行方法与流程

文档序号:11133650阅读:1408来源:国知局
终端设备及其应用程序的执行方法与制造工艺

本发明涉及数据传输技术领域,特别是涉及一种终端设备及其应用程序的执行方法。



背景技术:

超文本标记语言(Hyper Text Markup Language,HTML),是万维网的核心语言,其发展使原来静态的网页变成了脚本语言(Javascript)编写的网页(web)应用。

随着HTML 5的发展,应用程序(Application,App)的安装包(APK)通过使用网络浏览器引擎加载存储在云端的HTML 5页面,来运行所述应用程序。

但是,当多个应用程序同时使用同一网络浏览器引擎时,在每个应用程序的apk中分别封装所述网络浏览器引擎,浪费了较多的存储资源。



技术实现要素:

本发明实施例解决的技术问题是如何在多个应用程序使用同一网页浏览器引擎时,节约资源。

为解决上述问题,本发明实施例提供了一种终端设备中应用程序的执行方法,所述方法包括:

下载并安装应用程序的安装包;

当首次启动所述应用程序时,判断终端设备内其他应用程序是否已安装并运行过所述应用程序对应的网页浏览器引擎;

当确定所述终端设备内其他应用程序已下载并运行过所述应用程序对应的网页浏览器引擎时,读取所述其他应用程序的数据目录下所述网页浏览器引擎的配置文件;

根据所述网页浏览器引擎的配置文件,动态加载所述网页浏览器引擎;

将目标页面的URL传递至所述网页浏览器引擎,使得所述网页浏览器引擎通过所述目标页面的URL加载所述目标页面。

可选地,所述方法还包括:

当确定所述终端设备内其他应用程序未下载并运行过所述应用程序对应的网页浏览器引擎时,从网络后台下载所述网页浏览器引擎;

当下载完成并启动所述网页浏览器引擎时,执行所述将目标页面的URL传递至所述网页浏览器引擎,使得所述网页浏览器引擎通过所述目标页面的URL加载所述目标页面,并生成所述网页浏览器引擎的配置文件。

可选地,从网络后台下载的所述网页浏览器引擎包括Java JAR包和和动态链接库。

可选地,所述将目标页面的URL传递至所述网页浏览器引擎,包括:采用Java Invoke函数将所述目标页面的URL传递至所述网页浏览器引擎。

可选地,所述目标页面为HTML5页面。

本发明实施例还提供了一种终端设备,所述终端设备包括:

下载安装单元,适于下载并安装应用程序的安装包;

判断单元,适于当首次启动所述应用程序时,判断终端设备内其他应用程序是否已安装并运行过所述应用程序对应的网页浏览器引擎;

读取单元,适于当确定所述终端设备内其他应用程序已下载并运行过所述应用程序对应的网页浏览器引擎时,读取所述其他应用程序的数据目录下所述网页浏览器引擎的配置文件;

动态加载单元,适于根据所述网页浏览器引擎的配置文件,动态加载所述网页浏览器引擎;

URL传递单元,适于将目标页面的URL传递至所述网页浏览器引擎,使得所述网页浏览器引擎通过所述目标页面的URL加载所述目标页面。

可选地,所述终端设备还包括:

后台下载单元,适于当确定所述终端设备内其他应用程序未下载并运行 过所述应用程序对应的网页浏览器引擎时,从网络后台下载所述网页浏览器引擎;

所述URL传递单元,还适于当下载完成并启动所述网页浏览器引擎时,执行所述将目标页面的URL传递至所述网页浏览器引擎,使得所述网页浏览器引擎通过所述目标页面的URL加载所述目标页面的操作;

配置文件生成单元,适于当下载完成并启动所述网页浏览器引擎时,生成所述网页浏览器引擎的配置文件。

可选地,所述后台下载单元从网络后台下载的所述网页浏览器引擎包括Java JAR包和和动态链接库。

可选地,所述URL传递单元适于采用Java Invoke函数将所述目标页面的URL传递至所述网页浏览器引擎。

可选地,所述终端设备为移动终端或者电视机。

与现有技术相比,本发明的技术方案具有以下的优点:

上述的方案,通过终端设备上已安装的应用程序的数据目录下获取网页浏览器引擎的配置文件,动态加载已安装并运行过的网页浏览器引擎,可以避免使用同一网页浏览器引擎的所有应用程序的安装包内封装所述网页浏览器引擎,因此,可以节约存储资源。

附图说明

图1是本发明实施例中的一种终端设备中应用程序的执行方法的流程图;

图2是本发明实施例中的另一种终端设备中应用程序的执行方法的流程图;

图3是本发明实施例中的一种终端设备的结构示意图。

具体实施方式

现有技术中,智能手机和智能电视等终端设备,通过下载并安装应用程序的APK来完成应用程序的下载和安装。

随着HTML5内容越来越成熟,HTML5页面内容是由HTML5网页浏览 器引擎(runtime)加载对应目标页面的统一资源定位符(Uniform Resoure Locator,URL),指向云端的HTML5页面,然后运行。由于目前主流应用商店只能支持APK下载安装和分发模式,HTML5应用程序(网页应用程序)也可以变成APK,把HTML5浏览器引擎封装在APK内,同时指定加载运行的URL即可作为一个标准的原生应用程序。

在多个HTML5网页应用程序共同使用同一个HTML5网页浏览器引擎时,需要在每个原生应用程序的APK内均封装所述HTML5网页浏览器引擎,这不但使得APK由原有的几兆大小增加至几十兆大小,而且各个网页浏览器引擎均会建立各自独立的目录,因此,存在着资源浪费的问题。

为解决现有技术中存在的上述问题,本发明实施例采用的技术方案通过终端设备上已安装的应用程序的数据目录下获取网页浏览器引擎的配置文件,动态加载已安装并运行过的网页浏览器引擎,可以节约存储资源。

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1示出了本发明实施例中的一种终端设备中应用程序的执行方法的流程图。如图1所示的终端设备中应用程序的执行方法,可以包括:

步骤S101:下载并安装应用程序的安装包。

步骤S102:当首次启动所述应用程序时,判断终端设备内其他应用程序是否已安装并运行过所述应用程序对应的网页浏览器引擎。

步骤S103:当确定所述终端设备内其他应用程序已下载并运行过所述应用程序对应的网页浏览器引擎时,读取所述其他应用程序的数据目录下所述网页浏览器引擎的配置文件。

步骤S104:根据所述网页浏览器引擎的配置文件,动态加载所述网页浏览器引擎。

步骤S105:将目标页面的URL传递至所述网页浏览器引擎,使得所述网页浏览器引擎通过所述目标页面的URL加载所述目标页面。

下面将结合图2和具体实施例对本发明中的终端设备中应用程序的执行 方法作进一步详细的介绍。

图2示出了本发明实施例中的一种终端设备中应用程序的执行方法的流程图。如图2所示的终端设备中应用程序的执行方法,可以包括:

步骤S201:下载并安装应用程序的安装包。

在具体实施中,所述应用程序的安装包中包括所述应用程序的启动图和逻辑代码。

步骤S202:当首次启动所述应用程序时,判断终端设备内其他应用程序是否已安装并运行过所述应用程序对应的网页浏览器引擎,当判断结果为是时,可以执行步骤S203,反之,则可以执行步骤S206。

在具体实施中,所述应用程序在首次启动时,可以首先判断终端设备内的其他应用程序是否已经安装并运行过所述应用程序对应的网页浏览器引擎。

在本发明一实施例中,可以遍历所述终端设备内已安装的其他应用程序的数据目录下是否存在所述网页浏览器引擎的配置文件。当确定其他应用程序的数据目录下存在所述网页浏览器引擎的配置文件时,则确定其他应用程序已安装并运行所述网页浏览器引擎。

在本发明另一实施例中,可以通过查询一应用程序目录,来确定所述终端设备内安装的应用程序是否已经安装并运行过对应的网页浏览器引擎。其中,所述应用程序目录中包括多个已安装并运行过不同网页浏览器引擎的应用程序。

例如,当终端设备检测到其内安装的首个使用HTML5网页浏览器引擎的应用程序时,便将所述首个使用HTML5网页浏览器引擎的应用程序的名称添加在所述应用程序目录中;当终端设备检测到其内安装的首个使用WebKit网页浏览器引擎的应用程序时,便将所述首个使用HTML5网页浏览器引擎的应用程序的名称添加在所述应用程序目录。

通过这种方式,所述应用程序目录便可以包括所述终端设备内使用不同网页浏览器引擎的应用程序。因此,当一新安装的应用程序首次启动时,通过遍历所述应用程序目录中的应用程序的数据目录中是否存在对应的网页浏 览器引擎的配置文件,便可以确定所述终端设备内的应用程序是否已经安装并运行过对应的网页浏览器引擎。由于所述应用程序目录中的应用程序仅包括了所述终端设备中部分已安装的应用程序,使得遍历的应用程序的数据目录的数量减少,因此,可以提升判断的速度,进而提升终端设备中应用程序的执行速度,提升用户的使用体验。

步骤S203:读取所述其他应用程序的数据目录下所述网页浏览器引擎的配置文件。

在具体实施中,当确定所述终端设备中的其他应用程序已安装并运行过所述应用程序对应的网页浏览器引擎时,可以读取其他应用程序的数据目录中所述网页浏览器引擎的配置文件。

步骤S204:根据所述网页浏览器引擎的配置文件,动态加载所述网页浏览器引擎。

在具体实施中,所述配置文件中包括所述网页浏览器引擎所在的目录地址的信息。读取所述配置文件,便可以获取所述网页浏览器引擎所在的位置,进而可以找到所述网页浏览器引擎,并将所述网页浏览器引擎利用Java反射机制动态加载到所述应用程序的进程中,从而为所述应用程序启用所述网页浏览器引擎。

步骤S205:将目标页面的URL传递至所述动态加载的网页浏览器引擎,使得所述网页浏览器引擎通过所述目标页面的URL加载所述目标页面。

在具体实施中,当动态加载所述网页浏览器引擎完成时,可以采用Java Invoke函数将目标页面的URL传递至所述网页浏览器引擎。所述动态加载的网页浏览器引擎通过所述目标页面的URL加载位于云端的所述目标页面,从而运行所述应用程序。

步骤S206:从网络后台下载所述网页浏览器引擎。

在具体实施中,当确定所述终端设备内其他应用程序未安装并运行过对应的网页浏览器引擎时,可以从网络后台下载所述网页浏览器引擎。其中,从网络后台下载的所述网页浏览器引擎,包括Java JAR包和C语言编写的动态链接库。采用这种方式,当所述网页浏览器引擎有更新时,便可以采用差 分升级(patch)的方式来下载所述网页浏览器引擎,可以减少数据传输量,提升所述网页浏览器引擎的下载速度,进而可以提升所述应用程序的执行速度,提升用户的使用体验。

步骤S207:当下载完成并启动所述网页浏览器引擎时,将目标页面的URL传递至所述网页浏览器引擎,使得所述网页浏览器引擎通过所述目标页面的URL加载所述目标页面,并生成所述网页浏览器引擎的配置文件。

在本发明一实施例中,当下载完成所述网页浏览器引擎时,可以通过采用Java Invoke函数将所述目标页面的URL传送至所述网页浏览器引擎。所述网页浏览器引擎在通过所述目标页面的URL时,启动位于云端的所述目标页面,从而运行所述应用程序。

当下载完成所述网页浏览器引擎时,在所述应用程序的数据目录下创建所述网页浏览器引擎的配置文件,并将所述配置文件的权限设置为全局可读。这样,后续启动的其他应用程序便可以访问所述配置文件来动态加载所述网页浏览器引擎。

在本发明一实施例,所述目标页面为HTML5页面,所述网页浏览器引擎为HTML5网页浏览器引擎。

下面将结合图3对上述的方法对应的终端设备做进一步详细的介绍。

图3示出了本发明实施例中的一种终端设备的结构示意图。如图3所示的终端设备300,可以包括下载安装单元301、判断单元302、读取单元303动态加载单元304和URL传递单元305,其中:

下载安装单元301,适于下载并安装应用程序的安装包。

判断单元302,适于当首次启动所述应用程序时,判断终端设备内其他应用程序是否已安装并运行过所述应用程序对应的网页浏览器引擎。

读取单元303,适于当确定所述终端设备内其他应用程序已下载并运行过所述应用程序对应的网页浏览器引擎时,读取所述其他应用程序的数据目录下所述网页浏览器引擎的配置文件。

动态加载单元304,适于根据所述网页浏览器引擎的配置文件,动态加载 所述网页浏览器引擎。

URL传递单元305,适于将目标页面的URL传递至所述网页浏览器引擎,使得所述网页浏览器引擎通过所述目标页面的URL加载所述目标页面。

在具体实施中,所述URL传递单元305适于采用Java Invoke函数将所述目标页面的URL传递至所述网页浏览器引擎。

在具体实施中,所述终端设备300还可以包括后台下载单元306和配置文件生成单元307,其中:

后台下载单元306,适于当确定所述终端设备内其他应用程序未下载并运行过所述应用程序对应的网页浏览器引擎时,从网络后台下载所述网页浏览器引擎;

在具体实施中,所述后台下载单元306从网络后台下载的所述网页浏览器引擎,包括Java JAR包和动态链接库。

URL传递单元305,适于当下载完成并启动所述网页浏览器引擎时,执行所述将目标页面的URL传递至所述网页浏览器引擎,使得所述网页浏览器引擎通过所述目标页面的URL加载所述目标页面的操作;

在具体实施中,所述URL传递单元305适于通过对象传递函数intent将所述目标页面的URL传递至所述网页浏览器引擎。

配置文件生成单元307,适于当下载完成并启动所述网页浏览器引擎时,生成所述网页浏览器引擎的配置文件。

在具体实施中,所述终端设备为移动终端或者电视机。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

以上对本发明实施例的方法及系统做了详细的介绍,本发明并不限于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1