一种应用程序的更新方法及装置制造方法

文档序号:6626579阅读:280来源:国知局
一种应用程序的更新方法及装置制造方法
【专利摘要】本发明实施例公开一种应用程序的更新方法及装置,涉及移动互联网技术开发领域,能够方便地对应用程序的功能进行更新。所述应用程序的更新方法包括:启动应用程序;在所述应用程序启动后,自动获取所述应用程序的需要更新的功能组件;利用所述功能组件对所述应用程序进行自动更新。所述应用程序的更新装置包括:启动单元,用于启动应用程序;获取单元,用于在所述启动单元启动所述应用程序后,自动获取所述应用程序的需要更新的功能组件;更新单元,用于利用所述获取单元获取到的功能组件对所述应用程序进行自动更新。本发明适用于需要自动更新应用程序的功能的场合。
【专利说明】一种应用程序的更新方法及装置

【技术领域】
[0001] 本发明涉及移动互联网技术开发领域,尤其涉及一种应用程序的更新方法及装 置。

【背景技术】
[0002] 现在移动终端上的应用程序非常的多,人们在使用移动终端的时候,经常需要对 移动终端上的应用程序进行更新。目前用户若想在应用程序运行时更新应用程序的功能, 通常采取的方式是把某个功能独立成一个安装包,当该功能有新版本的安装包时会提示用 户是否安装该新版本的安装包,在用户选择安装该新版本的安装包后即对该新版本的安装 包进行下载安装。
[0003] 虽然上述方式可以实现应用程序的功能的更新,但是存在如下缺陷:在用户使用 应用程序的时候,如果用户选择安装新版本的安装包,那么会对该新版本的安装包进行下 载安装,从而打断用户现有的操作,导致很多用户不愿因安装新版本的安装包对自己现有 的操作造成影响而放弃安装新版本的安装包,正是因为此原因,使得对应用程序的功能的 更新比较不方便。


【发明内容】

[0004] 有鉴于此,本发明实施例提供一种应用程序的更新方法及装置,能够方便地对应 用程序的功能进行更新。
[0005] 为达到上述目的,本发明的实施例采用如下技术方案:
[0006] -方面,本发明实施例提供一种应用程序的更新方法,包括:
[0007] 启动应用程序;
[0008] 在所述应用程序启动后,自动获取所述应用程序的需要更新的功能组件;
[0009] 利用所述功能组件对所述应用程序进行自动更新。
[0010] 可选地,所述自动获取所述应用程序的需要更新的功能组件,包括:
[0011]自动将所述应用程序的名称和所述应用程序已有的功能组件的名称发送给服务 器;
[0012] 自动接收所述服务器发送的所述应用程序的具有新增功能的功能组件。
[0013] 可选地,所述自动获取所述应用程序的需要更新的功能组件,包括:
[0014] 自动将所述应用程序已有的功能组件的名称以及所述功能组件对应的版本号发 送给服务器;
[0015] 自动接收所述服务器发送的所述应用程序的具有最新版本号的功能组件。
[0016] 可选地,所述利用所述功能组件对所述应用程序进行自动更新,包括:
[0017] 在所述应用程序运行时,通过类加载器和反射机制来执行所述需要更新的功能组 件。
[0018] 可选地,所述通过类加载器和反射机制来执行所述需要更新的功能组件,包括:
[0019] 使用类加载器动态加载所述需要更新的功能组件中的类,并通过反射机制调用所 述类的方法来执行所述需要更新的功能组件。
[0020] 本发明实施例提供的应用程序的更新方法,在应用程序运行时通过自动获取应用 程序的需要更新的功能组件,并利用该功能组件对应用程序进行自动更新,因而能够方便 地对应用程序的功能进行更新。
[0021] 另一方面,本发明实施例提供一种应用程序的更新装置,包括:
[0022] 启动单元,用于启动应用程序;
[0023] 获取单元,用于在所述启动单元启动所述应用程序后,自动获取所述应用程序的 需要更新的功能组件;
[0024] 更新单元,用于利用所述获取单元获取到的功能组件对所述应用程序进行自动更 新。
[0025] 可选地,所述获取单元,包括:
[0026] 第一发送子单元,用于自动将所述应用程序的名称和所述应用程序已有的功能组 件的名称发送给服务器;
[0027] 第一接收子单元,用于自动接收所述服务器发送的所述应用程序的具有新增功能 的功能组件。
[0028] 可选地,所述获取单元,包括:
[0029] 第二发送子单元,用于自动将所述应用程序已有的功能组件的名称以及所述功能 组件对应的版本号发送给服务器;
[0030] 第二接收子单元,用于自动接收所述服务器发送的所述应用程序的具有最新版本 号的功能组件。
[0031] 可选地,所述更新单元,用于在所述应用程序运行时,通过类加载器和反射机制来 执行所述需要更新的功能组件。
[0032] 可选地,所述更新单元,用于使用类加载器动态加载所述需要更新的功能组件中 的类,并通过反射机制调用所述类的方法来执行所述需要更新的功能组件。
[0033] 本发明实施例提供的应用程序的更新装置,在应用程序运行时通过自动获取应用 程序的需要更新的功能组件,并利用该功能组件对应用程序进行自动更新,因而能够方便 地对应用程序的功能进行更新。

【专利附图】

【附图说明】
[0034] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其它的附图。
[0035] 图1为本发明应用程序的更新方法一实施例的流程示意图;
[0036] 图2为图1中S2 -实施例的流程示意图;
[0037] 图3为图1中S2另一实施例的流程示意图;
[0038] 图4为本发明应用程序的更新装置一实施例的方框结构示意图;
[0039] 图5为图4中获取单元一实施例的方框结构示意图;
[0040] 图6为图4中获取单元另一实施例的方框结构示意图。

【具体实施方式】
[0041] 下面结合附图对本发明实施例一种应用程序的更新方法及装置进行详细描述。
[0042] 应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基 于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其 它实施例,都属于本发明保护的范围。
[0043] 参看图1,本发明的实施例提供一种应用程序的更新方法,包括:
[0044] S1、启动应用程序;
[0045] S2、在所述应用程序启动后,自动获取所述应用程序的需要更新的功能组件;
[0046] S3、利用所述功能组件对所述应用程序进行自动更新。
[0047] 本发明实施例提供的应用程序的更新方法,在应用程序运行时通过自动获取应用 程序的需要更新的功能组件,并利用该功能组件对应用程序进行自动更新,因而能够方便 地对应用程序的功能进行更新。
[0048] 当开发者想要增加应用程序的功能的时候,只需要开发新增功能相关的功能组 件,将这些功能组件放置在服务器上进行发布即可。可选地,参看图2,在本发明应用程序的 更新方法的另一实施例中,所述自动获取所述应用程序的需要更新的功能组件(S2),可以 包括:
[0049] S20、自动将所述应用程序的名称和所述应用程序已有的功能组件的名称发送给 服务器;
[0050] S21、自动接收所述服务器发送的所述应用程序的具有新增功能的功能组件。
[0051] 本实施例中,比如,用户在已连接无线网络的手机上使用应用程序的时候,如果服 务器上有该应用程序的具有新增功能的功能组件,那么该具有新增功能的功能组件会自动 下载到用户手机的SD卡上。本实施例中通过获取应用程序的具有新增功能的功能组件,能 够便于使所述应用程序在原有功能的基础上增加所述具有新增功能的功能组件所具有的 功能,亦即实现所述应用程序已有功能的扩展。
[0052] 在应用程序运行时对所述应用程序的更新,除了利用应用程序开发者所发布的具 有新增功能的功能组件实现对所述应用程序的功能上的扩展外,本发明实施例中,还可利 用应用程序已有功能组件的最新版本来实现应用程序的已有功能的更新或完善。
[0053] 可选地,参看图3,在本发明应用程序的更新方法的另一实施例中,所述自动获取 所述应用程序的需要更新的功能组件(S2),可以包括:
[0054] S22、自动将所述应用程序已有的功能组件的名称以及所述功能组件对应的版本 号发送给服务器;
[0055] S23、自动接收所述服务器发送的所述应用程序的具有最新版本号的功能组件。
[0056] 本实施例中,当开发者想要更新或完善应用程序已实现的某个功能的时候,比如 当开发者发现应用程序在某个功能上存在设计缺陷或安全风险时,只需要开发该功能相关 的功能组件的最新版本并放置到服务器中进行发布即可。这样,在所述应用程序运行时,可 自动从所述服务器获取最新版本号的功能组件。
[0057] 可选地,在本发明应用程序的更新方法的另一实施例中,所述利用所述功能组件 对所述应用程序进行自动更新,可以包括:
[0058] 在所述应用程序运行时,通过类加载器和反射机制来执行所述需要更新的功能组 件。
[0059] 本实施例中,类加载器用于从.apk或.jar文件内部加载dex类型的文件到虚拟 机中,反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态 调用对象的方法的功能称为反射机制。通过类加载器和反射机制能够执行非安装的程序代 码,作为程序的一部分进行运行。
[0060] 可选地,在本发明应用程序的更新方法的另一实施例中,所述通过类加载器和反 射机制来执行所述需要更新的功能组件,可以包括:
[0061] 使用类加载器动态加载所述需要更新的功能组件中的类,并通过反射机制调用所 述类的方法来执行所述需要更新的功能组件。
[0062] 本实施例中,类加载器是DexClassLoader。
[0063] 参看图4,本发明的实施例提供一种应用程序的更新装置,包括:启动单元1,用于 启动应用程序;获取单元2,用于在所述启动单元1启动所述应用程序后,自动获取所述应 用程序的需要更新的功能组件;更新单元3,用于利用所述获取单元2获取到的功能组件对 所述应用程序进行自动更新。
[0064] 本发明实施例提供的应用程序的更新装置,在应用程序运行时通过自动获取应用 程序的需要更新的功能组件,并利用该功能组件对应用程序进行自动更新,因而能够方便 地对应用程序的功能进行更新。
[0065] 可选地,参看图5,在本发明应用程序的更新装置的另一实施例中,所述获取单元 2,包括:第一发送子单元20,用于自动将所述应用程序的名称和所述应用程序已有的功能 组件的名称发送给服务器;第一接收子单元21,用于自动接收所述服务器发送的所述应用 程序的具有新增功能的功能组件。
[0066] 本实施例中,当开发者想要增加应用程序的功能的时候,只需要开发新增功能相 关的功能组件,将这些功能组件放置在服务器上进行发布即可。比如,用户在已连接无线 网络的手机上使用应用程序的时候,如果服务器上有该应用程序的具有新增功能的功能组 件,那么该具有新增功能的功能组件会自动下载到用户手机的SD卡上。本实施例中通过获 取应用程序的具有新增功能的功能组件,能够便于使所述应用程序在原有功能的基础上增 加所述具有新增功能的功能组件所具有的功能,亦即实现所述应用程序已有功能的扩展。 [0067] 在应用程序运行时对所述应用程序的更新,除了利用应用程序开发者所发布的具 有新增功能的功能组件实现对所述应用程序的功能上的扩展外,本发明实施例中,还可利 用应用程序已有功能组件的最新版本来实现应用程序的已有功能的更新或完善。
[0068] 可选地,参看图6,在本发明应用程序的更新装置的另一实施例中,所述获取单元 2,包括:
[0069] 第二发送子单元22,用于自动将所述应用程序已有的功能组件的名称以及所述功 能组件对应的版本号发送给服务器;
[0070] 第二接收子单元23,用于自动接收所述服务器发送的所述应用程序的具有最新版 本号的功能组件。
[0071] 本实施例中,当开发者想要更新或完善应用程序已实现的某个功能的时候,比如 当开发者发现应用程序在某个功能上存在设计缺陷或安全风险时,只需要开发该功能相关 的功能组件的最新版本并放置到服务器中进行发布即可。这样,在所述应用程序运行时,可 自动从所述服务器获取最新版本号的功能组件。
[0072] 可选地,在本发明应用程序的更新装置的另一实施例中,所述更新单元,用于在所 述应用程序运行时,通过类加载器和反射机制来执行所述需要更新的功能组件。
[0073] 本实施例中,类加载器用于从.apk和.jar文件内部加载dex类型的文件到虚拟 机中,反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态 调用对象的方法的功能称为反射机制。通过类加载器和反射机制能够执行非安装的程序代 码,作为程序的一部分进行运行。
[0074] 可选地,在本发明应用程序的更新装置的另一实施例中,所述更新单元,用于使用 类加载器动态加载所述需要更新的功能组件中的类,并通过反射机制调用所述类的方法来 执行所述需要更新的功能组件。
[0075] 本实施例中,本实施例中,类加载器是DexClassLoader。
[0076] 本发明应用程序的更新方法及更新装置中涉及的应用程序由框架以及与所述框 架进行通信连接的各功能组件构成。其中,各功能组件之间可以是相互独立的,相互之间不 进行直接的通信,而通过框架进行间接的通信。各功能组件通过调用框架提供的回调接口 来调用框架提供的服务;而框架通过反射机制调用各功能组件的接口实现各功能组件对应 的功能。该应用程序可采用如下步骤生成:
[0077] (1)、将应用程序所要实现的功能进行模块化划分,并构建应用程序的功能模块对 应的功能组件;其中,所述功能组件可以互相独立;
[0078] (2)、构建用于与所述组件进行通信的所述应用程序的框架。
[0079] 本发明应用程序的更新方法及更新装置一实施例,适用于安卓(Android)操作系 统的终端设备中,如手机、平板电脑中,其中的功能组件是指在Android应用程序中用于某 个功能实现的代码集合;框架是指在Android应用程序中用于支持组件稳定运行的代码集 合;动态加载是指Android应用程序运行过程中,根据具体需求加载相应的功能组件,使应 用程序在某个功能的界面展现或逻辑实现上产生新变化。
[0080] 应当理解的是,本发明应用程序的更新方法及更新装置不限于适用于Android操 作系统的终端设备中,还可以使用与其它系统如Symbian、Windows Phone、iOS等操作系统 的终端设备中。
[0081] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为 磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
[0082] 以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应 涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
【权利要求】
1. 一种应用程序的更新方法,其特征在于,包括: 启动应用程序; 在所述应用程序启动后,自动获取所述应用程序的需要更新的功能组件; 利用所述功能组件对所述应用程序进行自动更新。
2. 根据权利要求1所述的应用程序的更新方法,其特征在于,所述自动获取所述应用 程序的需要更新的功能组件,包括: 自动将所述应用程序的名称和所述应用程序已有的功能组件的名称发送给服务器; 自动接收所述服务器发送的所述应用程序的具有新增功能的功能组件。
3. 根据权利要求1所述的应用程序的更新方法,其特征在于,所述自动获取所述应用 程序的需要更新的功能组件,包括: 自动将所述应用程序已有的功能组件的名称以及所述功能组件对应的版本号发送给 服务器; 自动接收所述服务器发送的所述应用程序的具有最新版本号的功能组件。
4. 根据权利要求1至3任一项所述的应用程序的更新方法,其特征在于,所述利用所述 功能组件对所述应用程序进行自动更新,包括: 在所述应用程序运行时,通过类加载器和反射机制来执行所述需要更新的功能组件。
5. 根据权利要求4所述的应用程序的更新方法,其特征在于,所述通过类加载器和反 射机制来执行所述需要更新的功能组件,包括: 使用类加载器动态加载所述需要更新的功能组件中的类,并通过反射机制调用所述类 的方法来执行所述需要更新的功能组件。
6. -种应用程序的更新装置,其特征在于,包括: 启动单元,用于启动应用程序; 获取单元,用于在所述启动单元启动所述应用程序后,自动获取所述应用程序的需要 更新的功能组件; 更新单元,用于利用所述获取单元获取到的功能组件对所述应用程序进行自动更新。
7. 根据权利要求6所述的应用程序的更新装置,其特征在于,所述获取单元,包括: 第一发送子单元,用于自动将所述应用程序的名称和所述应用程序已有的功能组件的 名称发送给服务器; 第一接收子单元,用于自动接收所述服务器发送的所述应用程序的具有新增功能的功 能组件。
8. 根据权利要求6所述的应用程序的更新装置,其特征在于,所述获取单元,包括: 第二发送子单元,用于自动将所述应用程序已有的功能组件的名称以及所述功能组件 对应的版本号发送给服务器; 第二接收子单元,用于自动接收所述服务器发送的所述应用程序的具有最新版本号的 功能组件。
9. 根据权利要求6至8任一项所述的应用程序的更新装置,其特征在于,所述更新单 元,用于在所述应用程序运行时,通过类加载器和反射机制来执行所述需要更新的功能组 件。
10. 根据权利要求9所述的应用程序的更新装置,其特征在于,所述更新单元,用于使 用类加载器动态加载所述需要更新的功能组件中的类,并通过反射机制调用所述类的方法 来执行所述需要更新的功能组件。
【文档编号】G06F9/445GK104216749SQ201410459684
【公开日】2014年12月17日 申请日期:2014年9月10日 优先权日:2014年9月10日
【发明者】杨年彪, 王修全 申请人:广州金山网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1