专利名称:一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎的制作方法
技术领域:
本发明实施例涉及计算机领域,特别是涉及一种生成Widget图标的方法、Widget 摘要文件的生成方法及Widget引擎。
背景技术:
随着移动互联网的迅速发展,微件(Widget)的出现让互联网的发展又提高了一 个阶段,当然widget可以称为微技。Widget是一种基于JavaScript的应用程序平台,也可 以认为是一个基于网络、可以独立在桌面运行的实用小工具,通常是打包成一个文件被客 户端下载并安装使用。用户通过Widget可以享受新闻阅读、天气资讯、图片浏览等业务。由于每个Widget对应一个图标,用户需要通过点击Widget图标去查看该Widget 中的内容。当下载的Widget有内容更新时,用户需要点击每个Widget图标去查看更新的 内容,这会导致用户频繁的操作,从而影响到用户的使用心情。浮动Widget技术的出现,通过在Widget管理器面板的图标上显示Widget内容更 新的提示信息,使得用户不需要进入Widget的详细页面就可以了解到Widget内容更新的 情况,从而减少了用户的频繁的操作。发明人在实现本发明的过程中,发现现有技术至少存在以下缺点现有技术中的 浮动Widget技术需要占用大量的资源,由于该技术中的每个Widget需要在系统中保留一 些线程,以完成用户操作响应、信息更新等,以手机终端为例,由于手机终端本身能分配的 线程数很稀少,如果使用现有技术,则会导致手机终端的线程资源被占用,就会造成手机的 使用效率很低。
发明内容
本发明实施例提供一种生成Widget图标的方法、Widget摘要文件的生成方法及 Widget引擎,以减少运行Widget时所占用的系统资源。根据本发明的一方面,提供一种生成Widget图标的方法,所述方法包括获得Widget摘要文件;解析所述Widget摘要文件,并生成DOM树;根据所述DOM树生成Widget图标。根据本发明的另一方面,还提供一种Widget摘要文件的生成方法,所述方法包 括模拟运行Widget以生成DOM树;获得所述DOM树的重要信息的代码,所述重要信息的代码包括执行生成客户端的 本地信息和从服务器获得信息操作相关联的代码;将所述代码生成所述Widget摘要文件。根据本发明的另一方面,还提供一种生成Widget图标的Widget引擎,所述Widget引擎包括管理单元及解析单元;所述管理单元还包括加载子单元,用于获得Widget摘要文件,并调用所述解析单元以解析所述Widget 摘要文件和执行解析后的Widget摘要文件;更新子单元,用于根据执行后的Widget摘要文件生成Widget图标。采用上述提供的技术方案,通过获得所述DOM树中的重要信息的代码以生成所述 Widget摘要文件,从而去除了与用户交互的代码,也就减少了在运行Widget时需要保留执 行与用户的交互操作的线程,从而可以减少占用的系统资源。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。图1为本发明实施例的Widget摘要文件的生成方法的流程图;图2为本发明实施例的Widget图标的生成方法的流程图;图3A为本发明实施例的Widget摘要文件的生成装置的结构图;图3B为本发明另一实施例的Widget摘要文件的生成装置的结构图;图4为本发明实施例的widget引擎的结构图;图5为本发明实施例的客户端设备的结构图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。在本实施例中,Widget可以看作是运行在Widget引擎中的WEB页面,Widget通 过阿贾克斯(Asynchronous JavaScript and XML, Ajax)技术开发,由html技术表示页面 的内容,由ess技术表示页面的展现形式,并由javascript技术表示页面的程序逻辑。在 通常的情况下,Widget包括HTML文件、CSS文件、JavaScript文件、配置文件、签名文件、 图片资源文件等。在服务器会将这些文件打包成一个特定类型的Widget包(如wgt格式 的包),供用户下载使用。需要说明的是,HTML文件、CSS文件、JavaScript文件也可以统 称为HTML文件,配置文件的格式为xml格式,用于描述配置信息;签名文件的格式为xml格 式,用于数字签名;图片资源文件包括icon文件和thumbnail文件,其中,icon文件可以有 png或gif或ico或svg格式,用于估j(默认图标,thumbnail文件可以有png或gif或ico 或svg格式,用于做小图标。在本实施例中,在原有的Widget中再增加一个Widget摘要文件,即再增加一个包 括Widget的内容的摘要的文件。需要说明的是,本实施例中的Widget摘要文件与传统的 摘要文件不同,Widget摘要文件不是一个独立的文本文件,而是一个Ajax文件,其中包括
5javascript代码,该javascript代码可以动态的从服务器上获得信息以进行内容更新。以 下介绍生成这种形式的Widget摘要文件,并介绍如何将这种Widget摘要文件应用于生成 Widget的图标。图1所示为Widget摘要文件的生成方法的流程图。这个生成方法包括先模拟运 行Widget以生成DOM树;再,获得所述DOM树的重要信息的代码,所述重要信息的代码包括 执行生成客户端的本地信息和从服务器获得信息操作相关联的代码,将所述代码生成所述 Widget摘要文件。以下进行详细说明。在本实施例中,需要说明的是,为每个Widget生成 一个针对该Widget的摘要文件。步骤S100,模拟运行Widget,以生成一个页面。在本实施例中,在模拟运行Widget 的过程中,为对Widget的详细页面进行模拟运行。Widget的详细页面为运行一个Widget 的时候所产生的页面。在本实施例中,可以理解为运行html文件、javascript文件和ess 文件。在本实施例中,由于Widget为基于Ajax技术开发的,故运行Widget后,在程序内部, 会生成一个DOM树,DOM树是Ajax文件在计算机中的半结构化的表现形式。该DOM树包括 javascript代码,该代码可以对DOM树操作,以生成新的DOM树,每个代码都有一个执行层, 也可以理解为DOM树分层次。在本实施例中,Widget的详细页面可以包括三种类型的代码,分别为(1)不需要 与用户交互即可执行完的代码,如onload事件触发的代码;(2)需要与用户交互才能完成 的代码,如onclick事件触发的代码;(3)需要用户输入参数才能完成的代码,如用户名和密码。为更好的理解,举例说明,当打开一个TOB页面后,该页面会包括多个链接,相当 于DOM树中包括产生新DOM树的代码,这个代码的执行层就对应当前页面的层数。用户可 以决定点击其中的链接,以跳转到一个新的页面。同时,这些页面分层次,比如第一个页面 为第一层,依次类推,一层接着一层,最终到达用户需要看到的具体信息的页面。当然,也可 以理解为页面的层数跟DOM树的层次或代码的执行层之间具有对应的关系。可以理解为, DOM树为用户可以看到的页面内容,每个DOM树与用户看到的页面之间存在一一对应的关 系。当运行一个Widget后显示给用户的页面中,会包括很多的信息,比如,产生新页面的链 接信息、图标信息、数据信息,页面的层数信息等。在本实施例中,产生新页面的链接信息可 以是一个,也可以是多个。步骤S102,记录页面中的信息。在本实施例中,可以理解为记录步骤SlOO中产生 的新页面的链接信息,图标信息、数据信息、页面的层数信息等。也可以理解为,记录步骤 SlOO中生成的DOM树的数据,包括代码和该代码的执行层。步骤S104,确定该页面是否存在产生新页面的链接信息。在本实施例中,也可以理 解为,确定该DOM树是否包括产生新DOM树的代码。在本实施例中,存在产生新页面的链接 信息或存在产生新DOM树的代码,则执行步骤S106,在本实施例中,可以理解为,具有具体 信息的页面还没有完全打开或没有完成找到。若不存在产生新页面的链接信息或存在产生 新DOM树的代码,则执行步骤S110。在本实施例中,可以由一个页面产生一个新的页面,也 可以由一个页面产生多个新的页面。步骤S106,确定当前页面的层数是否小于预定阈值。在本实施例中,也可以理解 为,确定该产生新DOM树的代码的执行层是否小于预定阈值。
在本实施例中,若当前页面的层数小于预定阈值,或该产生新DOM树的代码的执 行层小于预定阈值,则执行步骤S108。若当前页面的层数不小于预定阈值,或该产生新DOM 树的代码的执行层不小于预定阈值,则执行步骤S110。步骤S108,模拟事件触发。在本实施例中,通过模拟事件来产生新的页面或生成 新的DOM树。在本实施例中,可以理解的是通过模拟执行javascript代码来生成新的DOM 树。简单的例子,模拟点击页面中的链接,出现一个新的页面。表1所示为具体的事件,可 以参考以下事件进行模拟触发。
权利要求
一种生成Widget图标的方法,其特征在于,所述方法包括获得Widget摘要文件;解析所述Widget摘要文件,并执行解析后的Widget摘要文件;根据执行后的Widget摘要文件生成Widget图标。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括 确定刷新周期是否到期;当到期时,调用所述Widget摘要文件。
3.根据权利要求1所述的方法,其特征在于,所述解析所述Widget摘要文件,并执行解 析后的Widget摘要文件的步骤包括解析所述Widget摘要文件,以获得所述Widget摘要文件中的代码; 根据所述代码从服务器获得信息和生成客户端的本地信息;将包括所述从服务器获得的信息和客户端的本地信息的Widget摘要文件的格式转换 为DOM树的格式。
4.一种Widget摘要文件的生成方法,其特征在于,所述Widget摘要文件应用于 Widget图标,所述方法包括模拟运行Widget以生成DOM树;获得所述DOM树的重要信息的代码,所述重要信息的代码包括执行生成客户端的本地 信息和从服务器获得信息操作相关联的代码; 将所述代码生成所述Widget摘要文件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括当所述DOM树存在产生新的DOM树的代码,并且所述DOM树的代码的执行层次小于预 定阈值时,模拟事件触发;模拟运行Widget,以生成另一个DOM树。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括当所述DOM树不存在产生新的DOM树的代码,或所述DOM树的代码的执行层次不小于 预定阈值时,获得所述DOM树中的重要信息的代码以生成所述Widget摘要文件。
7.根据权利要求6所述的方法,其特征在于,所述获得所述DOM树中的重要信息的代码 以生成所述Widget摘要文件的步骤包括获得所述DOM树的重要信息,所述重要信息包括客户端的本地信息和从服务器获得的 fn息;获得生成所述重要信息的代码。
8. 一种生成Widget图标的Widget引擎,其特征在于,所述Widget引擎包括管理单元 及解析单元;所述管理单元还包括加载子单元,用于获得Widget摘要文件,并调用所述解析单元以解析所述Widget摘要 文件和执行解析后的Widget摘要文件;更新子单元,用于根据执行后的Widget摘要文件生成Widget图标。
9.根据权利要求8所述的Widget引擎,其特征在于,所述加载子单元还用于在周期到 期时,获得所述Widget摘要文件。
10.根据权利要求8所述的Widget引擎,其特征在于,所述解析单元用于解析所述 Widget摘要文件,以获得所述Widget摘要文件中的代码,并根据所述代码从服务器获得 信息和生成客户端的本地信息,及将包括所述从服务器获得的信息和客户端的本地信息的 Widget摘要文件的格式转换为DOM树的格式。
11.一种Widget摘要文件的生成装置,其特征在于,所述装置包括模拟运行单元,用于模拟运行Widget以生成DOM树;摘要生成单元,用于获得所述DOM树的重要信息的代码,所述重要信息的代码包括执 行生成客户端的本地信息和从服务器获得信息操作相关联的代码,将所述代码生成生成所 述Widget摘要文件。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括判断单元,用于确定所 述DOM树是否存在产生新的DOM树的代码,或确定所述DOM树的代码的执行层次是否小于预定阈值。
13.根据权利要求12所述的装置,其特征在于,所述摘要生成单元还用于当确定所述 DOM树不存在产生新的DOM树的代码,或确定所述DOM树的代码的执行层次不小于预定阈值 时,获得所述DOM树中的重要信息的代码以生成所述Widget摘要文件。
14.根据权利要求12所述的装置,其特征在于,所述模拟运行单元还用于当确定所述 DOM树存在产生新的DOM树的代码,并且确定所述DOM树的代码的执行层次小于预定阈值 时,模拟事件触发。
15.根据权利要求11所述的装置,其特征在于,所述摘要生成单元还用于获得所述DOM 树的重要信息,其中,所述重要信息包括客户端的本地信息和从服务器获得的信息。
16.根据权利要求11所述的装置,其特征在于,所述装置还包括记录单元,用于记录生 成的DOM树的数据,所述数据包括生成DOM树的代码和所述代码的执行层次。
17.一种客户端设备,其特征在于,所述设备包括Widget摘要文件的生成装置,用于模拟运行Widget以生成DOM树,并当所述DOM树不 存在产生新的DOM树的代码,或所述DOM树的代码的执行层次不小于预定阈值时,获得所述 DOM树中的重要信息的代码以生成所述Widget摘要文件;Widget引擎,用于通过所述Widget摘要文件生成Widget图标。
18.根据权利要求17所述的设备,其特征在于,所述重要信息包括客户端的本地信息 和从服务器获得的信息,所述重要信息的代码包括执行生成客户端的本地信息和从服务器 获得信息操作相关联的代码。
全文摘要
本发明实施方式公开一种生成Widget图标的方法,所述方法包括获得所述Widget摘要文件;解析所述Widget摘要文件,并执行解析后的Widget摘要文件;根据执行后的Widget摘要文件生成Widget图标。本发明实施方式还提供一种widget摘要文件的生成方法及Widget引擎,可以减少占用的系统资源。
文档编号G06F9/44GK101937335SQ200910108610
公开日2011年1月5日 申请日期2009年7月1日 优先权日2009年7月1日
发明者丘志宏, 张 杰, 符海芳, 金洪波 申请人:华为技术有限公司