CN101986662B - 一种widget实例运行方法及系统 - Google Patents
一种widget实例运行方法及系统 Download PDFInfo
- Publication number
- CN101986662B CN101986662B CN201010538231.XA CN201010538231A CN101986662B CN 101986662 B CN101986662 B CN 101986662B CN 201010538231 A CN201010538231 A CN 201010538231A CN 101986662 B CN101986662 B CN 101986662B
- Authority
- CN
- China
- Prior art keywords
- widget
- data
- instance
- application
- subsystem
- 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.)
- Active
Links
Abstract
本发明公开了一种widget实例运行方法及系统,提供一种widget多实例运行的方案。所述方法包括:为widget应用创建widget实例数据表,在widget应用的每个实例启动时,为当前实例生成唯一的标识信息,将所述标识信息保存在所述widget实例数据表中,将当前实例运行过程中生成的配置数据保存在所述widget实例数据表中与所述标识信息对应的表项中。所述系统包括创建表子系统、标识生成子系统和保存子系统。采用本发明所述方法和系统,可以实现Widget引擎管理widget应用多实例运行,而不会造成实例间的冲突。
Description
技术领域
本发明主要涉及移动终端应用技术领域,具体涉及widget实例运行方法及系统。
背景技术
Widget中文翻译为“微技”,它指在互联网环境下,运行于用户计算机或移动设备的应用程序。Widget具体包括widget应用和widget引擎。基于widget引擎的应用程序,它可从本地或互联网络更新数据,目的是协助用户享用各种应用程序和网络服务。万维网联盟(Wide Web Consortium)规范了widget应用打包文件格式,一般包括下面的文件:
widget主页文件,一般命名为index.html;
widget样式表文件,用来标识widget主页的布局;
widget图标文件,用来标识该widget的缩放图标;
widget资源文件,用来标识widget运行时需要的资源;
widget配置文件,一般命名为config.xml,用来记录widget应用的配置信息,如widget的名字,版本等基础信息。
widget引擎对widget资源进行解析、渲染、显示,使得widget应用从widget资源实例化为可运行的应用程序。
但在现有技术中,widget引擎管理widget应用的运行模式都是单实例的,即一个widget应用只能有一个实例在widget引擎上运行,用户体验较差。
发明内容
为解决上述技术问题,本发明提供了一种widget实例运行方法及系统,提供一种widget多实例运行的方案。
为解决上述技术问题,本发明提供了一种widget实例运行方法,包括:
为widget应用创建widget实例数据表,在widget应用的每个实例启动时,为当前实例生成唯一的标识信息,将所述标识信息保存在所述widget实例数据表中,将当前实例运行过程中生成的配置数据保存在所述widget实例数据表中与所述标识信息对应的表项中。
进一步地,当某个widget应用的实例被关闭时,从widget实例数据表中删除该实例的配置数据。
进一步地,在某个widget应用的实例被关闭前,如果该实例为当前widget应用的最后n个实例,n为≥1的整数,则将该实例的配置数据保存为该widget应用的历史数据;在所述widget应用再次启动时,读取所述widget应用的历史数据并加载。
进一步地,当终端状态发生变化时,将表示状态变化的信息发送给当前运行的widget应用的所有实例。
进一步地,所述为当前实例生成唯一的标识信息的步骤包括:为当前实例生成索引,根据该widget应用的类型以及该当前实例的索引生成唯一标识当前实例的标识信息。
进一步地,所述配置数据包括运行期参数和私有配置数据,所述运行期参数包括以下参数的一种或多种:widget实例在屏幕的位置、widget实例窗口的尺寸、widget实例的状态。
为解决上述技术问题,本发明还提供了一种widget实例运行系统,包括创建表子系统、标识生成子系统和保存子系统,其中:
所述创建表子系统,用于为widget应用创建widget实例数据表;
所述标识生成子系统,用于在widget应用的每个实例启动时,为当前实例生成唯一的标识信息;
所述保存子系统,用于将所述标识信息保存在所述widget实例数据表中,以及将当前实例运行过程中生成的配置数据保存在所述widget实例数据表中与所述标识信息对应的表项中。
进一步地,所述保存子系统,还用于在某个widget应用的最后n个实例被关闭时,n为≥1的整数,将该实例的配置数据保存为该widget应用的历史数据;所述系统还包括加载子系统,其用于在所述widget应用再次启动时,读取所述widget应用的历史数据并加载。
进一步地,所述系统还包括删除子系统,其用于在widget实例关闭时,从widget实例数据表中删除该实例的配置数据。
进一步地,所述标识生成子系统,用于在widget应用的每个实例启动时,为当前实例生成索引,根据该widget应用的类型以及该当前实例的索引生成唯一标识当前实例的标识信息。
采用本实施例所述方法和系统,可以实现Widget引擎能够管理widget应用多实例运行,而不会造成实例间的冲突,同时Widget引擎能够保存widget实例的运行场景,在widget实例下次启动时,使用上次的运行参数,自动恢复到上次运行场景。另外,通过本发明的多实例实现方法,还可以展示widget应用多方面的特性。比如一个时钟widget应用,如果在屏幕上运行多个实例,每个实例用的皮肤和时区不同,就可以给用户自由选择使用的体验。因此,在多实例的模式下运行的widget,可以通过对每个实例单独的配置,展现独有特征,而互不影响,从而使得widget引擎的功能更开放。
附图说明
图1是widget引擎启动多实例widget应用的流程图;
图2是widget引擎关闭多实例widget应用的流程图;
图3是widget引擎卸载多实例widget应用的流程图。
具体实施方式
为了使一个widget应用能有多个实例同时运行,本发明提供了以下方法:
为widget应用创建widget实例数据表,在widget应用的每个实例启动时,为当前实例生成唯一的标识信息,将所述标识信息保存在所述widget实例数据表中,将当前实例运行过程中生成的配置数据保存在所述widget实例数据表中与所述标识信息对应的表项中。
由于针对不同的实例分别保存配置数据,不会引起冲突,从而可以保证多实例运行。
当某个widget应用的实例被关闭时,widget实例数据表中该实例的配置数据可以被删除。优选地,为了进一步提升用户体验,使用户再次打开widget应用时,该widget应用的配置能恢复为该widget应用中某个实例关闭时的情形。在widget应用某个实例(例如最后一个实例,也可以是最后n个,n为≥1的整数)关闭时,将该实例的配置数据保存为该widget应用的历史数据(可在实例数据表中做标记标示,或者保存为历史表)。当该widget应用再次启动时,根据启动的widget应用的类型查找历史数据,读取与所述类型对应的配置数据,并加载所述widget应用。当手机掉电或者异常关闭,后来又开机并启动widget引擎后,widget引擎根据历史数据,重新启动widget实例,恢复到关机前的状态。比如:关机前有同一个widget应用类型的三个widget实例,开机后,widget引擎根据保存的widget类型的历史数据,启动该三个实例。”
在一个widget应用的多个widget实例运行时,在终端的状态发生变化时,将表示状态变化的信息发送给当前运行的widget应用的所有实例,例如终端进入待机状态时,根据当前运行的各widget实例的标识信息将终端待机的消息发送给当前运行的各widget实例。
上述为当前实例生成唯一的标识信息的步骤包括:为当前实例生成索引,根据该widget应用的类型以及该当前实例的索引生成唯一标识当前实例的标识信息。
所述配置数据包括运行期参数和私有配置数据,所述运行期参数例如包括以下参数的一种或多种:widget实例在屏幕的位置、widget实例窗口的尺寸、widget实例的状态等。私有配置数据例如包括:用户输入数据,以及应用自身保存的缓冲数据等。
下面结合附图和具体实施例对本发明进行详细说明。
实施例1
本实施例描述了widget引擎启动多实例widget应用的流程,如图1所示,包括以下步骤:
步骤101,用户发出启动widget应用的命令,Widget引擎读取widget配置文件(config.xml),获取widget资源;
步骤102,widget引擎读取该widget应用实例的类型;
读取类型的方法可以是:取出该widget应用的名称标识符,利用哈希算法为名称标示符生成唯一数字标识序列,该数字标识序列即为该widget应用的类型。如果不能在配置文件中找到该widget应用的名称标识符,则可用该widget应用所在的文件夹名字作为widget名字标识符。
步骤103,widget引擎为该widget应用实例的生成索引;
例如,当前实例如果是该widget应用的第一个实例,则索引号为1,如果当前实例是该widget应用的第二个实例,则索引号可以为2。或者为每个widget应用生成一个索引号表,在表中找到最大的索引号,加一后作为新实例的索引号,如果找不到索引号,则索引号为1。
步骤104,Widget引擎生成该widget应用实例,并将步骤102读取的类型和步骤103生成的索引号绑定到该实例,所述类型和索引号共同作为该实例的标识,同时Widget引擎将该widget实例的标识存入创建好的widget实例数据表中;
实例的标识可以是类型号和索引号的简单组合,也可以是经过一定算法计算后生成的对象。widget引擎通过每个widget实例的标示号来区分同一个widget应用的多个widget实例。
该widget实例数据表可以是在widget引擎启动时生成的,也可以是在第一个widget应用的第一实例启动前生成的。该表中至少包括标识号和标识值,其中,标示值用于存储与标识号对应的widget实例的配置数据,包括运行期参数和私有配置数据,除此之外,为了查询方便,还可以保存有widget实例的索引号和类型。
可以针对一个widget应用生成一个widget实例数据表,也可以所有widget应用的所有widget实例共享一个widget实例数据表。
步骤105,启动并在终端屏幕上显示在步骤104生成的widget应用实例。
启动的过程包括读取并加载该widget应用实例私有配置信息的流程。可根据类型号从widget实例数据表中查找。
优选地,在启动前,widget引擎根据该widget应用实例的类型,从widget实例数据表中查找该widget应用的历史数据,包括运行期参数和私有配置数据,并加载该些数据,例如,可以将widget应用实例恢复成上次关闭前的状态,如窗口大小和窗口位置等,另外,也可以不限于是最后关闭的一个widget实例,而是在每个widget实例关闭时将该实例的数据保存为历史数据,具体参见实施例2。
通过在widget实例数据表做标记来区分历史数据,或者单独生成一个历史数据表专门用于存放历史数据。
至此,启动实例的过程结束。
实施例2
本实施例描述widget引擎关闭widget应用实例的流程,如图2所示,包括以下步骤:
步骤201,widget引擎接收到用户发出的关闭某widget应用实例的命令;
步骤202,widget引擎将该widget应用实例的运行期参数和私有配置数据等数据作为历史数据保存;
如果设置仅将一个widget实例的数据保存为历史数据,则可在每次关闭widget实例时,将该widget实例的数据作为历史数据保存,在相同widget应用的其他widget实例关闭时,将该其他widget实例的数据作为历史数据覆盖之前的历史数据。
如果设置多个widget实例的数据均保存为历史数据时,则需要分别保存。
步骤203,将该widget应用实例的标识和标识值保存到历史数据表中,或者直接在widget实例数据表中标记该widget实例为历史数据;
步骤204,关闭该widget应用实例,结束。
本步骤中,关闭后,该widget应用实例的运行期参数和私有配置数据可以被删除。
实施例3
本实施例描述widget引擎卸载widget应用的流程,如图3所示,包括以下步骤:
步骤301,widget引擎收到用户发出的卸载某widget应用的命令;
步骤302,widget引擎判断该widget应用是否有实例在运行,如果有,则关闭所有实例,执行步骤303,如果没有,则直接执行步骤303;
步骤303,widget引擎删除widget实例数据表中与该widget应用类型相关的所有数据,即删除该widget应用所有实例的所有数据。
如果还生成过其他表,则相应表格中的数据也需要删除。
实施例4
本实施例描述一种widget实例运行系统,包括创建表子系统、标识生成子系统和保存子系统,其中:
所述创建表子系统,用于为widget应用创建widget实例数据表;
所述标识生成子系统,用于在widget应用的每个实例启动时,为当前实例生成唯一的标识信息;
所述保存子系统,用于将所述标识信息保存在所述widget实例数据表中,以及将当前实例运行过程中生成的配置数据保存在所述widget实例数据表中与所述标识信息对应的表项中。
优选地,保存子系统,还用于在某个widget应用的最后n个实例被关闭时,n为≥1的整数,将该实例的配置数据保存为该widget应用的历史数据;所述系统还包括加载子系统,其用于在所述widget应用再次启动时,读取所述widget应用的历史数据并加载。
优选地,所述系统还包括删除子系统,其用于在widget实例关闭时,从widget实例数据表中删除该实例的配置数据。
优选地,所述标识生成子系统,用于在widget应用的每个实例启动时,为当前实例生成索引,根据该widget应用的类型以及该当前实例的索引生成唯一标识当前实例的标识信息。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种widget实例运行方法,包括:
为widget应用创建widget实例数据表,在widget应用的每个实例启动时,为当前实例生成唯一的标识信息,将所述标识信息保存在所述widget实例数据表中,将当前实例运行过程中生成的配置数据保存在所述widget实例数据表中与所述标识信息对应的表项中;
所述为当前实例生成唯一的标识信息的步骤包括:为当前实例生成索引,根据该widget应用的类型以及该当前实例的索引生成唯一标识当前实例的标识信息。
2.如权利要求1所述的方法,其特征在于,
当某个widget应用的实例被关闭时,从widget实例数据表中删除该实例的配置数据。
3.如权利要求1所述的方法,其特征在于,
在某个widget应用的实例被关闭前,如果该实例为当前widget应用的最后n个实例,n为≥1的整数,则将该实例的配置数据保存为该widget应用的历史数据;
在所述widget应用再次启动时,读取所述widget应用的历史数据并加载。
4.如权利要求1或2或3所述的方法,其特征在于,
当终端状态发生变化时,将表示状态变化的信息发送给当前运行的widget应用的所有实例。
5.如权利要求1或2或3所述的方法,其特征在于,
所述配置数据包括运行期参数和私有配置数据,所述运行期参数包括以下参数的一种或多种:widget实例在屏幕的位置、widget实例窗口的尺寸、widget实例的状态。
6.一种widget实例运行系统,包括创建表子系统、标识生成子系统和保存子系统,其中:
所述创建表子系统,用于为widget应用创建widget实例数据表;
所述标识生成子系统,用于在widget应用的每个实例启动时,为当前实例生成唯一的标识信息;
所述标识生成子系统用于在widget应用的每个实例启动时为当前实例生成唯一的标识信息是指:为当前实例生成索引,根据该widget应用的类型以及该当前实例的索引生成唯一标识当前实例的标识信息;
所述保存子系统,用于将所述标识信息保存在所述widget实例数据表中,以及将当前实例运行过程中生成的配置数据保存在所述widget实例数据表中与所述标识信息对应的表项中。
7.如权利要求6所述的系统,其特征在于,
所述保存子系统,还用于在某个widget应用的最后n个实例被关闭时,n为≥1的整数,将该实例的配置数据保存为该widget应用的历史数据;
所述系统还包括加载子系统,其用于在所述widget应用再次启动时,读取所述widget应用的历史数据并加载。
8.如权利要求6所述的系统,其特征在于,
所述系统还包括删除子系统,其用于在widget实例关闭时,从widget实例数据表中删除该实例的配置数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010538231.XA CN101986662B (zh) | 2010-11-09 | 2010-11-09 | 一种widget实例运行方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010538231.XA CN101986662B (zh) | 2010-11-09 | 2010-11-09 | 一种widget实例运行方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101986662A CN101986662A (zh) | 2011-03-16 |
CN101986662B true CN101986662B (zh) | 2014-11-05 |
Family
ID=43710965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010538231.XA Active CN101986662B (zh) | 2010-11-09 | 2010-11-09 | 一种widget实例运行方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101986662B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103135971A (zh) * | 2011-11-28 | 2013-06-05 | 联想(北京)有限公司 | 显示方法和电子设备 |
CN102591659A (zh) * | 2011-12-28 | 2012-07-18 | 中标软件有限公司 | 一种移动终端主界面上的微件实现方法及其管理方法 |
CN104035791B (zh) * | 2014-05-08 | 2018-07-27 | Tcl集团股份有限公司 | 一种应用程序的启动方法、关闭方法和智能终端 |
CN104965697A (zh) * | 2015-05-29 | 2015-10-07 | 深圳市金立通信设备有限公司 | 一种窗口显示方法及终端 |
CN112130932B (zh) * | 2020-09-29 | 2023-10-27 | 珠海海鸟科技有限公司 | 一种单实例运行的方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1396789A2 (en) * | 2002-09-05 | 2004-03-10 | Hitachi, Ltd. | Information processing system having data migration device |
CN101430652A (zh) * | 2007-11-08 | 2009-05-13 | 国际商业机器公司 | 片内网络以及片内网络软件流水线操作方法 |
CN101763255A (zh) * | 2008-12-23 | 2010-06-30 | 中国移动通信集团公司 | 一种专用界面工具的格式转换方法及装置 |
-
2010
- 2010-11-09 CN CN201010538231.XA patent/CN101986662B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1396789A2 (en) * | 2002-09-05 | 2004-03-10 | Hitachi, Ltd. | Information processing system having data migration device |
CN101430652A (zh) * | 2007-11-08 | 2009-05-13 | 国际商业机器公司 | 片内网络以及片内网络软件流水线操作方法 |
CN101763255A (zh) * | 2008-12-23 | 2010-06-30 | 中国移动通信集团公司 | 一种专用界面工具的格式转换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101986662A (zh) | 2011-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598667B (zh) | 用于修复内核漏洞的方法和装置 | |
CN107832100B (zh) | 一种apk插件的加载方法及其终端 | |
CN110019081A (zh) | 数据持久化处理方法、装置、系统及可读存储介质 | |
CN102193807B (zh) | 一种镜像文件升级的方法、服务器及计算机网络系统 | |
US20120101988A1 (en) | Method for Managing Application Information Implemented by a Mobile Phone and Application Manager | |
US20110179149A1 (en) | Roaming application settings across multiple computing devices | |
CN105760199B (zh) | 一种应用资源加载方法及其设备 | |
CN101986662B (zh) | 一种widget实例运行方法及系统 | |
CN103559065B (zh) | 一种ota升级的方法和系统 | |
CN103577567A (zh) | 一种Android系统卸载应用删除垃圾文件的方法 | |
CN104915268A (zh) | 桌面布局的存储、恢复方法及其装置、终端设备、系统 | |
KR20140025523A (ko) | 애플리케이션 데이터를 저장하는 방법 및 단말 기기 | |
WO2015117426A1 (zh) | 文件管理方法及装置 | |
US20140237024A1 (en) | Network communication devices and file tracking methods thereof | |
CN106708825B (zh) | 一种数据文件处理方法及系统 | |
WO2011117465A1 (en) | Method and apparatus for portable index on a removable storage medium | |
US20130325932A1 (en) | Electronic device and method for storing distributed documents | |
CN105450759A (zh) | 一种系统镜像的管理方法和装置 | |
CN114185491B (zh) | 一种分区文件的下载方法、装置、存储介质及计算机设备 | |
WO2020206691A1 (zh) | 应用程序的处理方法、装置、存储介质及电子设备 | |
CN103379476A (zh) | 终端和联系人信息更新方法 | |
CN102708197A (zh) | 一种多媒体文件管理方法及装置 | |
CN104679900A (zh) | 一种应用程序搜索方法及装置 | |
CN102193806B (zh) | 更新动画的方法和装置 | |
US20100125646A1 (en) | System For Enabling Host-Independent Software Portability Of A Self-Contained Device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |