控制功能组件的开关状态的方法、可读存储介质及设备与流程

文档序号:15257243发布日期:2018-08-24 20:49阅读:171来源:国知局

本发明涉及计算机领域,具体涉及一种控制功能组件的开关状态的方法、相关的计算机可读存储介质以及电子设备。



背景技术:

在android开发过程中,会使用到开关状态信息,开关状态信息通常用于保存一些开关的状态信息。例如,有一些新功能上线后开关是打开的,但是由于后期业务需求需要删除某一个或多个功能,此时就需要关闭相应的功能的开关,这个时候我们就需要获取开关状态信息。

现有技术中,开关状态信息的获取通常是在需要的时候终端才会向服务器端发送获取请求,而且开关状态获取后就直接使用,没有进行缓存处理的过程。这种方法会导致开关状态获取出现延迟情况,从而影响开关状态的变更延迟,并且在较弱网络环境的时候可能会影响请求速度,这样就会导致开关状态的判定耗时很久,从而影响用户体验。另外,现有技术中获取的开关数据类型仪仅是基础数据类型,如果需要处理复杂类型的数据,过程就会变得比较复杂甚至难以处理。

因此,有必要提出一种新的控制功能组件的开关状态的方法。



技术实现要素:

有鉴于此,为了克服上述问题的至少一个方面,本发明的实施例提供一种控制功能组件的开关状态的方法,包括以下步骤:

s1,在应用程序启动时,从服务器端获取所述应用程序的所有功能组件所对应的开关状态信息;

s2,将所述开关状态信息存储到永久性存储器内;以及

s3,在所述功能组件中的一个或多个功能组件被执行时,从所述永久性存储器中调用所述一个或多个功能组件所对应的开关状态信息,以便控制所述一个或多个功能组件的开启和/或关闭。

进一步地,步骤s1还包括:

s11,将所述应用程序的所有功能组件的开关状态信息获取请求封装到一个网络请求中;

s12,在启动所述应用程序时,将所述网络请求发送到服务器端;以及

s13,所述服务器端返回所述应用程序的所有功能组件所对应的开关状态信息。

例如,从所述服务器端返回的所述开关状态信息的格式为字符串格式。

进一步地,所述步骤s2包括将所述字符串格式的开关状态信息写入到文件中,并将所述文件存储到所述永久性存储器内。

例如,在所述步骤s3中,从所述永久性存储器中调用所述一个或多个功能组件所对应的开关状态信息的步骤包括调用存储在所述永久性存储器中的所述文件中的字符串格式的开关状态信息,并对所述字符串格式的开关状态信息进行解析。

例如,调用存储在所述永久性存储器中的所述文件中的字符串格式的开关状态信息的步骤包括调用一个或同时调用多个功能组件所对应的存储在所述永久性存储器中的文件中的字符串格式的开关状态信息。

根据本发明的另一方面,提供一种计算机可读存储介质,其上存储有可执行指令,所述可执行指令在由处理器执行时,实现如上所述的任一种控制功能组件的开关状态的方法的步骤。

根据本发明的另一方面,提供一种电子设备,包括:

存储器,用于存储可执行指令;以及

处理器,用于执行所述存储器中存储的可执行指令,实现如上所述的任一种控制功能组件的开关状态的方法的步骤。

与现有技术相比,本发明具有以下优点:

(1)可以在应用程序启动时,获取到全部的开关状态信息,从而不需要发送多个网络请求获取开关状态信息;

(2)通过提前获取开关状态信息并将获取的内容进行持久化的处理,在使用开关状态信息时,可以直接从本地进行调取,极大地提高开关状态信息的获取速度,并能够有效的解决和发现相关的问题;

(3)将开关状态信息以文件的形式进行存储,可以在应用程序的任何地方对状态信息数据进行获取,并支持多个线程同步读取,极大的提高了获取开关状态信息的便捷程度。

附图说明

通过下文中参照附图对本发明所作的描述,本发明的其它目的和优点将显而易见,并可帮助对本发明有全面的理解。

图1为本发明实施例提供的控制功能组件的开关状态的方法的实施步骤的流程图;

图2为本发明实施例提供的计算机可读存储介质的结构示意图;

图3为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一个实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。

根据本发明的一个方面,提供了一种控制功能组件的开关状态的方法,具体实现思路如下:

在终端的应用程序启动时,发送一个网络请求到服务器端,服务器端将所有的开关状态信息返回到终端,并将该开关状态信息以文件的形式持久化的存储在永久性存储器内,这样就可以在应用程序的任何地方对开关状态信息进行调用。

更具体的,下面结合附图对本发明控制功能组件的开关状态的方法进行详细的描述。以下实施方案以在android系统中实施为例进行说明,明显地,本发明的发明构思也适用于ios系统以及其他终端操作系统。

参考图1所示,本发明的实施例提供的控制功能组件的开关状态的方法,可以包括如下步骤:

s1,在应用程序启动时,从服务器端获取应用程序的所有功能组件所对应的开关状态信息;

一个应用程序可以包括多个功能组件,而每个功能组件都对应着一个开关状态信息。每一个开关状态信息均可以包括与之所对应的功能组件打开、关闭、定时打开或定时关闭等一些基础控制信息,也可以包括其他的一些信息,例如与功能组件的对应标识等等,或者其他一些复杂数据信息。该步骤可以实现当用户启动一个应用程序时,就会从服务器端获取到该应用程序的所有的功能组件的开关状态信息。

在具体实施过程中,步骤s1还可以进一步包括:

s11,将应用程序的所有功能组件的开关状态信息获取请求封装到一个网络请求中;

在本步骤中,可以通过调用oncreate函数来实现将所有功能组件所需的开关状态信息封装到一个网络请求中,该函数只会在应用程序启动的时候被调用一次,因此,可以在应用程序启动的时候,在终端回调应用程序application类中的oncreate函数时,将所有功能组件所对应的开关状态信息获取请求封装到同一个标准的网络请求中。

s12,在启动应用程序时,将封装有上述开关状态信息获取请求的网络请求发送到服务器端;

s13,服务器端返回应用程序的所有功能组件所对应的开关状态信息。

在具体实施过程中,从服务器端返回的开关状态信息的格式为字符串格式。例如,可以是通过json字符串格式的形式将开关状态信息返回,json字符串可以简单的理解为就是一串有特定含义的字符数据。

通过步骤s1,就可以在应用程序启动的时候获取到当前应用程序所需要的所有的开关状态信息,并且所有开关状态信息以一个json字符串的格式从服务器端返回到终端。

s2,将开关状态信息存储到水久性存储器内;

在步骤s2中,可以将字符串格式的开关状态信息写入到文件中,并将文件存储到永久性存储器内,而且该文件的格式可以是xml格式,当然在此不限于xml格式,也可以采用其他文件格式。

在具体实施过程中,可以通过sharedpreferences类将json字符串格式的开关状态信息存储成xml格式的文件,而且该类还可以用于调用xml格式的义件中的json字符串格式的开关状态信息,并且该类在系统内部封装了资源的申请和释放过程,因此在使用该类进行数据的存储的时候就不用手动对资源进行释放和回收处理,这些处理工作均由操作系统自动完成。这与现有技术相比具有明显的内存资源占用少的优势,因为在现有技术中文件的打开和关闭需要手动维护,否则将会造成内存资源无法释放,或者导致内存资源的泄漏,有时甚至引起文件损坏。

接下来将详细描述如何将json字符串格式的开关状态信息存储到永久性存储器中。

在使用sharedpreferences类的时候,首先需要获取到该类的实例对象sp,具体的获取方法是通过调用android系统中的getsharedpreferences方法来获取到一个sp对象,这样就获取到了系统的sp操作对象,接下来通过该对象来将数据进行存储处理。

通过调用sp对象中的edit()函数来返回sp的一个编辑对象edit,edit对象主要是用于编辑数据使用的。接下来调用edit对象中的putstring(json)函数将步骤s1中获取到的json字符串存储到edit对象中,这样就将所有的开关信息全部存储到edit对象中了。

最终调用edit对象中的apply函数来将数据全部写入到xml格式的文件中去。这样就完成了以文件的形式将所有开关状态信息存储在永久性存储器内。

在该步骤中,由于将从服务器获得的开关信息通过文件的形式存储到永久化存储器内,终端可以不仅仪能实现控制功能组件开启和/或关闭等一些基础操作,还能处理一些比较复杂的操作,例如,定时开启某项功能组件,或者定时关闭某些功能组件等等,当然也不限于此。

而且由于本步骤中是通过文件来对开关状态信息进行存储的,文件本身具备同步处理能力,因此也就可以支持多请求同时访问。

s3,在功能组件中的一个或多个功能组件被执行时,从永久性存储器中调用一个或多个功能组件所对应的开关状态信息,以便控制一个或多个功能组件的开启和/或关闭。

在进一步较佳实施例中,调用存储在永久性存储器中的文件中的字符串格式的开关状态信息,并对字符串格式的开关状态信息进行解析,并且可以调用一个或同时调用多个功能组件所对应的存储在永久性存储器中的文件中的字符串格式的开关状态信息。

在具体实施过程中,可以通过调用getsharedpreferences来获取到一个sp对象,然后通过调用sp对象中的getstring函数获取到步骤2中存储的json字符串数据str。通过标准的json解析将该json数据解析成一个数据对象bean,那么该数据对象bean就是缓存了所有的开关信息的对象,接下来仪仪通过调用bean中的get系列函数就可以获取到对应的开关信息了。

这样,通过本实施例提供的方法,可以在应用程序启动时,获取到全部的开关状态信息,从而不需要发送多个网络请求获取开关状态信息;通过提前获取开关状态信息并将获取的内容进行持久化的处理,在使用开关状态信息时,可以直接从本地进行调取,极大地提高开关状态信息的获取速度,并能够有效的解决和发现相关的问题;将开关状态信息以文件的形式进行存储,可以在应用程序的任何地方对数据进行获取,并支持多个线程同步读取,极大的提高了获取开关状态信息的便捷程度。

基于同一发明构思,参考图2所示,本发明的实施例还提供一种计算机可读存储介质201,其上存储有可执行指令202,可执行指令202在由一个或多个处理器执行时,实现如上所述的任一种控制功能组件的开关状态的方法的步骤。

基于同一发明构思,参考图3所示,本发明实施例还提供了一种电子设备301,该电子设备301可以包括:

存储器310,其用于存储可执行指令311;以及

处理器320,其用于执行存储器310中存储的可执行指令311,实现如上所述的任一种控制功能组件的开关状态的方法的步骤。

对于本发明的实施例,还需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组介以得到新的实施例。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1