本公开涉及移动通信技术领域,特别涉及一种应用程序更新方法及装置。
背景技术:
近年来,以平板电脑、智能手机为代表的终端设备,从购买时起便安装有各种基于终端设备的操作系统运行的应用程序。在后续使用的过程中,许多应用程序为了达到增加新功能、修正缺陷或提升安全性的目的,会频繁进行应用程序更新,也即将旧版本的应用程序更新为新版本的应用程序,以便为用户提供更好地服务。
相关技术中,当应用程序需要更新时,终端设备所连接的服务器向终端提供可以下载更新安装包的指定页面,终端获取指定页面并生成更新提示,使得更新提示中携带有该指定页面,并向用户展示更新提示,以使用户去往更新提示携带的指定页面中确认更新应用程序。当用户在指定页面确认更新应用程序后,终端从服务器中下载相应的安装包,基于旧版本的应用程序,将该安装包进行安装,完成对应用程序的更新。
技术实现要素:
为克服相关技术中存在的问题,本公开提供一种应用程序更新方法及装置。
根据本公开实施例的第一方面,提供一种应用程序更新方法,所述方法包括:
基于待更新的第一页面的页面标识,在服务器中获取所述页面标识对应的第二页面的第二页面信息;
若所述第一页面信息与所述第二页面信息不一致,则基于所述第二页面信息,下载所述第二页面的页面数据;
加载所述第二页面的页面数据,以完成所述应用程序更新。
本公开实施例提供的方法,获取与第一页面对应的第二页面,基于第二页面判断第一页面是否存在更新,若第一页面存在更新,则下载并加载第二页面的页面数据,完成应用程序的更新,使得用户无需手动进行下载即可完成应用程序的更新,节省了大量的人力和物力,智能性较优。
在另一个实施例中,所述基于所述第二页面信息,下载所述第二页面的页面数据包括:
将所述第二页面信息进行封装,得到第一更新模块;
基于所述第一页面信息中的当前版本号,确定所述第一更新模块的第一版本号;
基于所述第一版本号,下载与所述第一版本号匹配的第二更新模块;
将所述第二更新模块进行解压,得到所述第二页面的页面数据。
本公开实施例提供的方法,通过将第二页面信息封装,得到第一更新模块,并基于第一页面信息的当前版本号,确定第一更新模块的第一版本号,基于第一版本号下载第二更新模块,使得下载的第二更新模块满足第一版本号的要求。
在另一个实施例中,所述基于所述第一版本号,下载与所述第一版本号匹配的第二更新模块包括:
将所述第一更新模块的第一版本号与服务器中至少一个第二更新模块的第二版本号进行比对;
下载第二版本号高于所述第一版本号的第二更新模块。
本公开实施例提供的方法,通过获取服务器中至少一个第二更新模块的第二版本号,获取第二版本号高于第一版本号的第二更新模块,保证下载的第二更新模块的版本高于第一更新模块,保证了应用程序更新的成功率。
在另一个实施例中,所述将所述第二更新模块进行解压,得到所述第二页面的页面数据之前,所述方法还包括:
下载所述第一更新模块的配置信息,所述配置信息至少包括用于校验所述第二更新模块是否正确的第一校验信息;
将所述配置信息中的第一校验信息与所述第二更新模块中的第二校验信息进行比对,判断所述第一校验信息与所述第二校验信息是否一致,所述第二校验信息为已下载的第二更新模块的校验信息;
若所述第一校验信息与所述第二校验信息一致,则执行解压所述第二更新模块得到所述第二页面的页面数据的步骤。
本公开实施例提供的方法,通过下载第一更新模块的配置信息,将第一更新模块的配置信息中的第一校验信息与第二更新模块的第二校验信息进行比对,确定下载的第二更新模块是否正确,保证正确更新应用程序。
在另一个实施例中,所述基于所述第一版本号,下载与所述第一版本号匹配的第二更新模块之后,所述方法还包括:
当所述第二更新模块开始下载,则启动对所述第二更新模块的下载监听;
当监听到所述第二更新模块下载完成时,执行解压所述第二更新模块得到所述第二页面的页面数据的步骤。
本公开实施例提供的方法,通过对第二更新模块进行下载监听,使得当监听到第二更新模块下载完成后,即可执行解压第二更新模块得到第二页面的页面数据的步骤,提高了应用程序更新的更新效率。
根据本公开实施例的第二方面,提供一种应用程序更新装置,所述装置包括:
获取模块,被配置为基于待更新的第一页面的页面标识,在服务器中获取所述页面标识对应的第二页面的第二页面信息;
下载模块,被配置为若所述第一页面信息与所述第二页面信息不一致,则基于所述第二页面信息,下载所述第二页面的页面数据;
加载模块,被配置为加载所述第二页面的页面数据,以完成所述应用程序更新。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过获取与第一页面对应的第二页面,基于第二页面判断第一页面是否存在更新,若第一页面存在更新,则下载并加载第二页面的页面数据,完成应用程序的更新,使得用户无需手动进行下载即可完成应用程序的更新,节省了大量的人力和物力,智能性较优。
在另一个实施例中,所述下载模块包括:
封装子模块,被配置为将所述第二页面信息进行封装,得到第一更新模块;
确定子模块,被配置为基于所述第一页面信息中的当前版本号,确定所述第一更新模块的第一版本号;
下载子模块,被配置为基于所述确定子模块确定的所述第一版本号,下载与所述第一版本号匹配的第二更新模块;
解压子模块,被配置为将所述第二更新模块进行解压,得到所述第二页面的页面数据。
在另一个实施例中,所述下载子模块,被配置为将所述第一更新模块的第一版本号与服务器中至少一个第二更新模块的第二版本号进行比对;下载第二版本号高于所述第一版本号的第二更新模块。
在另一个实施例中,所述下载模块还包括:
所述下载子模块,还被配置为下载所述第一更新模块的配置信息,所述配置信息至少包括用于校验所述第二更新模块是否正确的第一校验信息;
比对子模块,被配置为将所述配置信息中的第一校验信息与所述第二更新模块中的第二校验信息进行比对,判断所述第一校验信息与所述第二校验信息是否一致,所述第二校验信息为已下载的第二更新模块的校验信息;
所述解压子模块,还被配置为若所述比对子模块确定所述第一校验信息与所述第二校验信息一致,则执行解压所述第二更新模块得到所述第二页面的页面数据的步骤。
在另一个实施例中,所述下载模块还包括:
监听子模块,被配置为当所述第二更新模块开始下载,则启动对所述第二更新模块的下载监听;
所述下载子模块,还被配置为当所述监听子模块监听到所述第二更新模块下载完成时,执行解压所述第二更新模块得到所述第二页面的页面数据的步骤。
根据本公开实施例的第三方面,提供一种应用程序更新装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:基于待更新的第一页面的页面标识,在服务器中获取所述页面标识对应的第二页面的第二页面信息;若所述第一页面信息与所述第二页面信息不一致,则基于所述第二页面信息,下载所述第二页面的页面数据;加载所述第二页面的页面数据,以完成所述应用程序更新。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种应用程序更新方法的流程图。
图2a是根据一示例性实施例示出的一种应用程序更新方法的流程图。
图2b是根据一示例性实施例示出的一种应用程序更新方法的示意图。
图2c是根据一示例性实施例示出的一种应用程序更新方法的示意图。
图2d是根据一示例性实施例示出的一种应用程序更新方法的示意图。
图3a是根据一示例性实施例示出的一种应用程序更新装置的框图。
图3b是根据一示例性实施例示出的一种应用程序更新装置的框图。
图3c是根据一示例性实施例示出的一种应用程序更新装置的框图。
图3d是根据一示例性实施例示出的一种应用程序更新装置的框图。
图4是根据一示例性实施例示出的一种应用程序更新装置400的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种应用程序更新方法的流程图,如图1所示,该方法包括以下步骤:
在步骤101中,基于待更新的第一页面的页面标识,在服务器中获取页面标识对应的第二页面的第二页面信息。
在步骤102中,若第一页面信息与第二页面信息不一致,则基于第二页面信息,下载第二页面的页面数据。
在步骤103中,加载第二页面的页面数据,以完成应用程序更新。
本公开实施例提供的方法,通过获取与第一页面对应的第二页面,基于第二页面判断第一页面是否存在更新,若第一页面存在更新,则下载并加载第二页面的页面数据,完成应用程序的更新,使得用户无需手动进行下载即可完成应用程序的更新,节省了大量的人力和物力,智能性较优。
在另一个实施例中,基于第二页面信息,下载第二页面的页面数据包括:
将第二页面信息进行封装,得到第一更新模块;
基于第一页面信息中的当前版本号,确定第一更新模块的第一版本号;
基于第一版本号,下载与第一版本号匹配的第二更新模块;
将第二更新模块进行解压,得到第二页面的页面数据。
在另一个实施例中,基于第一版本号,下载与第一版本号匹配的第二更新模块包括:
将第一更新模块的第一版本号与服务器中至少一个第二更新模块的第二版本号进行比对;
下载第二版本号高于第一版本号的第二更新模块。
在另一个实施例中,将第二更新模块进行解压,得到第二页面的页面数据之前,方法还包括:
下载第一更新模块的配置信息,配置信息至少包括用于校验第二更新模块是否正确的第一校验信息;
将配置信息中的第一校验信息与第二更新模块中的第二校验信息进行比对,判断第一校验信息与第二校验信息是否一致,第二校验信息为已下载的第二更新模块的校验信息;
若第一校验信息与第二校验信息一致,则执行解压第二更新模块得到第二页面的页面数据的步骤。
在另一个实施例中,基于第一版本号,下载与第一版本号匹配的第二更新模块之后,方法还包括:
当第二更新模块开始下载,则启动对第二更新模块的下载监听;
当监听到第二更新模块下载完成时,执行解压第二更新模块得到第二页面的页面数据的步骤。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图2a是根据一示例性实施例示出的一种应用程序更新方法的流程图,如图2a所示,该方法包括以下步骤:
在步骤201中,基于待更新的第一页面的页面标识,在服务器中获取页面标识对应的第二页面的第二页面信息。
为了增加新功能、修正缺陷或提升安全性,应用程序会频繁进行更新。当应用程序需要进行更新时,新版的应用程序与旧版的应用程序中的页面会存在不同,因此,在更新时可以仅更新这些不同的页面,以降低更新时的数据传输量。而在确定待更新的第一页面时,可以根据应用程序各个页面的页面标识等进行确定,例如,检测各个页面的页面标识是否具有更新标识,如果服务器侧某个页面标识具有更新标识,则确定该页面为第一页面。当然,还可以利用如时间戳等信息来进行标胶,例如,对于各个页面的页面标识,检测服务器上存储的页面标识的时间戳以及该页面标识在终端侧的时间戳,如果服务器侧的时间戳晚于终端侧的时间戳,则可以确定该页面为第一页面。其中,页面标识可以为第一页面的页面名称、页面标签等。在确定了待更新的第一页面后,可以根据当前已经下载的应用程序中的第一页面的页面标识,可以在服务器中获取服务器当前所存储版本的应用程序中的第二页面的第二页面信息。其中,第二页面信息可为第二页面的页面地址url(uniformresourcelocator,统一资源定位符)等。
需要说明的是,该确定第一页面的过程可以在应用程序启动时进行,一旦应用程序启动,则可以查询该应用程序的版本号等来确定应用程序是否存在更新,进一步地可以确定应用程序中哪个页面是第一页面。当然,该确定第一页面的过程还可以在应用程序启动任一个页面时基于该被启动的页面进行,例如,当应用程序启动页面a时,将页面a的页面标识和应用程序的应用标识发送至服务器,由服务器确定该应用程序的页面a是否为第一页面,本实施例对具体采取哪种方式进行第一页面的确定不做限定。
对于一个应用程序,其自身包括至少一个页面,至少一个页面均具有与其对应的第一页面信息,因此,在服务器中存储有与至少一个页面对应的第二页面信息。当管理员对应用程序进行更新或是服务器检测到更新的应用程序时,服务器可以将旧版本的应用程序的页面信息删除,将新版本的应用程序的页面信息与应用程序的新版本号对应存储,当然,对应于上述第一页面的确认方式,服务器还可以将新旧版本之间进行对比,以便确定哪个页面发生了更新,从而将发生了更新的页面标识中添加更新标识,以便进行基于更新标识的第一页面确定,还可以将更新了的页面标识中添加更新时间戳,以便进行基于时间戳的第一页面确定。
在步骤202中,判断第二页面信息与第一页面的第一页面信息是否一致,若第二页面信息与第一页面信息一致,则执行下述步骤203;若第二页面信息与第一页面信息不一致,则执行下述步骤204。
在本公开实施例中,若确定第二页面信息与第一页面信息一致,则代表当前页面不存在更新,因此可以不再继续执行下述步骤204至步骤210,直接执行下述步骤203即可;若确定第二页面信息与第一页面信息不一致,则代表当前页面存在更新,这样便需要将应用程序中的待更新的第一页面进行更新,也即执行下述步骤204至步骤210。
在判断第二页面信息与第一页面信息是否一致时,应用程序根据自身的应用标识,在服务器中获取其存储的第二页面信息,将第二页面信息与自身当前的第一页面信息进行比对。
例如,对于应用程序a,其包括页面1、页面2、页面3和页面4,若页面1当前的第一页面信息为www.wer.1,在服务器中获取到的页面1的第二页面信息为www.wer.2;页面2当前的第一页面信息为www.wet.1,在服务器中获取到的页面2的第二页面信息为www.wet.1;页面3当前的第一页面信息为www.wey.1,在服务器中获取到的页面3的第二页面信息为www.wey.1;页面4当前的第一页面信息为www.weu.1,在服务器中获取到的页面4的第二页面信息为www.weu.2,则页面1和页面4的第一页面信息与第二页面信息不同,表示对于应用程序a,其包括的页面1和页面4存在更新。
在步骤203中,若第二页面信息与第一页面信息一致,则将应用程序保持在当前版本,结束。
在本公开实施例中,对于一个应用程序,若其包括的全部页面的第二页面信息与第一页面信息均一致,则代表当前的应用程序不存在更新,将应用程序保持在当前版本,结束即可。
在步骤204中,若第二页面信息与第一页面信息不一致,则将第二页面信息进行封装,得到第一更新模块。
在本公开实施例中,为了避免在后续下载第二页面的页面数据时出现不匹配或下载错误的情况,因此可将第二页面信息进行封装,封装为第一更新模块,并基于第一更新模块下载第二页面的页面数据。其中,第一更新模块中包括如图2b所示的manifest文件,在manifest文件中,module(模块)表示了应用程序更新需要下载的第二更新模块,由于服务器中存储的第二页面信息具有与其对应的版本号,因此第二更新模块也具有与其对应的版本号,且第二页面信息的版本号与和其匹配的第二更新模块的版本号一致。由于对于当前版本的应用程序,其可能很久未进行更新,进而错过多个版本的应用程序,因此应用程序在更新时需要先更新至下一版本,依次类推,直至更新至当前最新版本的应用程序,因此manifest文件中便设置有minlevel属性,表示应用程序在更新时可以下载的高于应用程序当前的版本号的最低版本号。例如,对于应用程序a,当前版本为3.1,服务器中存储有版本号分别为3.2、3.3和3.4的第二更新模块,则在应用程序a的第一更新模块的manifest文件中,minlevel属性需设置为3.2。
由于应用程序中待更新的第一页面可以为一个或多个,因此与第一页面匹配的第二页面的第二页面信息也可为一个或多个。这样,在将第二页面信息进行封装时,可以一个第二页面信息封装为一个第一更新模块,得到多个第一更新模块;也可以将与应用程序中多个待更新的第一页面匹配的多个第二页面信息封装在一个第一更新模块中。
在步骤205中,基于第一页面信息中的当前版本号,确定第一更新模块的第一版本号。
在本公开实施例中,应用程序的当前版本号即为第一页面信息的当前版本号,这样在确定第一更新模块的版本号时当前版本号也即为第一版本号。
在步骤206中,将第一更新模块的第一版本号与服务器中至少一个第二更新模块的第二版本号进行比对,下载第二版本号高于第一版本号的第二更新模块。
在本公开实施例中,对于当前版本的应用程序,服务器中可能存储有至少一个第二更新模块,则应用程序需要将第一更新模块的第一版本号与至少一个第二更新模块的第二版本号进行比对,获取第二版本号高于第一版本号的第二更新模块进行下载,保证下载的第二更新模块中存在应用程序的更新内容。其中,第二更新模块中包括如图2c所示的manifest文件,在manifest文件中,name代表了第二更新模块的模块名称,modulecontent属性为模块中包括的内容,dex代表第二更新模块中包括java代码;res代表第二更新模块中包括页面资源;lib代表第二更新模块中包括native代码。
为了保证应用程序更新的效率,使得第二更新模块下载完成后即可执行下述在步骤207,因此可在应用程序中执行下述步骤一和步骤二,设置对第二更新模块的下载监听。
步骤一、当第二更新模块开始下载,则启动对第二更新模块的下载监听。
其中,在启动对第二更新模块的下载监听时,应用程序可以基于图2d所示的代码向服务器传入回调接口。当服务器检测到第二更新模块下载完毕后,便通过回调接口向应用程序发送完成消息,则应用程序可继续执行下述步骤二。
步骤二、当监听到第二更新模块下载完成时,执行下述步骤207。
在步骤207中,下载第一更新模块的配置信息,将配置信息中的第一校验信息与第二更新模块中的第二校验信息进行比对,判断第一校验信息与第二校验信息是否一致,若第一校验信息与第二校验信息不一致,则执行下述步骤208;若第一校验信息与第二校验信息一致,则执行下述步骤209。
在下载时,可以根据第一更新模块的模块名称进行下载,需要说明的是,在对第一更新模块进行封装时,可以获取该第一更新模块的模块标识,从而在后续下载时可以基于模块标识进行下载。该模块标识可以为模块名称或其他用于唯一标识该模块的信息。
在本公开实施例中,配置信息至少包括用于校验第二更新模块是否正确的第一校验信息,第一校验信息中包括第二更新模块的下载地址、md5(messagedigestalgorithm,消息摘要算法第五版)值和应用程序签名;第二校验信息为已下载的第二更新模块的校验信息,第二校验信息中也包括第二更新模块的下载地址、md5值和应用程序签名。
为了保证下载的第二更新模块与第一更新模块匹配且正确无误,需要将配置信息中的第一校验信息与第二更新模块中包括的第二校验信息进行比对,若第一校验信息与第二校验信息完全一致,才可以继续进行步骤209和步骤210;若第一校验信息与第二校验信息存在差异,则执行下述步骤207。在将第一校验信息与第二校验信息进行比对时,将第一校验信息中包括的第二更新模块的下载地址与第二校验信息中包括的第二更新模块的下载地址进行比对,若第一校验信息中包括的第二更新模块的下载地址与第二校验信息中包括的第二更新模块的下载地址不一致,则可确定下载的第二更新模块与第一更新模块不匹配或发生错误,也即直接执行下述步骤208;若第一校验信息中包括的第二更新模块的下载地址与第二校验信息中包括的第二更新模块的下载地址一致,则将第一校验信息中包括的md5值与第二校验信息中包括的md5值进行比对,若第一校验信息中包括的md5值与第二校验信息中包括的md5值不一致,则可确定下载的第二更新模块与第一更新模块不匹配或发生错误,也即直接执行下述步骤208;若第一校验信息中包括的md5值与第二校验信息中包括的md5值一致,则将第一校验信息中包括的应用程序签名与第二校验信息中包括的应用程序签名进行比对,若第一校验信息中包括的应用程序签名与第二校验信息中包括的应用程序签名不一致,则可确定下载的第二更新模块与第一更新模块不匹配或发生错误,也即直接执行下述步骤208;若第一校验信息中包括的应用程序签名与第二校验信息中包括的应用程序签名一致,则确定下载的第二更新模块正确无误,可执行下述步骤209和步骤210。
在步骤208中,若第一校验信息与第二校验信息不一致,则将第二更新模块丢弃,并重新执行上述步骤201至步骤207。
在本公开实施例中,若第一校验信息与第二校验信息存在差异,则表示下载的第二更新模块可能与第一更新模块不匹配或者下载时发生错误,因此需要重新确定第二页面信息,并重新下载第二更新模块,也即再次执行上述步骤201至步骤207。
在步骤209中,若第一校验信息与第二校验信息一致,则将第二更新模块进行解压,得到第二页面的页面数据。
在本公开实施例中,若第一校验信息与第二校验信息一致,则表示下载的第二更新模块与第一更新模块匹配且正确无误,则对第二更新模块进行解压,得到第二页面的页面数据。其中,页面数据为显示第二页面所依赖的页面代码、页面资源。
在步骤210中,加载第二页面的页面数据,以完成应用程序更新。
在本公开实施例中,由于第二更新模块中包括manifest文件,则通过manifest文件的modulecontent属性可以加载第二页面的页面数据,也即通过dex加载第二页面的java代码;通过res加载第二页面的页面资源;通过lib加载第二页面的native代码;当加载完毕后,则应用程序完成更新,这样当用户下次打开应用程序显示页面时,应用程序便显示基于第二更新模块加载的第二页面的页面数据,保证显示给用户的页面为当前的最新页面。
本公开实施例提供的方法,获取与第一页面对应的第二页面,基于第二页面判断第一页面是否存在更新,若第一页面存在更新,则下载并加载第二页面的页面数据,完成应用程序的更新,使得用户无需手动进行下载即可完成应用程序的更新,节省了大量的人力和物力,智能性较优。
在另一个实施例中,通过将第二页面信息封装,得到第一更新模块,并基于第一页面信息的当前版本号,确定第一更新模块的第一版本号,基于第一版本号下载第二更新模块,使得下载的第二更新模块满足第一版本号的要求。
在另一个实施例中,通过获取服务器中至少一个第二更新模块的第二版本号,获取第二版本号高于第一版本号的第二更新模块,保证下载的第二更新模块的版本高于第一更新模块,保证了应用程序更新的成功率。
在另一个实施例中,通过下载第一更新模块的配置信息,将第一更新模块的配置信息中的第一校验信息与第二更新模块的第二校验信息进行比对,确定下载的第二更新模块是否正确,保证正确更新应用程序。
在另一个实施例中,通过对第二更新模块进行下载监听,使得当监听到第二更新模块下载完成后,即可执行解压第二更新模块得到第二页面的页面数据的步骤,提高了应用程序更新的更新效率。
图3a是根据一示例性实施例示出的一种应用程序更新装置的框图。参照图3a,该装置包括获取模块301,下载模块302和加载模块303。
该获取模块301,被配置为基于待更新的第一页面的页面标识,在服务器中获取页面标识对应的第二页面的第二页面信息。
该下载模块302,被配置为若第一页面信息与第二页面信息不一致,则基于第二页面信息,下载第二页面的页面数据。
该加载模块303,被配置为加载第二页面的页面数据,以完成应用程序更新。
本公开实施例提供的装置,获取与第一页面对应的第二页面,基于第二页面判断第一页面是否存在更新,若第一页面存在更新,则下载并加载第二页面的页面数据,完成应用程序的更新,使得用户无需手动进行下载即可完成应用程序的更新,节省了大量的人力和物力,智能性较优。
在另一个实施例中,参见图3b,该下载模块302包括封装子模块3021,确定子模块3022,下载子模块3023和解压子模块3024。
该封装子模块3021,被配置为将第二页面信息进行封装,得到第一更新模块;
该确定子模块3022,被配置为基于第一页面信息中的当前版本号,确定第一更新模块的第一版本号;
该下载子模块3023,被配置为基于确定子模块确定的第一版本号,下载与第一版本号匹配的第二更新模块;
该解压子模块3024,被配置为将第二更新模块进行解压,得到第二页面的页面数据。
在另一个实施例中,该下载子模块3023,被配置为将第一更新模块的第一版本号与服务器中至少一个第二更新模块的第二版本号进行比对;下载第二版本号高于第一版本号的第二更新模块。
在另一个实施例中,参见图3c,该下载模块302还包括比对子模块3025。
该下载子模块3023,还被配置为下载第一更新模块的配置信息,配置信息至少包括用于校验第二更新模块是否正确的第一校验信息;
该比对子模块3025,被配置为将配置信息中的第一校验信息与第二更新模块中的第二校验信息进行比对,判断第一校验信息与第二校验信息是否一致,第二校验信息为已下载的第二更新模块的校验信息;
该解压子模块3024,还被配置为若比对子模块确定第一校验信息与第二校验信息一致,则执行解压第二更新模块得到第二页面的页面数据的步骤。
在另一个实施例中,参见图3d,该下载模块302还包括监听子模块3026。
该监听子模块3026,被配置为当第二更新模块开始下载,则启动对第二更新模块的下载监听;
该下载子模块3023,还被配置为当监听子模块监听到第二更新模块下载完成时,执行解压第二更新模块得到第二页面的页面数据的步骤。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种应用程序更新装置400的框图。例如,装置400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,装置400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,i/o(input/output,输入/输出)的接口412,传感器组件414,以及通信组件416。
处理组件402通常控制装置400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在装置400的操作。这些数据的示例包括用于在装置400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如sram(staticrandomaccessmemory,静态随机存取存储器),eeprom(electrically-erasableprogrammableread-onlymemory,电可擦除可编程只读存储器),eprom(erasableprogrammablereadonlymemory,可擦除可编程只读存储器),prom(programmableread-onlymemory,可编程只读存储器),rom(read-onlymemory,只读存储器),磁存储器,快闪存储器,磁盘或光盘。
电源组件406为装置400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为装置400生成、管理和分配电力相关联的组件。
多媒体组件408包括在所述装置400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括lcd(liquidcrystaldisplay,液晶显示器)和tp(touchpanel,触摸面板)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当装置400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个mic(microphone,麦克风),当装置400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
i/o接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为装置400提供各个方面的状态评估。例如,传感器组件414可以检测到设备400的打开/关闭状态,组件的相对定位,例如组件为装置400的显示器和小键盘,传感器组件414还可以检测装置400或装置400一个组件的位置改变,用户与装置400接触的存在或不存在,装置400方位或加速/减速和装置400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如cmos(complementarymetaloxidesemiconductor,互补金属氧化物)或ccd(charge-coupleddevice,电荷耦合元件)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件416被配置为便于装置400和其他设备之间有线或无线方式的通信。装置400可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括nfc(nearfieldcommunication,近场通信)模块,以促进短程通信。例如,在nfc模块可基于rfid(radiofrequencyidentification,射频识别)技术,irda(infra-reddataassociation,红外数据协会)技术,uwb(ultrawideband,超宽带)技术,bt(bluetooth,蓝牙)技术和其他技术来实现。
在示例性实施例中,装置400可以被一个或多个asic(applicationspecificintegratedcircuit,应用专用集成电路)、dsp(digitalsignalprocessor,数字信号处理器)、dspd(digitalsignalprocessordevice,数字信号处理设备)、pld(programmablelogicdevice,可编程逻辑器件)、fpga)(fieldprogrammablegatearray,现场可编程门阵列)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述应用程序更新方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由装置400的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、ram(randomaccessmemory,随机存取存储器)、cd-rom(compactdiscread-onlymemory,光盘只读存储器)、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由应用程序更新装置的处理器执行时,使得应用程序更新装置能够执行上述应用程序更新方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。