CN106469071B - 应用程序主题更换方法及装置 - Google Patents
应用程序主题更换方法及装置 Download PDFInfo
- Publication number
- CN106469071B CN106469071B CN201510508841.8A CN201510508841A CN106469071B CN 106469071 B CN106469071 B CN 106469071B CN 201510508841 A CN201510508841 A CN 201510508841A CN 106469071 B CN106469071 B CN 106469071B
- Authority
- CN
- China
- Prior art keywords
- theme
- application program
- resource
- resources
- pack
- 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
Images
Abstract
本发明公开一种应用程序主题更换方法,所述应用程序包括独立设置的主应用程序和主题包;所述应用程序主题更换方法包括以下步骤:接收主应用程序的更换主题指令;根据所述更换主题指令,调取主题包中与该主应用程序的主题资源对应的主题资源;在主应用程序中加载所调取的主题资源。本发明还公开一种应用程序主题更换装置。本发明不会造成应用程序的体积增大,而且通过调取该主题包中与应用程序的主题资源对应的主题资源,即可实现主题资源的更换,用户操作简单。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用程序主题更换方法及装置。
背景技术
随着智能终端的广泛应用,智能终端为人们的生活和工作提供了非常大的便利。同时,应用在智能终端上的应用程序也层出不穷,而且应用程序的UI界面的内容越来越丰富,人们可以根据自己的喜好而选择相应的UI界面。
目前的应用程序实现UI界面的一更换方法为:通过将主题资源内置到应用程序的安装包中,以供应用程序安装后根据该应用程序中内置的主题资源进行更换。该方法使得应用程序的安装包的体积非常大,而且还要为所有支持主题更换的控件添加属性,比较繁琐。
发明内容
本发明实施例的主要目的是提供一种应用程序主题更换方法及装置,旨在解决现有技术中应用程序的主题更换时安装包的体积非常大,用户操作比较繁琐的技术问题。
为实现上述目的,本发明实施例提供了一种应用程序主题更换方法,所述应用程序包括独立设置的主应用程序和主题包;所述应用程序主题更换方法包括以下步骤:
接收应用程序的更换主题指令;
根据所述更换主题指令,调取主题包中与该主应用程序的主题资源对应的主题资源;
在主应用程序中加载所调取的主题资源。
此外,为实现上述目的,本发明还提供了一种应用程序主题更换装置,所述应用程序包括独立设置的主应用程序和主题包;所述应用程序主题更换装置包括:
指令接收模块,用于接收应用程序的更换主题指令;
资源调取模块,用于根据所述更换主题指令,调取主题包中与该主应用程序的主题资源对应的主题资源;
资源加载模块,用于在主应用程序中加载所调取的主题资源。
本发明实施例通过将应用程序分为主应用程序和主题包两部分,主题包中存放有多个主题资源,供应用程序加载。由于该主题包独立设置,不需要内置在应用程序中,因此不会造成应用程序的体积增大,而且通过调取该主题包中与应用程序的主题资源对应的主题资源,即可实现主题资源的更换,用户操作简单,且不再需要在代码对各个控件进行赋值。
附图说明
图1是本发明应用主题资源更换方法所应用的智能终端的硬件架构示意图;
图2是本发明应用主题资源的更换前后的用户交互界面示例图;
图3是本发明为主题包创建的主题资源类和应用程序类的类结构示例图;
图4是本发明为主题包创建的主题资源类和应用程序类的流程示意图;
图5是本发明应用程序主题更换方法一实施例的流程示意图;
图6是本发明应用程序主题更换装置一实施例的功能模块示意图;
图7是本发明应用程序主题更换装置另一实施例的功能模块示意图;
图8是本发明应用程序主题更换装置又一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种应用程序主题的更换方案,通过将应用程序分为主应用程序和主题包两部分,主题包中存放有多个主题资源,供应用程序加载。由于该主题包独立设置,不需要内置在应用程序中,因此不会造成应用程序的体积增大,而且通过调取该主题包中与应用程序的主题资源对应的主题资源,即可实现主题资源的更换,用户操作简单,且不再需要在代码对各个控件进行赋值。
上述应用程序运行在智能终端,且每个应用程序均具有用户交互接口,即Activity,且每个用户交互接口均具有对应的主题资源。该主题资源可包括图片、颜色等等。可以理解的是,可以对整个应用程序的用户交互界面的主题资源一起更换,也可以对单个Activity的用户交互界面的主题资源进行更换。
上述智能终端可包括手机、平板电脑、掌上电脑、智能手表等移动终端,当然还可包括智能电视、个人电脑等等。以移动终端为例,如图1所示,该移动终端包括处理器102、存储器103、通信单元104、接口单元105、用户交互单元106以及数据总线107。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的各组件。
通信单元104通常包括一个或多个组件,其允许移动终端与无线通信系统或网络之间的无线电通信。例如,通信单元104可以包括移动通信模块、蓝牙模块、wifi模块中的至少一个。
接口单元105用作至少一个外部装置与移动终端连接可以通过的接口。例如,外部装置可以包括外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、音频输入/输出(I/O)端口、视频I/O端口等等。接口单元105可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。
用户交互单元106可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作,并将操作结果显示给用户。用户交互单元106可以包括键盘、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆、显示屏等等。特别地,该用户交互单元106还可以为触摸屏。
存储器103可以存储由处理器102执行的处理和控制操作的软件程序等等,或者可以存储终端上传或其他网络接收的数据(例如,静态图像、视频等等)。存储器103可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端可以与通过网络连接执行存储器103的存储功能的网络存储装置协作。
处理器102通常控制移动终端的总体操作。例如,处理器102执行用户请求响应、以及移动终端与其他设备的数据传输等相关的控制和处理。例如,该移动终端还包括主题更换装置108,该主题更换装置108可供处理器102调用,以实现应用程序中需要更换主题时,加载主题包中的主题资源。
这里描述的各种组件可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在处理器102中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器103中并且由处理器102执行。
以社交应用程序为例,该社交应用程序通过程序安装包安装在移动终端上,且社交应用程序存储在所述存储器103中,供处理器102调用,实现社交功能。该社交应用程序具有默认的主题,并在社交应用程序启动后,将形成用户交互界面,该用户交互界面中包括应用程序的默认主题以及其他显示内容。该用户交互界面将通过用户交互单元106显示给用户。如图2所示,图2左侧的用户交互界面中显示该应用程序的默认主题。当该处理器102监测到主题更换功能被触发时,调用该移动终端中主题更换装置进行主题的更换,如图2右侧的用户交互界面中显示该应用程序更换后的主题。由图2可知,通过加载主题包中的主题资源,使得该用户交互界面中各控件的图标以及背景都进行了更换,例如“动态”控件、“玩吧”控件等。该主题包中的主题资源不再限制于该应用程序默认的主题,可以根据用户的喜好而进行个性化主题的设置。
如图3所示,在实现主题资源的更换之前,先进行如下操作:
步骤S101、提供一个主题包,包括多个主题资源,且该主题资源与主应用程序中的主题资源对应;
该主题包用于存放主题资源,存放在智能终端的系统中,且该存放目录的结构为普通的系统结构。该主题资源可包括图片、颜色等资源,而且该主题包还将通过系统的SDK编译,形成一个包文件。例如安卓系统下,利用安卓SDK编译为一个apk文件。为了实现主题资源的更换,提供的主题包中的主题资源要与主应用程序中主题资源对应,以便需要更换时根据对应关系进行调取。优选地,该主题包中的主题资源的名称与主应用程序中主题资源的名称一致。通过查找主题包中与应用程序中主题资源的名称一致的主题资源进行加载。另外,上述主题包可以通过通信单元104与服务器进行通信,以从服务器上下载或升级获得。若该智能终端上不存在主题包,则可以从服务器上下载该主题包;若智能终端上存在主题包,则可以通过通信单元104与服务器进行通信,以从服务器上下载最新的主题包,以对所存在的主题包进行更新。可以理解的是,上述主题包可应用于一种应用程序,也可以应用于一类应用程序。
步骤S102、为主题包创建一个主题资源类,且该主题资源类中包括预设的资源加载函数,以供主题资源的加载;
具体地,如图4所示,利用系统的类创建函数为主题包创建一个主题资源类。以安卓系统为例,先利用安卓系统的以下函数为所提供的主题包构建一个资源库类Resources:
android.content.pm.PackageManager#getResourcesForApplication(android.c ontent.pm.ApplicationInfo)。假设该主题包的存放路径如下:
sdcard/tencent/theme.apk;
该主题包的资源库类的构建代码如下:
Resources resources=null;
PackageInfo pkgInfo=context.getPackageManager().getPackageArchiveInfo(apkPath,0);
ApplicationInfo appInfo=pkgInfo==null?null:pkgInfo.applicationInfo;
appInfo.sourceDir=apkPath;
appInfo.publicSourceDir=apkPath;
resources=context.getPackageManager().getResourcesForApplication(appInfo);
然后,创建一个主题资源类,例如AlterResources类,且该主题资源类继承上述资源库类,即android.content.res.Resources。另外,该AlterResources中包含一个Resources成员/themeResources,而且将上述构建的主题包资源库类Resources赋值给AlterResources类中的themeResources。因此,当智能终端的系统调用getResources函数时,将返回该AlterResources类,以实现系统在更换主题时拦截默认主题资源的加载,而进行主题包的主题资源的加载。
另外,由于该AlterResources类继承android.content.res.Resources,因此该AlterResources类中包含有预设的加载函数,即getDrawable和getColor。
步骤S103、为主应用程序创建一个应用程序类,且所述应用程序包括主题资源变量和预设的资源调取函数,以供主题资源的调取。
调用系统函数为主应用程序创建一个应用程序类,例如BaseApplication,且该类继承系统中的类android.app.Application,并且在该创建的类中增加一个AlterResources类型的成员变量mResources,将上述步骤S102中创建的AlterResources实例赋值给mResources。由于该BaseApplication类继承android.app.Application,因此该BaseApplication类中包含预设的资源调取函数,例如getResources,以供主题资源调取。
上述变量mResources用于系统在接收到资源调取时,是调取主题包中的资源,还是调取应用程序的默认资源。具体地:当mResources不为空时,返回mResources,即调取主题包中的资源;当mResources为空时,调用super.getResources(),即返回主应用程序的默认资源。
基于上述应用程序的结构,以及创建的类结构,通过智能终端的处理器102接收用户交互单元106的更换主题指令,并调用主题更换装置108进行主题包中的资源的加载,从而实现主题资源的更换。如图5所示,本发明实施例的应用程序主题更换方法包括以下步骤:
步骤S110、接收主应用程序的更换主题指令;
当智能终端运行某应用程序的过程中,用户希望更换当前用户交互界面的主题资源,则可以触发主题更换控件,用户交互单元106上的用户交互界面监测到主题更换控件被触发,则产生更换主题指令,并将其发送至主应用程序。该更换主题指令包括当前触发更换的主题资源的标识,即ID。当然,该智能终端还可利用接口单元105从外部装置中接收该更换主题指令。
步骤S120、根据所述更换主题指令,调取主题包中与该主应用程序的主题资源对应的主题资源;
以主应用程序的主题资源的名称与主题包中的主题资源的名称对应为例,主应用程序根据该更换主题指令,获得要更换的主题资源的名称,该要更换的主题资源可以为一个,也可以为多个。然后,主应用程序根据主题包的存放路径,搜索主题包中是否存在与该应用程序的主题资源同名的主题资源,并将搜索到的主题资源提取出来。可以理解的是,其他的对应关系也可参照实施。例如,根据要更换的主题资源的信息,查找主题包中与该主题资源的信息对应的主题资源,并调取查找到的主题资源。
具体地,根据当前的资源id通过android.content.res.Resources#getResour-ceEntryName,获得当前资源的名称resName,然后以该resName为参数,通过调用themeResource中的android.content.res.Resources#getIdentifier方法,获得主题包中的同名资源的真正id,即res_id,并以该res_id为参数,调用themeResource对应的getDrawable和getColor方法调取主题包的资源。
步骤S130、在主应用程序中加载所调取的主题资源。
通过getDrawable和getColor方法调取主题包的资源后,在主应用程序中加载该调取的主题资源。
可以理解的是,若主题包中不存在与主应用程序的主题资源对应的主题资源时,则提供主应用程序中的预设主题资源给用户选择,并加载用户所选择的主题资源。即以该res_id为参数,调用themeResource对应的getDrawable和getColor方法调取主题包的资源时,没有调取到资源时,则调用父类的方法加载主应用程序中的默认资源。例如,获取主应用程序中的预设主题资源,并将其呈现给用户,以供用户进行选择。在用户选择后,在主应用程序中加载该主题资源。
本发明实施例通过将应用程序分为主应用程序和主题包两部分,主题包中存放有多个主题资源,供应用程序加载。由于该主题包独立设置,不需要内置在应用程序中,因此不会造成应用程序的体积增大,而且通过调取该主题包中与应用程序的主题资源同名的主题资源,即可实现主题资源的更换,用户操作简单,且不再需要在代码对各个控件进行赋值。
上述应用程序主题更换方法中,可以在接收到更换主题指令时,就调取主题包中的资源进行加载。同时也可以存在更换主应用程序中的预设主题资源的情况。因此,本实施例中,若应用于现有的应用程序的主题更换时,在接收到更换主题指令时,将拦截主应用程序对默认资源的加载过程,而转由调取主题包中的资源,并对其进行加载。具体地,通过对类BaseApplication中的变量mResources中进行设置,例如给变量mResources赋值,以使在接收到更换主题指令时,主应用程序不加载默认的主题资源,而是调取主题包中与主应用程序的主题资源名称相同的主题资源,以加载该调取的主题资源。
对应地,本发明还提供了一种应用程序主题更换装置,通过将应用程序分为主应用程序和主题包,以在该应用程序的主题需要更换时,可以调取主题包中的主题资源进行加载。在实现该主题资源的调取和加载时,该应用程序主题更换装置先通过主题包设置模块提供主题包,并创建主题资源类和应用程序类。具体为:提供一个主题包,包括多个主题资源,且该主题资源与主应用程序中的主题资源对应;为主题包创建一个主题资源类,且该主题资源类中包括预设的资源加载函数,以供主题资源的加载;为主应用程序创建一个应用程序类,且所述应用程序包括主题资源变量和预设的资源调取函数,以供主题资源的调取。
该主题包用于存放主题资源,存放在智能终端的系统中,且该存放目录的结构为普通的系统结构。该主题资源可包括图片、颜色等资源,而且该主题包还将通过系统的SDK编译,形成一个包文件。例如安卓系统下,利用安卓SDK编译为一个apk文件。为了实现主题资源的更换,提供的主题包中的主题资源要与主应用程序中主题资源对应,以便需要更换时根据对应关系进行调取。优选地,该主题包中的主题资源的名称与应用程序中主题资源的名称一致。通过查找主题包中与应用程序中主题资源的名称一致的主题资源进行加载。另外,上述主题包可以通过通信单元104与服务器进行通信,以从服务器上下载或升级获得。若该智能终端上不存在主题包,则可以从服务器上下载该主题包;若智能终端上存在主题包,则可以通过通信单元104与服务器进行通信,以从服务器上下载最新的主题包,以对所存在的主题包进行更新。可以理解的是,上述主题包可应用于一种应用程序,也可以应用于一类应用程序。
具体地,系统的类创建函数为主题包创建一个主题资源类。以安卓系统为例,先利用安卓系统的以下函数为所提供的主题包构建一个资源库类:
android.content.pm.PackageManager#getResourcesForApplication(android.c ontent.pm.ApplicationInfo)。假设该主题包的存放路径如下:
sdcard/tencent/theme.apk;
该主题包的资源库类的构建代码如下:
Resources resources=null;
PackageInfo pkgInfo=context.getPackageManager().getPackageArchiveInfo(apkPath,0);
ApplicationInfo appInfo=pkgInfo==null?null:pkgInfo.applicationInfo;
appInfo.sourceDir=apkPath;
appInfo.publicSourceDir=apkPath;
resources=context.getPackageManager().getResourcesForApplication(appInfo);
然后,创建一个主题资源类,例如AlterResources类,且该主题资源类继承上述资源库类,即android.content.res.Resources。另外,该AlterResources中包含一个Resources成员/themeResources,而且将上述构建的主题包资源库类Resources赋值给AlterResources类中的themeResources。因此,当智能终端的系统调用getResources函数时,将返回该AlterResources类,以实现系统在更换主题时拦截默认主题资源的加载,而进行主题包的主题资源的加载。
另外,由于该AlterResources类继承android.content.res.Resources,因此该AlterResources类中包含有预设的加载函数,即getDrawable和getColor。
调用系统函数为主应用程序创建一个应用程序类,例如BaseApplication,且该类继承系统中的类android.app.Application,并且在该创建的类中增加一个AlterResources类型的成员变量mResources,将上述步骤S102中创建的AlterResources实例赋值给mResources。由于该BaseApplication类继承android.app.Application,因此该BaseApplication类中包含预设的资源调取函数,例如getResources,以供主题资源调取。
上述变量mResources用于系统在接收到资源调取时,是调取主题包中的资源,还是调取应用程序的默认资源。具体地:当mResources不为空时,返回mResources,即调取主题包中的资源;当mResources为空时,调用super.getResources(),即返回主应用程序的默认资源。
如图6所示,上述应用程序主题更换装置包括:
指令接收模块110,用于接收主应用程序的更换主题指令;
资源调取模块120,用于根据所述更换主题指令,调取主题包中与该主应用程序的主题资源对应的主题资源;
资源加载模块130,用于在主应用程序中加载所调取的主题资源。
当智能终端运行某应用程序的过程中,用户希望更换当前用户交互界面的主题资源,则可以触发主题更换控件,用户交互单元106上的用户交互界界面监测到主题更换控件被触发,则产生更换主题指令,并将其发送至处理器102,以使指令接收模块110接收到更换主题指令。该更换主题指令包括当前触发更换的主题资源的标识,即ID。当然,该智能终端还可利用接口单元105从外部装置中接收该更换主题指令。
以主应用程序的主题资源的名称与主题包中的主题资源的名称对应为例,上述资源调取模块120将根据该更换主题指令,获得要更换的主题资源的名称,该要更换的主题资源可以为一个,也可以为多个。然后,资源调取模块120根据主题包的存放路径,搜索主题包中是否存在与该应用程序的主题资源同名的主题资源,并将搜索到的主题资源提取出来。可以理解的是,其他的对应关系也可参照实施。例如,根据要更换的主题资源的信息,查找主题包中与该主题资源的信息对应的主题资源,并调取查找到的主题资源。
具体地,根据当前的资源id通过android.content.res.Resources#getResour-ceEntryName,获得当前资源的名称resName,然后以该resName为参数,通过调用themeResource中的android.content.res.Resources#getIdentifier方法,获得主题包中的同名资源的真正id,即res_id,并以该res_id为参数,调用themeResource对应的getDrawable和getColor方法调取主题包的资源。
上述资源加载模块130通过getDrawable和getColor方法调取主题包的资源后,在主应用程序中加载该调取的主题资源。
本发明实施例通过将应用程序分为主应用程序和主题包两部分,主题包中存放有多个主题资源,供应用程序加载。由于该主题包独立设置,不需要内置在应用程序中,因此不会造成应用程序的体积增大,而且通过调取该主题包中与应用程序的主题资源同名的主题资源,即可实现主题资源的更换,用户操作简单,且不再需要在代码对各个控件进行赋值。
进一步地,上述资源调取模块120还用于:若主题包中不存在与主应用程序的主题资源对应的主题资源时,则提供主应用程序中的预设主题资源给用户选择;上述资源加载模块130还用于:加载用户所选择的主题资源。
具体地,若主题包中不存在与主应用程序的主题资源对应的主题资源时,则提供主应用程序中的预设主题资源给用户选择,并加载用户所选择的主题资源。即以该res_id为参数,调用themeResource对应的getDrawable和getColor方法调取主题包的资源时,没有调取到资源时,则调用父类的方法加载主应用程序中的默认资源。例如,获取主应用程序中的预设主题资源,并将其呈现给用户,以供用户进行选择。在用户选择后,在主应用程序中加载该主题资源。
进一步地,如图7所示,上述应用程序主题更换装置还包括:
拦截模块140,用于在接收到更换主题指令后,拦截主应用程序中主题资源的默认加载过程。
上述应用程序主题更换方法中,可以在接收到更换主题指令时,就调取主题包中的资源进行加载。同时也可以存在更换主应用程序中的预设主题资源的情况。因此,本实施例中,若应用于现有的应用程序的主题更换时,在接收到更换主题指令时,拦截模块140将拦截主应用程序对默认资源的加载过程,而转由调取主题包中的资源,并对其进行加载。具体地,通过对类BaseApplication中的变量mResources中进行设置,例如给变量mResources赋值,以使在接收到更换主题指令时,主应用程序不加载默认的主题资源,而是调取主题包中与主应用程序的主题资源名称相同的主题资源,以加载该调取的主题资源。
进一步地,如图8所示,上述应用工程序主题更换装置还用于:
更新模块150,用于从服务器上下载或升级获得所述主题包。
具体地,上述主题包可以为更新模块150利用通信单元104与服务器进行通信,以从服务器上下载或升级获得。若该智能终端上不存在主题包,则可以从服务器上下载该主题包;若智能终端上存在主题包,则可以从服务器上下载最新的主题包,以对所存在的主题包进行更新。可以理解的是,上述主题包可应用于一种应用程序,也可以应用于一类应用程序。
以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (4)
1.一种应用程序主题更换方法,其特征在于,所述应用程序包括独立设置的主应用程序和从服务器上下载或升级获得的主题包,所述主题包包括多个主题资源,所述主题包中的主题资源与所述主应用程序中的主题资源对应;所述应用程序主题更换方法包括以下步骤:
为所述主题包创建一个主题资源类,其中,所述主题资源类中包括预设的资源加载函数,以供主题资源的加载,所述主题资源类用于在更换主题时拦截默认的主题资源的加载,而进行主题包的主题资源的加载;
为所述主应用程序创建一个应用程序类,并在所述应用程序类中增加一个类型为所述主题资源类的成员变量,其中,所述应用程序包括主题资源变量和预设的资源调取函数,以供主题资源的调取;
在所述应用程序运行的过程中,接收应用程序的更换主题指令;
通过对所述应用程序类中的所述成员变量进行设置,以使所述主应用程序不加载默认的主题资源;
根据所述更换主题指令,调取所述主题包中与该主应用程序的主题资源对应的主题资源;
在主应用程序中加载所调取的主题资源。
2.如权利要求1所述的应用程序主题更换方法,其特征在于,若主题包中不存在与主应用程序的主题资源对应的主题资源时,则提供主应用程序中的预设主题资源给用户选择,并加载用户所选择的主题资源。
3.一种应用程序主题更换装置,其特征在于,所述应用程序包括独立设置的主应用程序和主题包,所述主题包包括多个主题资源,所述主题包中的主题资源与所述主应用程序中的主题资源对应;所述应用程序主题更换装置包括:
所述主题包设置模块,为所述主题包创建一个主题资源类,其中,所述主题资源类中包括预设的资源加载函数,以供主题资源的加载,所述主题资源类用于在更换主题时拦截默认的主题资源的加载,而进行主题包的主题资源的加载;
应用程序设置模块,用于为所述主应用程序创建一个应用程序类,并在所述应用程序类中增加一个类型为所述主题资源类的成员变量,其中,所述应用程序包括主题资源变量和预设的资源调取函数,以供主题资源的调取;
更新模块,用于从服务器上下载或升级获得所述主题包;
指令接收模块,用于接收应用程序的更换主题指令;
通过对所述应用程序类中的所述成员变量进行设置,以使所述主应用程序不加载默认的主题资源;
资源调取模块,用于根据所述更换主题指令,调取主题包中与该主应用程序的主题资源对应的主题资源;
拦截模块,用于在接收到更换主题指令后,拦截所述主应用程序中主题资源的默认加载过程,并执行根据所述更换主题指令,调取主题包中与该主应用程序的主题资源对应的主题资源;
资源加载模块,用于在主应用程序中加载所调取的主题资源。
4.如权利要求3所述的应用程序主题更换装置,其特征在于,所述资源调取模块还用于:若主题包中不存在与主应用程序的主题资源对应的主题资源时,则提供主应用程序中的预设主题资源给用户选择;
所述资源加载模块还用于:加载用户所选择的主题资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510508841.8A CN106469071B (zh) | 2015-08-18 | 2015-08-18 | 应用程序主题更换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510508841.8A CN106469071B (zh) | 2015-08-18 | 2015-08-18 | 应用程序主题更换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106469071A CN106469071A (zh) | 2017-03-01 |
CN106469071B true CN106469071B (zh) | 2021-06-08 |
Family
ID=58214532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510508841.8A Active CN106469071B (zh) | 2015-08-18 | 2015-08-18 | 应用程序主题更换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106469071B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804188A (zh) * | 2018-05-30 | 2018-11-13 | 珠海市君天电子科技有限公司 | 界面换肤方法及装置 |
CN109739600B (zh) * | 2018-12-26 | 2022-02-25 | 网易传媒科技(北京)有限公司 | 数据处理方法、介质、装置和计算设备 |
CN109684020B (zh) * | 2018-12-27 | 2023-08-11 | 努比亚技术有限公司 | 一种主题切换方法、设备及计算机可读存储介质 |
CN110968343A (zh) * | 2019-11-29 | 2020-04-07 | 合肥美的电冰箱有限公司 | 资源文件的配置方法、配置装置、冰箱以及可读存储介质 |
CN111382389B (zh) * | 2020-03-25 | 2023-09-12 | 北京字节跳动网络技术有限公司 | 多主题页面生成方法、装置、电子设备及存储介质 |
CN112394933A (zh) * | 2020-11-27 | 2021-02-23 | 平安普惠企业管理有限公司 | 一种更换主题资源的方法、装置、设备及可读存储介质 |
CN113050966A (zh) * | 2021-03-12 | 2021-06-29 | 重庆长安汽车股份有限公司 | 一种车辆显示界面主题更新方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129368A (zh) * | 2010-01-20 | 2011-07-20 | 腾讯科技(深圳)有限公司 | 界面皮肤更换系统及方法 |
CN103176810A (zh) * | 2011-12-26 | 2013-06-26 | 北京神州泰岳软件股份有限公司 | 一种安卓操作系统的终端换肤的方法和系统 |
CN103702197A (zh) * | 2013-12-31 | 2014-04-02 | 乐视致新电子科技(天津)有限公司 | 一种图片资源重定向方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716346A (zh) * | 2012-09-29 | 2014-04-09 | 北京神州泰岳软件股份有限公司 | 一种安卓手机客户端上应用的管理方法和装置 |
CN103324471B (zh) * | 2012-10-22 | 2018-05-15 | 中兴通讯股份有限公司 | 动态修改应用启动图标的方法、消息的发送方法、终端 |
-
2015
- 2015-08-18 CN CN201510508841.8A patent/CN106469071B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129368A (zh) * | 2010-01-20 | 2011-07-20 | 腾讯科技(深圳)有限公司 | 界面皮肤更换系统及方法 |
CN103176810A (zh) * | 2011-12-26 | 2013-06-26 | 北京神州泰岳软件股份有限公司 | 一种安卓操作系统的终端换肤的方法和系统 |
CN103702197A (zh) * | 2013-12-31 | 2014-04-02 | 乐视致新电子科技(天津)有限公司 | 一种图片资源重定向方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106469071A (zh) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106469071B (zh) | 应用程序主题更换方法及装置 | |
US20240095043A1 (en) | Execution of sub-application processes within application program | |
CN108572833B (zh) | 自动应用更新 | |
CN109408136B (zh) | 信息处理方法、装置、存储介质及电子设备 | |
US9092239B2 (en) | Configuring user interfaces in electronic devices | |
US8856502B2 (en) | Pre-installed application activation | |
CN108549568B (zh) | 应用入口处理方法、装置、存储介质及电子设备 | |
CN106293696B (zh) | 显示应用程序下载安装状态的方法及其对应装置 | |
CN105677421B (zh) | 一种移动终端的桌面启动器的定制方法及系统 | |
US9875109B2 (en) | Method and apparatus for generating user adaptive application in mobile terminal | |
CN111223036B (zh) | 一种gpu虚拟化共享方法、装置及电子设备和存储介质 | |
CN106230977B (zh) | 一种客户端功能加载方法、系统、客户端和服务端 | |
RU2679380C1 (ru) | Способ предоставления возможности совместного использования рабочего стола и мобильное конечное устройство | |
CN108287647B (zh) | 一种应用运行方法及装置 | |
CN110543327A (zh) | 业务组件复用方法、装置、计算机设备及存储介质 | |
CN107577472B (zh) | 软件安装方法、装置及计算机可读存储介质 | |
CN113703859A (zh) | 一种动态链接库注入方法、装置、设备及存储介质 | |
EP3884375B1 (en) | Accelerating application and sub-package installations | |
US9513928B2 (en) | Method of operating multiple operating systems and the electronic device thereof | |
CN103257788A (zh) | 一种windows桌面动态图标形成方法 | |
WO2016095686A1 (zh) | 浏览器与移动终端之间进行通信的方法及浏览器装置 | |
CN110989986A (zh) | 基于软件模板的软件生成方法、装置和计算机设备 | |
EP4318213A1 (en) | Method and apparatus for controlling android app, and terminal device | |
CN106155732B (zh) | 电视游戏控制器的加载方法和装置 | |
CN114840194A (zh) | 代码及操作系统的生成方法和装置、服务器及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |