CN106648622A - 一种智能装置切换主题的方法及装置 - Google Patents
一种智能装置切换主题的方法及装置 Download PDFInfo
- Publication number
- CN106648622A CN106648622A CN201611062621.8A CN201611062621A CN106648622A CN 106648622 A CN106648622 A CN 106648622A CN 201611062621 A CN201611062621 A CN 201611062621A CN 106648622 A CN106648622 A CN 106648622A
- Authority
- CN
- China
- Prior art keywords
- theme
- theme bag
- bag
- current time
- time parameter
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及智能设备及通讯技术领域,公开了一种智能装置切换主题的方法及智能装置,以解决现有技术中更换主题的效率较低的技术问题。该方法包括:首先获取当前时间参数;然后判断所述当前时间参数是否满足预设的主题包更换条件,若是,基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包;将所述智能装置所应用的主题包由第二主题包更换为所述第一主题包。如此可以实现智能装置根据当前时间来自动地进行主题的切换,达到了在满足用户对应用主题的个性化需求的同时,提高智能装置的主题切换效率的技术效果。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种智能装置切换主题的方法及装置。
背景技术
随着通讯技术的迅速发展,为了满足不同用户群体的需求,现有的手机、平板电脑等智能装置中都存储有各式各样的主题,以供用户选择使用。但是对于主题的更换,目前仍旧停留在由用户手动操作来实现主题的切换,一方面由于手动操作需要用户进行某个菜单进行选项设置,操作步骤繁琐,不够智能化;另一方面用户一旦选择了某个主题,该主题模式将会始终出现在各种应用方式中不会改变。
因此说传统的手动更换主题方式不能满足用户的个性化需求,现有的智能装置***在应用主题切换方面还存在着如下问题:需要响应用户的手动操作才能更换智能设备的主题,故而存在着更换主题的效率较低的技术问题,降低了智能装置的智能度和用户的体验度。
发明内容
鉴于上述问题,本发明提出了一种克服上述问题或者至少部分地解决上述问题的一种智能装置切换主题的方法及智能装置。
第一方面,本发明实施例提供了一种智能装置切换主题的方法,包括:
获取当前时间参数;
判断所述当前时间参数是否满足预设的主题包更换条件;
若是,基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包;
将所述智能装置所应用的主题包由第二主题包更换为所述第一主题包。
可选的,所述判断所述当前时间参数是否满足预设的主题包更换条件,包括:
确定出上一次更换主题包的第一时刻;
判断所述当前时间参数所对应的当前时刻与所述第一时刻是否属于不同的时间段;
如果是,确定出所述当前时间参数满足所述预设的主题包更换条件。
可选的,所述判断所述当前时间参数是否满足预设的主题包更换条件,包括:
判断所述当前时间参数所对应的当前日期是否属于预设日期;
如果属于所述预设日期,确定满足所述预设的主题包更换条件。
进一步的,所述第一主题包,包括:预存于所述智能装置本地的与所述当前时间参数对应的主题包;或者,
基于所述当前时间参数从服务器获得的主题包。
进一步的,如果与所述当前时间参数对应的主题包包括至少两个主题包,所述方法还包括:
基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录从所述至少两个主题包中确定出所述第一主题包;或者,
基于每个主题包的被使用次数,从所述至少两个主题包中确定出所述第一主题包。
第二方面,本发明实施例提供了一种切换主题的智能装置,包括:
获取模块,用于获取当前时间参数;
判断模块,用于判断所述当前时间参数是否满足预设的主题包更换条件;
确定模块,用于如果满足所述预设的主题包更换条件,基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包;
切换模块,用于将所述智能装置所应用的主题包由第二主题包更换为与所述当前时间参数对应的所述第一主题包。
可选的,所述判断模块,包括:
第一时刻确定单元,用于确定出上一次更换主题包的第一时刻;
第一判断单元,用于判断所述当前时间参数所对应的当前时刻与所述第一时刻是否属于不同的时间段;
第一确定单元,用于当所述当前时间参数所对应的当前时刻与所述第一时刻属于不同的时间段时,确定出所述当前时间参数满足所述预设的主题包更换条件。
可选的,所述判断模块,还包括:
第二判断单元,用于判断所述当前时间参数所对应的当前日期是否属于预设日期;
第二确定单元,用于当所述当前时间参数所对应的当前日期属于预设日期时,确定满足所述预设的主题包更换条件。
进一步的,所述第一主题包,包括:预存于所述智能装置本地的与所述当前时间参数对应的主题包;或者,
基于所述当前时间参数与服务器获得的主题包。
进一步的,所述确定模块用于:
从所述至少两个主题包中确定出不位于所述历史选择记录的主题包,基于不位于所述历史选择记录的主题包确定出所述第一主题包;和/或,
基于所述历史选择记录确定出所述用户对各个类别的主题包的选择次数;确定出所述选择次数满足预设条件的类别;基于所述类别从所述至少两个主题包确定出所述第一主题包。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请技术方案所提出的方法和装置,可以通过获取当前时间参数,判断当前时间参数是否满足预设的主题包更换条件,若是,基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包,将所述智能装置所应用的主题包由第二主题包更换为所述第一主题包。如此不仅可以实现智能装置根据当前时间进行主题的自动切换,同时还结合了用户对主题包的使用情况从多个主题包中选取相应的主题包来切换,达到了满足用户对应用主题的个性化需求的同时,能提高智能装置的主题切换效率的技术效果,且其切换过程完全自由平滑,无需人工的介入,不需要人为地去查找、选定以及加载某个主题包来达到更换主题的目的,为用户带来更加简便快捷和人性化的操作方式。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例的一种智能装置切换主题的方法流程图;
图2为本发明实施例一种智能装置切换主题的方法中判断是否满足主题包更换条件的一种实施例的流程图;
图3为本发明实施例一种智能装置切换主题的方法中判断是否满足主题包更换条件的另一种实施例的流程图;
图4为本发明实施例中下载主题包的流程图;
图5为本发明实施例中加载主题包的流程图;
图6为本发明实施例中主题应用程序在加载主题包前的模式选择流程图;
图7为本发明一个实施例的一种智能装置的结构示意图。
具体实施方式
本申请实施例通过提供一种智能装置切换主题的方法及装置,解决了现有技术中智能装置更换主题效率较低的技术问题。
本申请实施例中的技术方案,总体思路如下:
在智能设备切换主题时,首先通过获取当前时间参数,然后判断当前时间参数是否满足预设的主题包更换条件,若是,基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包,将所述智能装置所应用的主题包由第二主题包更换为所述第一主题包。如此不仅可以实现智能装置根据当前时间进行主题的自动切换,同时还结合了用户对主题包的使用情况从多个主题包中选取相应的主题包来切换,达到了满足用户对应用主题的个性化需求的同时,能提高智能装置的主题切换效率的技术效果,且其切换过程完全自由平滑,无需人工的介入,提高了智能装置在主题切换应用方面的智能化程度以及用户的操作体验。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一方面,本发明实施例提供一种智能装置切换主题的方法,请参考图1,包括:
步骤S101:获取当前时间参数;
步骤S102:判断所述当前时间参数是否满足预设的主题包更换条件;
步骤S103:若是,基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包;
步骤S104:将所述智能装置所应用的主题包由第二主题包更换为与所述当前时间参数对应的所述第一主题包。
该技术方案所涉及的智能装置可以是具有屏幕的采用安卓***的手机、平板电脑等等,也可以是采用ios***或者Windows***的具有屏幕的智能手机、平板电脑、笔记本电脑或者台式电脑等等。
该技术方案所涉及的主题包例如为:***主题包、应用主题包等等,***主题可以为所述智能装置***的界面风格,例如为:窗口的色彩、控件的布局、图标的样式或者形状等等;而应用主题例如包括:应用程序的界面风格、窗口色彩的搭配等等。
步骤S101中,当前时间参数包括当前的日期和时刻中的至少一种参数,日期和时刻的格式可以是YYYY-MM-DD:hh-mm-ss,也可以用其它的格式,在此不作限制。
不同的***可以通过不同的程序获得当前时间参数,在此不作限制,例如:对于Android***来讲,可以通过java调用Calendar实例来完成,代码如下:
通过上述方法可以获取到当前具体的日期信息(例如:年、月、日)或者时刻信息(例如:时和分),即为当前时间参数。具体在本实施例中,举例说明:比如通过调用Calendar实例获取的***时间为“2016-10-1 12:13”,那么当前时间参数年、月、日、时和分分别对应的值即为2016、10、1、12、13。而对于其它操作***,如微软、苹果等,会使用其对应的调用方法来获取当前时间参数,这里不予赘述。
步骤S102中,基于当前时间参数不同,从而判断当前时间参数是否满足预设条件的方式也不同,下面列举其中的两种进行介绍,当然,在具体实施过程中,不限于以下两种情况。
第一种,判断所述当前时间参数是否满足预设的主题包更换条件,请参考图2,包括:
步骤S201:确定出上一次更换主题包的第一时刻;
步骤S202:判断所述当前时间参数所对应的当前时刻与所述第一时刻是否属于不同的时间段;
步骤S203:如果是,确定出所述当前时间参数满足所述预设的主题包更换条件。
在步骤S201中的上一次更换主题包的第一时刻例如为:距离本次更换主题包之前最近的一次更换主题包所在的时刻。
在步骤S202中,在具体实施过程中,可以将一天划分为多个时间段,例如:可以设定第一时间段为白天所对应的时间段,其对应的时间范围例如为:06:00~18:00,第二时间段为晚上所对应的时间段,其对应的时间范围例如为:18:00~24:00、00:00~06:00;如果当前时间参数中的当前时刻在第一时间段,且上一次更换主题包的时刻在第二时间段,则当前时刻与所述第一时刻属于不同的时间段;或者当前时间参数中的当前时刻位于第二时间段,且上一次更换主题包的时刻在第一时间段,则也说明当前时刻与第一时刻属于不同的时间段等等。
在步骤S203中,如果当前时刻与所述第一时刻是属于不同的时间段,则说明当前时刻与第一时刻适合应用不同的主题包,因此确定当前时间参数满足所述预设的主题包更换条件。
具体的,假设用户或者程序设定第一时间段(06:00~18:00)为白天主题时间段,第二时间段(18:00~24:00、00:00~06:00)为晚间主题时间段,则当***获取的当前时间参数是2016-10-01-20:25:43时,其中的当前时刻20:25:43属于晚间主题时间段,而上一次更换主题包的时间是2016-10-01-08:12:41,上一次更换主题包的第一时刻为08:12:41,属于白天主题时间段,与当前时刻不属于相同的时间段,则当前时间参数满足预设的主题包更换条件。
通过上述方案,达到了可以通过时刻的变换来对主题包进行自动更换的技术效果。
第二种,判断所述当前时间参数是否满足预设的主题包更换条件,请参考图3,包括:
步骤S211:判断所述当前时间参数所对应的当前日期是否属于预设日期;
步骤S212:如果属于所述预设日期,确定满足所述预设的主题包更换条件。
在步骤S211中,所属预设日期可以是具体的日期,比如节日、节气和用户的生日等等,具体到本实施例,用户或者程序可以设定国庆节10月1日作为其中一个主题包更换条件。
步骤S212中,如果当前时间参数所对应的当前日期与预设日期相同,则说明用户希望将主题包更换为与该预设日期对应的主题包,故而确定满足所述预设的主题包更换条件。具体到本实施例,当***获取的当前时间参数是2016-10-01-20:25:43时,其中的10-01与10月1日相匹配,则当前时间参数满足预设的主题包更换条件。
通过上述方案,达到了可以通过日期的变更对主题包进行自动更换的技术效果。
在具体实施过程中,以上两种判断方式也可以组合使用,例如:判断所述当前时间参数所对应的当前日期是否属于预设日期;若是,确定出上一次更换主题包的第一时刻;判断所述当前时间参数所对应的当前时刻与所述第一时刻是否属于不同的时间段;若是,确定出所述当前时间参数满足所述预设的主题包更换条件。
举例来说,用户可以设置主题包更换条件包括:当前日期为预设日期,且当前时刻与第一时刻位于不同的时间段,
例如,用户设定的预设日期为10月1日,第一时间段为:06:00~18:00、第二时间段为:18:00~24:00、00:00~06:00,而当前时间参数是2016-10-01-20:25:43,那么可以确定当前日期为10月1日,满足了预设日期的条件,同时,还确定出上一次更换主题包的第一时刻为10:10:11,由此可以判断出当前时刻与第一时刻属于不同的时间段,则可以确定出当前时间参数满足所述预设的主题包更换条件,可以进行主题包的更换;如果上一次更换主题包的第一时刻为20:10:11,则当前时刻与第一时刻属于相同的时间段,即第二时间段,那么,可以确定出当前时间参数不满足所述预设的主题包更换条件,就不进行主题包的更换。
通过上述方案,达到了可以根据日期的变更及具体时间的不同为用户提供自动的主题切换的技术效果,也提高了用户的体验度。
当然上述实施方式的主题包更换条件只是为了更加清楚的说明技术方案而给出的具体实施例,并非对于权利要求保护范围的限定。
在具体实施过程中,还可以将主题包的使用状况加以记录和存储,使用状况例如包括主题包的使用时间和使用次数,在安卓***中,可以将上述数据存储至SherePreference中,SherePreference是安卓***中一个临时存储数据的存储区。
在步骤S103中,可以基于多种原则从至少两个主题包中确定出第一主题包,下面列举其中的两种进行介绍,当然,在具体实施过程中,不限于以下两种情况。
第一种:所述基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包,包括:从所述至少两个主题包中确定出不位于所述历史选择记录的主题包,基于不位于所述历史选择记录的主题包确定出所述第一主题包。
举例来说,假设关于国庆节的主题包有四个,分别为:主题包A、主题包B、主题包C、主题包D,基于用户的历史选择记录可以确定出用户选择过主题包A和主题包B,则不属于历史选择记录的主题包包括:主题包C和主题包D,则可以从主题包C和主题包D中选择出第一主题包。
第二种:所述基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包,包括:基于所述历史选择记录确定出所述用户对各个类别的主题包的选择次数;确定出所述选择次数满足预设条件的类别;基于所述类别从所述至少两个主题包确定出所述第一主题包。
举例来说,假设存在四个类别的主题包,分别为:动漫类、武侠类、风景类和影视类,用户针对这四个类别的主题包的选择次数分别为:动漫类100次、武侠类10次、风景类20次、影视类30次等等,该选择次数满足预设条件例如为:选择次数大于预设次数(例如:25次、40次等等),或者将选择次数按照从高到低排序位于前预设位(例如:1、2等等),进而可以确定出用户较为喜欢的类别,从而从用户较为喜欢的类别所包含的主题包中确定出第一主题包。其中,如果用户较为喜欢的类别中包含多个主题包,则可以随机选择一个主题包作为第一主题包,或者是选择出被使用次数最多的主题包作为第一主题包。
另外,在具体实施过程中,以上两种第一主题包的选择方式也可以组合使用,例如:基于所述历史选择记录确定出所述用户对各个类别的主题包的选择次数;确定出所述选择次数满足预设条件的类别;从所述类别所包含的主题包中确定出不属于所述历史选择记录的主题包作为所述第一主题包。举例来说,假设基于历史选择记录确定出满足预设条件的类别为武侠类,武侠类下包含以下四个主题包:武侠主题包1、武侠主题包2、武侠主题包3、武侠主题包4,其中,基于历史选择记录确定出用户曾经选择过武侠主题包1和武侠主题包3,那么则从武侠主题包2和武侠主题包4中确定出第一主题包。
以上方案根据用户使用主题包的历史记录可确定用户的喜好及使用习惯,来为用户自动选择合适的主题包进行切换,满足了用户对主题切换的个性化需求。
在步骤S104中:将所述智能装置所应用的主题包由第二主题包更换为与所述当前时间参数对应的所述第一主题包。在具体实施过程中,第二主题包是更换主题包之前智能装置所应用的主题包,其通常为与当前时间参数不对应的主题包;而第一主题包是更换主题包之后智能装置所应用的主题包,其通常为与所述当前时间参数对应的主题包。该步骤中包含主题包的下载和加载的具体内容,后面将会结合附图4和附图5分别做详细的解释。
与当前时间参数对应的主题包可能预存于智能装置本地,也有可能在服务器端。对于预存于智能装置本地的主题包,智能装置可以根据当前日期参数从智能装置的本地data分区中查询与当前时间参数相匹配的主题包,智能装置在data分区中将主题包以相应的日期命名,比如用于国庆节的主题包,可以命名为:10-01。
对于在服务器端的主题包,智能装置可以向服务器发送包含当前时间参数的主题包获取请求,服务器根据该请求中包含的当前时间参数获取所有与当前时间参数相匹配的主题包信息,并将与当前时间参数相匹配的主题包名称、下载地址返回给智能装置,智能装置得到返回的信息后,根据所述下载地址将所述主题包下载到智能装置的本地data分区。
为了避免重复下载,智能装置在向服务器发送主题包获取请求时,可以在主题包获取请求中携带过滤信息,该过滤信息例如包括:智能装置本地data分区中已经预存的主题包信息,服务器在获取所有与当前时间参数相匹配的主题包信息时,将上述滤除信息中的主题包滤除,或者在返回信息中将上述滤除信息中的主题包滤除,这样可以有效的避免重复下载,节省***资源和流量。过滤后的主题包就是需要新下载的主题包。服务器将其主题包的名称、日期、下载地址返回给主题应用程序,主题应用程序收到返回的信息后,通过该主题包信息中所包含的主题包下载地址去下载对应的主题包,对于Android***,下载可以使用Android自带的方法,在此不做过多说明。智能设备可以将主题包下载到该主题应用程序的data分区中,并以下载的主题包中的日期命名。
另外,在具体实施过程中,还可以根据一定的原则清理智能设备上存储的主题包,例如:可以清理当前日期之前主题包,以释放存储空间。进一步的,在对主题包进行清理之前,可以获得用户保存过的主题包,从而在对主题包进行清理时,不会清理用户保存过的主题包。例如:如果有的主题包被用户设置为固定使用主题包,那么在该主题包的文件名之后加上_usersave字段,加上该字段后,在主题应用程序进行主题包的清理时,则不会清理存在_usersave字段的的主题包。
具体在本实施例中,从服务器下载主题包时,可以设定查看主题应用程序目录下是否有主题的更新时间段为三天,即当前日期后三天,参考附图4,具体操作流程为:
S111:获取当前日期;
S112:查看主题应用程序目录下当前日期后三天是否有主题,如果有执行S113,如果没有直接执行S114;
S113:获得该有主题的日期名称记录;
S114:请求服务器,发送应用请求;
S115:查询是否有新的主题包,如果有执行S116,如果没有执行S117;
S116:开始下载该主题包;
S117:清理主题目录下大于3天的主题包。
步骤S111中,获取当前日期,该日期的格式为YYYY-MM-DD。
步骤S112中,查看主题应用程序目录下当前日期后三天是否有主题,获取到当前日期后,用该日期查询本地是否存在该日期后三天的主题包。具体的查询方法是首先根据当前日期,得到后三天的日期。得到的方式是使用Android的Calendar来实现,首先得到一个Calendar的实例,并向其中传入当前的时间,再通过add方法传入Calendar.DAY并+1得到当天后一天的日期数,最后使用getTime得到日期字符串,获取其它日期可依次类推。其代码如下:
Calendar ca=Calendar.getInstance();//得到一个Calendar的实例
ca.setTime(new Date());//设置时间为当前时间
ca.add(Calendar.DAY,-1);//天数加1
Date lastMonth=ca.getTime();//结果
在得到该日期后,将使用该日期去查询主题应用程序的data分区中是否有以该名称命名的主题包。如果有,则将该日期拿出来。如果没有则忽略该日期。
步骤S114中:请求服务器,发送应用请求,在获取到当前日期后,使用当前日期作为参数,并加上当前的日期去请求服务器,并在服务器中加上本地已有的主题包日期,避免重复下载。
步骤S115中:查询是否有新的主题包,当主题应用程序将请求发送给服务器后,服务器先根据该请求中请求的当前参数获取到这三天的所有主题包信息,并根据其传来的该主题应用程序已下载的信息,过滤掉本地已存在的该日期后三天的主题包,留下的主题包就是需要新下载的主题包,服务器将其主题包的名称、日期、下载地址返回给主题应用程序,然后执行步骤S116:开始下载该主题包,具体方法是主题应用程序得到返回的信息后,首先解析该数据,判断是否有新的主题包,如果返回的信息中有内容,则断定有新的主题包,如果没有内容,则断定没有新的主题包。有主题包时,则开始去下载,下载使用Android自带的方法,在此不做赘述。主题包下载到该应用的data分区中,并以下载主题信息中的日期命名。
步骤S117中:清理主题目录下大于3天的主题包,在下载完毕或者没有新主题包下载的逻辑执行完毕后,将根据当前日期清理之前的主题包,因为只会加载当天或者当天之后的主题包,之前的主题包已失效,因此需要删除,以释放存储空间。在删除之前会进行过滤用户保存的主题。如果有的主题被用户设置为固定使用主题,那么该主题包的文件名会在该文件名之后加上_usersave字段。加上该字段后,在程序进行检测需要删除的包时会将主题包存在_usersave字段的文件过滤不删除。
接下来,主题应用程序需要加载主题包,如附图5所示,具体流程如下:
S311:根据日期获取当前主题包;
S312:解压该主题包;
S313:获取其中主题配置文件;
S314:获取资源文件;
S315:解析资源文件为可以识别的数据;
在执行步骤S311根据日期获得第一主题包后,***会加载该主题包,由于主题包为压缩文件格式,所以加载该主题包需要首先对压缩文件进行解压,需要执行步骤S312,然后执行步骤S313获取解压后的主题包中的主题配置文件,并对该主题配置文件进行解析,执行步骤S314获取解压后的主题包中的资源文件,执行步骤S315对资源文件进行解析以获得***可以识别的数据,***根据解析后的主题配置文件加载所述资源文件,从而完成主题包的加载,实现主题包的切换。
本实施例步骤S314中的资源文件主要是该主题的图片文件,每个资源图片的名称将对应配置文件中的配置项;配置文件则是该主题的配置参数文件。主题应用程序中哪些地方需要更改,哪些图片需要更换主题,或者哪些地方需要更改颜色,更改字体,都会在该配置文件中规定。在具体实施过程中,步骤S313中的主题配置文件可以为一个XML(Extensible Markup Language可扩展标记语言)文件,XML中每一条信息都为应用中某个控件的设置属性。
本实施例中,主题包中的这些文件被打包成一个压缩文件,主要目的是为了方便主题应用程序从服务器下载。当主题应用程序需要加载这些主题包时,就需要将其解压,并将得到的文件放到主题应用程序的data分区中,并以该主题包中的日期命名,该日期为主题包所对应的显示日期,例如:十一主题包所对应的显示日期为10-01。当主题应用程序需要加载某主题包,则自动解析该主题包的配置文件,并在主题应用程序启动的时候加载该配置文件,解析出哪些地方需要更改图片,在需要更改图片的地方,将原有的主题图片背景,或者图标更换成配置文件中所标注的图片名称。需要更改的控件名称在开发阶段就已经规定好。只需要在配置文件中,添加上该控件需要更改的属性即可,例如:如果需要更改TextView的文字大小,而该Textview的id为text,则在配置文件中写上如下代码:
<TextView id=text textsize=23px/>
通过以上代码,将id为text的Textview的textsize更改为23px。在主题应用程序打开时,主题应用程序将读取到上述内容,等主题应用程序加载到这里时,首先根据该控件的类型和id去查询已加载的配置文件中是否有该项,如果有,则更改,如果没有则按照主题应用程序原先设定进行加载。
以上为自动主题切换的实施方案,作为一种可选的实施例,本发明还可以基于用户的手动切换操作,进而实现主题包的切换,例如:当用户喜欢某个节日主题时,可以进入主题列表界面选择加载该主题,主题列表界面主要是显示用户之前选择过的主题和自动加载的最近4或6个主题包,这些主题包可以是已经保存到本地的或者服务器上的主题包。当用户选择某个主题包后,该主题包不可删除,其余的主题包用户可以在该主题列表界面删除。当基于用户的手动切换操作为智能装置设置主题包之后可以暂时停止自动切换主题包的功能,如果用户需要重新启动主题自动切换功能,只需要将主题应用程序设置成自动切换即可。
在检测到用户的手动切换操作之后,***首先读取主题应用程序本身的sharepreference中的数值。SharePreference是一个轻量级的存储机制。只能存储一些基础类型,以xml文件为载体。文件存放路径为data/data/包名/share_prefs/文件名.xml,存储的时候类似于Map,以key-Value值对的形式存储。存放数据的时候需要调用到SharePreference接口的一个editor属性,通过editor进行数据添加、移除等操作数据,而且必须调用editor的commit方法,在本方案中,commit方法主要用于存储用户的设置数据。如果用户使用自动切换主题,那么在SharePreference中就设置auto_check为0;如果用户使用不自动切换的主题包,那么auto_check就设置为1。当该值设置为1时,就代表用户主动将主题设置为自己所需要的主题包。因此,当该数值为1时,则需要在SharePreference中保存另外一个值theme_name,该key的value值对应的则是用户所选择的主题包的名称。下面将结合附图6做详细的介绍:
如附图6所示,切换模式选择流程具体为:
S411、主题应用程序启动;
S412、读取SP(SharePreference)中的auto_check的数值;
S413、判断auto_check是否为1,如果为1执行S414,如果不为1执行S419;
S414、读取SP(SharePreference)theme_name的值;
S415、判断theme_name的值是否为空,如果不为空,执行S416,如果为空执行S418;
S416、通过theme_name数据能否找到主题包,如果能找到主题包执行S417,如果找不到主题包执行S418;
S417、开始运行自定义主题包设置逻辑;
S418、提醒用户设置错误,然后执行S419;
S419、开始运行自动主题包逻辑。
需要说明的是,SP(SharePreference)中的auto_check的数值默认是0。因此,如果用户第一次进主题应用程序,该数字就读取不到用户数据,而使用设置的默认值0,从而主题应用程序会使用自动更换主题功能。当用户选择手动设置主题包之后,则该数值更换为1。当主题应用程序读取到该值为1时,再去读取主题包是否存在,由于主题包的固定位置在开发阶段已经确定,因此,只需要根据theme_name(文件名)判断该位置中是否有该文件名即可。该文件名是在用户设置自定义主题包时进行的设置,当用户设置完成后,则会存储到SharePreference中,并在这里可以取得值。用户如果没有设置,或者设置错误,这里就取不到值,此时会提醒用户设置失败并自动运行自动主题包逻辑。当可以取到theme_name(文件名),并已经判断该主题包存在,则按照之前的逻辑来加载该主题包。此时加载主题包后将不会更新其他的主题包,直到用户手动将设置设为自动更新主题包为止。
第二方面,基于同一发明构思,本发明实施例提供一种智能装置,请参考图7,包括:
获取模块21,用于获取当前时间参数;
判断模块22,用于判断所述当前时间参数是否满足预设的主题包更换条件;
确定模块23,用于如果满足所述预设的主题包更换条件,基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包;
切换模块24,用于将所述智能装置所应用的主题包由第二主题包更换为与所述当前时间参数对应的所述第一主题包。
可选的,所述判断模块22,包括:
第一时刻确定单元,用于确定出上一次更换主题包的第一时刻;
第一判断单元,用于判断所述当前时间参数所对应的当前时刻与所述第一时刻是否属于不同的时间段;
第一确定单元,用于当所述当前时间参数所对应的当前时刻与所述第一时刻属于不同的时间段时,确定出所述当前时间参数满足所述预设的主题包更换条件。
可选的,所述判断模块22,还包括:
第二判断单元,用于判断所述当前时间参数所对应的当前日期是否属于预设日期;
第二确定单元,用于当所述当前时间参数所对应的当前日期属于预设日期时,确定满足所述预设的主题包更换条件。
进一步的,所述第一主题包,包括:预存于所述智能装置本地的与所述当前时间参数对应的主题包;或者,
基于所述当前时间参数与服务器获得的主题包。
进一步的,所述确定模块用于:
从所述至少两个主题包中确定出不位于所述历史选择记录的主题包,基于不位于所述历史选择记录的主题包确定出所述第一主题包;和/或,
基于所述历史选择记录确定出所述用户对各个类别的主题包的选择次数;确定出所述选择次数满足预设条件的类别;基于所述类别从所述至少两个主题包确定出所述第一主题包。
由于本发明实施例第二方面所介绍的智能装置,为实施本发明实施例第一方面的切换主题所采用的装置,故而基于本发明实施例第一方面所介绍的切换主题方法,本领域所属人员能够了解该智能装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例第一方面的切换主题方法所采用的智能装置都属于本发明所欲保护的范围。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请技术方案所提出的方法和装置,可以通过获取当前时间参数,判断当前时间参数是否满足预设的主题包更换条件,若是,基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包,将所述智能装置所应用的主题包由第二主题包更换为所述第一主题包。如此不仅可以实现智能装置根据当前时间进行主题的自动切换,同时还结合了用户对主题包的使用情况从多个主题包中选取相应的主题包来切换,达到了满足用户对应用主题的个性化需求的同时,能提高智能装置的主题切换效率的技术效果,且其切换过程完全自由平滑,无需人工的介入,不需要人为地去查找、选定以及加载某个主题包来达到更换主题的目的,为用户带来更加简便快捷和人性化的操作方式。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、***中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种智能装置切换主题的方法,其特征在于,包括:
获取当前时间参数;
判断所述当前时间参数是否满足预设的主题包更换条件;
若是,基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包;
将所述智能装置所应用的主题包由第二主题包更换为所述第一主题包。
2.如权利要求1所述的方法,其特征在于,所述判断所述当前时间参数是否满足预设的主题包更换条件,包括:
确定出上一次更换主题包的第一时刻;
判断所述当前时间参数所对应的当前时刻与所述第一时刻是否属于不同的时间段;
如果是,确定出所述当前时间参数满足所述预设的主题包更换条件。
3.如权利要求1所述的方法,其特征在于,所述判断所述当前时间参数是否满足预设的主题包更换条件,包括:
判断所述当前时间参数所对应的当前日期是否属于预设日期;
如果属于所述预设日期,确定满足所述预设的主题包更换条件。
4.如权利要求1-3任一所述的方法,其特征在于,所述第一主题包,包括:预存于所述智能装置本地的与所述当前时间参数对应的主题包;或者,
基于所述当前时间参数从服务器获得的主题包。
5.如权利要求1-3任一所述的方法,其特征在于,所述基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包,包括:
从所述至少两个主题包中确定出不位于所述历史选择记录的主题包,基于不位于所述历史选择记录的主题包确定出所述第一主题包;和/或,
基于所述历史选择记录确定出所述用户对各个类别的主题包的选择次数;确定出所述选择次数满足预设条件的类别;基于所述类别从所述至少两个主题包确定出所述第一主题包。
6.一种智能装置,其特征在于,包括:
获取模块,用于获取当前时间参数;
判断模块,用于判断所述当前时间参数是否满足预设的主题包更换条件;
确定模块,用于如果满足所述预设的主题包更换条件,基于所述智能装置的用户对所述智能装置所应用的主题包的历史选择记录,从与所述当前时间参数对应的至少两个主题包中确定出第一主题包;
切换模块,用于将所述智能装置所应用的主题包由第二主题包更换为与所述当前时间参数对应的所述第一主题包。
7.如权利要求6所述的智能装置,其特征在于,所述判断模块,包括:
第一时刻确定单元,用于确定出上一次更换主题包的第一时刻;
第一判断单元,用于判断所述当前时间参数所对应的当前时刻与所述第一时刻是否属于不同的时间段;
第一确定单元,用于当所述当前时间参数所对应的当前时刻与所述第一时刻属于不同的时间段时,确定出所述当前时间参数满足所述预设的主题包更换条件。
8.如权利要求6所述的智能装置,其特征在于,所述判断模块,还包括:
第二判断单元,用于判断所述当前时间参数所对应的当前日期是否属于预设日期;
第二确定单元,用于当所述当前时间参数所对应的当前日期属于预设日期时,确定满足所述预设的主题包更换条件。
9.如权利要求6-8任一所述的智能装置,其特征在于,所述第一主题包,包括:预存于所述智能装置本地的与所述当前时间参数对应的主题包;或者,
基于所述当前时间参数与服务器获得的主题包。
10.如权利要求6-8任一所述的智能装置,其特征在于,所述确定模块,用于:
从所述至少两个主题包中确定出不位于所述历史选择记录的主题包,基于不位于所述历史选择记录的主题包确定出所述第一主题包;和/或,
基于所述历史选择记录确定出所述用户对各个类别的主题包的选择次数;确定出所述选择次数满足预设条件的类别;基于所述类别从所述至少两个主题包确定出所述第一主题包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611062621.8A CN106648622A (zh) | 2016-11-25 | 2016-11-25 | 一种智能装置切换主题的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611062621.8A CN106648622A (zh) | 2016-11-25 | 2016-11-25 | 一种智能装置切换主题的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106648622A true CN106648622A (zh) | 2017-05-10 |
Family
ID=58811792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611062621.8A Pending CN106648622A (zh) | 2016-11-25 | 2016-11-25 | 一种智能装置切换主题的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106648622A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639883A (zh) * | 2018-11-20 | 2019-04-16 | 维沃移动通信有限公司 | 一种主题的推荐方法和移动终端 |
CN112395026A (zh) * | 2019-08-14 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 一种主题状态调整方法、装置、设备及存储介质 |
CN114296861A (zh) * | 2022-01-14 | 2022-04-08 | 平安普惠企业管理有限公司 | 前端应用风格切换方法、装置、电子设备及存储介质 |
CN114780182A (zh) * | 2022-03-11 | 2022-07-22 | 北京百度网讯科技有限公司 | 切换图标风格的方法、装置、设备、介质及产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067599A (zh) * | 2013-01-09 | 2013-04-24 | 广东欧珀移动通信有限公司 | 一种移动终端壁纸更新方法及*** |
CN104571874A (zh) * | 2015-02-13 | 2015-04-29 | 上海触乐信息科技有限公司 | 动态切换键盘背景的方法和装置 |
CN104683458A (zh) * | 2015-02-12 | 2015-06-03 | 广东欧珀移动通信有限公司 | 一种壁纸推荐的方法及服务器 |
CN104915257A (zh) * | 2015-06-08 | 2015-09-16 | 青岛海信移动通信技术股份有限公司 | 一种基于Android***应用的更换主题方法和装置 |
CN105975278A (zh) * | 2016-05-11 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种切换应用界面皮肤的方法及装置 |
-
2016
- 2016-11-25 CN CN201611062621.8A patent/CN106648622A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067599A (zh) * | 2013-01-09 | 2013-04-24 | 广东欧珀移动通信有限公司 | 一种移动终端壁纸更新方法及*** |
CN104683458A (zh) * | 2015-02-12 | 2015-06-03 | 广东欧珀移动通信有限公司 | 一种壁纸推荐的方法及服务器 |
CN104571874A (zh) * | 2015-02-13 | 2015-04-29 | 上海触乐信息科技有限公司 | 动态切换键盘背景的方法和装置 |
CN104915257A (zh) * | 2015-06-08 | 2015-09-16 | 青岛海信移动通信技术股份有限公司 | 一种基于Android***应用的更换主题方法和装置 |
CN105975278A (zh) * | 2016-05-11 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种切换应用界面皮肤的方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639883A (zh) * | 2018-11-20 | 2019-04-16 | 维沃移动通信有限公司 | 一种主题的推荐方法和移动终端 |
CN109639883B (zh) * | 2018-11-20 | 2021-01-22 | 维沃移动通信有限公司 | 一种主题的推荐方法和移动终端 |
CN112395026A (zh) * | 2019-08-14 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 一种主题状态调整方法、装置、设备及存储介质 |
CN112395026B (zh) * | 2019-08-14 | 2022-09-23 | 腾讯科技(深圳)有限公司 | 一种主题状态调整方法、装置、设备及存储介质 |
CN114296861A (zh) * | 2022-01-14 | 2022-04-08 | 平安普惠企业管理有限公司 | 前端应用风格切换方法、装置、电子设备及存储介质 |
CN114780182A (zh) * | 2022-03-11 | 2022-07-22 | 北京百度网讯科技有限公司 | 切换图标风格的方法、装置、设备、介质及产品 |
CN114780182B (zh) * | 2022-03-11 | 2024-05-10 | 北京百度网讯科技有限公司 | 切换图标风格的方法、装置、设备、介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104714828B (zh) | 应用安装、运行方法及装置 | |
CN106648622A (zh) | 一种智能装置切换主题的方法及装置 | |
KR101105177B1 (ko) | 사용자 인터페이스 컨텐츠 데이터용 데이터 컨테이너 | |
CN100481080C (zh) | 一种浏览器本地页面的存储和更新方法 | |
CN109324819A (zh) | 服务器代码部署方法、装置、服务器设备及存储介质 | |
CN100458689C (zh) | 控制移动电信装置的设置 | |
CN103995721B (zh) | 一种应用程序的升级方法、装置及*** | |
CN103559065B (zh) | 一种ota升级的方法和*** | |
CN103425483B (zh) | 用于动态地定制菜单的方法和存储介质 | |
CN108804188A (zh) | 界面换肤方法及装置 | |
CN106445663A (zh) | 应用数据的迁移方法及装置 | |
CN110069264A (zh) | 构建资源包的方法、装置、计算机设备和存储介质 | |
CN101840418A (zh) | 一种用户词库同步更新的方法、更新服务器及输入法*** | |
CN102833350A (zh) | WebApp更新的处理方法和处理装置 | |
CN107016280A (zh) | 一种客户端应用程序的升级方法及*** | |
CN106951284B (zh) | 基于安卓***应用的用户界面升级方法、装置及智能终端 | |
CN105677421A (zh) | 一种移动终端的桌面启动器的定制方法及*** | |
CN104216902A (zh) | 一种基于服务器分页的分页数据装载方法、装置和*** | |
CN104915188A (zh) | 一种变更主题的方法、***及移动终端 | |
US9037539B2 (en) | Data synchronization | |
CN107045413A (zh) | 应用程序图标的显示方法和装置 | |
CN106227541A (zh) | 一种程序更新下载处理方法及移动终端 | |
CN103399762A (zh) | 一种基于移动终端的应用定制方法及*** | |
Cetina et al. | Strategies for variability transformation at run-time. | |
CN104572303A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |