一种属性信息处理方法及装置与流程

文档序号:12692437阅读:137来源:国知局
一种属性信息处理方法及装置与流程
本发明涉及通信领域,特别涉及一种属性信息处理方法及装置。
背景技术
:安卓(Android)系统开发自由度高,方式灵活多变,便于开发者开发。Android系统提供属性信息供开发者使用,例如,开发者可以开发出用于控制闪光灯的属性信息,通过该属性信息控制拍照应用在拍照时是否开启摄像头的闪光灯。开发者开发的属性信息往往供多个应用使用。当某个应用修改该属性信息后,其他每个应用需要获取修改后的该属性信息。目前应用可以按如下方式来获取修改后的该属性信息,包括:应用在开启时可以启动一个属性监听线程,该属性监听线程每隔预设时间获取该属性信息包括的属性值,如果当前获取的属性值与最近上一次获取的属性值不同,则判断出该属性信息发生了修改,并通知应用,以使用获取修改后的该属性信息。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:目前每隔预设时间获取一次属性信息包括的属性值,资源消耗高,另外,当属性信息发生修改后,可能要等待一段时间属性监听线程才发现该属性信息发生修改,导致应用获取修改后的属性信息的实时性较差。技术实现要素:为了降低资源消耗以及提高应用获取修改后的属性信息的实时性,本发明提供了一种属性信息处理方法及装置。所述技术方案如下:第一方面,本申请提供了一种属性信息处理方法,所述方法包括:接收第一属性值,所述第一属性值用于修改第一属性信息,所述第一属性信息包括属性名和第二属性值;将所述第一属性信息包括的第二属性值修改为所述第一属性值得到第二属性信息;通过第一应用注册监听的预设数据库中的预设数据库项将所述第二属性信息提供给所述第一应用,所述第一应用为需要调用所述第一属性信息的应用。可选地,所述通过第一应用注册监听的预设数据库中的预设数据库项将所述第二属性信息提供给所述第一应用,包括:将所述预设数据库中的所述预设数据库项对应的数据库值更新为第一数据库值,所述第一数据库值包括修改得到的所述第二属性信息,使操作系统控制所述第一应用从所述预设数据库中读取所述预设数据库项对应的第一数据库值。可选地,所述将所述预设数据库中的所述预设数据库项对应的数据库值更新为第一数据库值,包括:生成包括所述属性名和所述第一属性值的第一数据库值;生成携带有所述预设数据库项和所述第一数据库值的数据库修改命令;通过所述数据库修改命令将所述预设数据库中的所述预设数据库项对应的数据库值更新为第一数据库值。可选地,在所述第一数据库值中所述第二属性信息包括的所述属性名和所述第一属性值用预设连接符隔开。可选地,所述通过第一应用注册监听的预设数据库中的预设数据库项将所述第二属性信息提供给所述第一应用之前,还包括:在所述第一应用启动时注册所述第一应用监听所述预设数据库中的所述预设数据库项。第二方面,本申请提供了一种属性信息处理装置,所述装置包括:接收模块,用于接收第一属性值,所述第一属性值用于修改第一属性信息,所述第一属性信息包括属性名和第二属性值;修改模块,用于将所述第一属性信息包括的第二属性值修改为所述第一属性值得到第二属性信息;提供模块,用于通过第一应用注册监听的预设数据库中的预设数据库项将所述第二属性信息提供给所述第一应用,所述第一应用为需要调用所述第一属性信息的应用。可选地,所述提供模块通过第一应用注册监听的预设数据库中的预设数据库项将所述第二属性信息提供给所述第一应用,包括:将所述预设数据库中的所述预设数据库项对应的数据库值更新为第一数据库值,所述第一数据库值包括修改得到的所述第二属性信息,使操作系统控制所述第一应用从所述预设数据库中读取所述预设数据库项对应的第一数据库值。可选地,所述提供模块将所述预设数据库中的所述预设数据库项对应的数据库值更新为第一数据库值,包括:生成包括所述属性名和所述第一属性值的第一数据库值;生成携带有所述预设数据库项和所述第一数据库值的数据库修改命令;通过所述数据库修改命令将所述预设数据库中的所述预设数据库项对应的数据库值更新为第一数据库值。可选地,在所述第一数据库值中所述第二属性信息包括的所述属性名和所述第一属性值用预设连接符隔开。可选地,所述装置还包括:注册模块,用于在所述第一应用启动时注册所述第一应用监听所述预设数据库中的所述预设数据库项。本发明提供的技术方案的有益效果至少包括:当第一属性信息修改为第二属性信息时,通过第一应用注册监听的预设数据库中的预设数据库项将第二属性信息提供给第一应用,这样第一应用不需要启动一个属性监听线程,来每隔预设时间轮询一次第一属性信息,降低了资源消耗,同时,通过监听数据库项的变化即可获得属性值的变化,改善了应用获取修改后的第二属性信息的实时性。附图说明图1是本发明实施例提供的一种属性信息处理方法流程图;图2是本发明另一实施例提供的一种属性信息处理方法流程图;图3是本发明实施例提供的一种属性信息处理装置结构示意图;图4是本发明另一实施例提供的一种属性信息处理装置结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。参见图1,本发明实施列提供了一种属性信息处理方法,所述方法包括:步骤101:接收第一属性值,第一属性值用于修改第一属性信息,第一属性信息包括属性名和第二属性值。步骤102:将第一属性信息包括的第二属性值修改为第一属性值得到第二属性信息。步骤103:通过第一应用注册监听的预设数据库中的预设数据库项将第二属性信息提供给第一应用,第一应用为需要调用第一属性信息的应用。在本实施例中,当第一属性信息修改为第二属性信息时,通过第一应用注册监听的预设数据库中的预设数据库项将第二属性信息提供给第一应用,这样第一应用不需要启动一个属性监听线程,来周期性轮询来获得属性信息的变化,降低了资源消耗,同时也提高了应用获取修改后的属性信息的实时性。参见图2,本发明实施例提供了一种属性信息处理方法,包括:步骤201:在终端中的应用启动时,注册该应用监听预设数据库中的预设数据库项。在本实施例中,终端中包括至少一个属性信息,该属性信息包括属性名和属性值,终端中的各个应用可以调用该属性信息。终端中的各属性信息对应预设数据库(例如,系统数据库)中的一个预设数据库项,当终端中的应用启动时,注册该应用监听该预设数据库中的该预设数据库项。或者,终端中的各属性信息对应一个预设数据库,但各属性信息在该预设数据库中对应的预设数据库项可以不同,当终端中的应用启动时,注册该应用监听该预设数据库中的该应用需要调用的属性信息对应的预设数据库项。在本实施例中,对于终端中的任一属性信息,称该属性信息为第一属性信息。第一应用是终端中需要调用第一属性信息的任一应用,第一应用包括其需要注册监听的预设数据库的数据库名和预设数据库项。在第一应用启动时,注册第一应用监听该预设数据库中的该预设数据库项。第一属性信息包括属性名和第二属性值,终端可以为手机、平板电脑等终端。例如第一属性信息可以为如下形式:[sys.boot.animation]:[boot],其中sys.boot.animation为属性名,boot为属性值。通过第一属性信息包括的属性值可以对第一应用进行控制。例如,假设,第一应用为用于拍摄照片的应用,第一属性信息包括的属性值可以用于控制第一应用拍照时是否使用闪光灯,且第一应用中事先预设有第一属性信息包括的属性名。假设第一属性信息包括的第二属性值用于控制第一应用在拍照时使用闪光灯,这样第一应用先根据预设的该属性名调用第一属性信息包括的第二属性值,在拍照时根据第二属性值开启闪光灯。如果需要关闭闪光,则只需要将第一属性信息包括的第二属性值修改为第一属性值,第一属性值用于控制第一应用关闭闪光,这样第一应用先根据预设的该属性名调用第一属性信息包括的第一属性值,在拍照时根据第一属性值关闭闪光灯。第一应用可以根据该属性名,通过属性调用接口调用第一属性信息包括的第二属性值。第一应用可能是采用Java语言、C语言或C++语言编写的应用。属性调用接口包括Java侧接口和C/C++侧接口。当第一应用采用Java语言编写时,第一应用根据该属性名,通过Java侧接口调用第一属性信息包括的第二属性值。当第一应用采用C语言或C++语言编写时,第一应用根据该属性名,通过C/C++侧接口调用第一属性信息包括的第二属性值。预设数据库用于存储数据库项与数据库值的对应关系。预设数据库是操作系统中的某个数据库,该操作系统可以为Android系统或ios系统等。例如,假设操作系统中存在如表1所示的预设数据库,预设数据库的数据库标识为data1,预设数据库项为property_listener。在预设数据库中,预设数据库项property_listener对应的初值可以为空或为任一项值,假设在本实施例中,预设数据库项property_listener对应的初值为0。表1数据库项数据库值property_listener0…………其中,在终端的操作系统中注册第一应用监听预设数据库中的预设数据库项。且在注册时,将第一应用的应用标识、预设数据库的数据库标识和预设数据库项对应保存在应用标识、数据库标识与数据库项的对应关系中。注册完成之后,当预设数据库中的预设数据库项对应的数据库值发生改变时,操作系统就会向第一应用发送通知事件。第一应用接收到该通知事件后,根据预设数据库项,从预设数据库中获取预设数据库项对应的数据库值,获取的该数据库值是改变后的数据库值。例如,假设第一应用的应用标识为APP1,在第一应用向操作系统请求注册监听预设数据库中的预设数据库项property_listener时,将第一应用的应用标识APP1、预设数据库的数据库标识data1和预设数据库项property_listener对应保存在如表2所示的应用标识、数据库标识与数据库项的对应关系中。表2应用标识数据库标识数据库项APP1data1property_listener………………步骤202:接收第一属性值,第一属性值用于修改第一属性信息。终端存在第二应用需要修改第一属性信息包括的第二属性值,第二应用也是需要调用第一属性信息的应用。例如,假设第一属性信息用于控制第一应用拍照时是否使用闪光灯,则第二应用可以是闪光灯设置应用,用户可以通过第二应用对第一属性信息包括的属性值进行修改,以控制第一应用在拍照时是否使用闪光灯。第一属性信息对应一个属性服务程序,该属性服务程序是操作系统中的一系统程序。第二应用当需要将第一属性信息包括的第二属性值修改为第一属性值时,通过属性设置接口(setProperty)将第一属性值发送给第一属性信息对应的属性服务程序。相应的,可以通过第一属性信息对应的属性服务程序接收第一属性值。步骤203:将第一属性信息包括的第二属性值修改为第一属性值,得到第二属性信息。通过第一属性信息对应的属性服务程序接收该第一属性值后,将该属性服务程序对应的第一属性信息包括的第二属性值修改为第一属性值,得到第二属性信息。例如,第一属性信息为[sys.boot.animation]:[boot],当存在第二应用需要将第一属性信息包括的第二属性值boot修改为第一属性值bootnew时,第二应用调用setProperty接口,通过setProperty接口将第一属性值bootnew发送给第一属性信息对应的属性服务程序。通过第一属性信息对应的属性服务程序接收用于修改第一属性信息的第一属性值bootnew;然后再通过第一属性信息对应的属性服务程序,将该属性服务程序对应的第一属性信息包括的第二属性值boot修改为第一属性值bootnew,这样得到的第二属性信息为[sys.boot.animation]:[bootnew]。步骤204:通过第一应用注册监听的预设数据库中的预设数据库项将所述第二属性信息提供给第一应用。具体的,将预设数据库中的预设数据库项对应的数据库值更新为第一数据库值,第一数据库值包括修改得到的第二属性信息,即包括该属性名和第一属性值,使操作系统控制第一应用从预设数据库中读取预设数据库项对应的第一数据库值,这样第一应用从第一数据库值中得到第二属性信息包括的属性名和第一属性值。其中,可以通过如下流程,将预设数据库中的预设数据库项对应的数据库值更新为第一数据库值,包括:2041:生成包括该属性名和第一属性值的第一数据库值。其中,在第一数据库值中该属性名和第一属性值用预设连接符隔开。可以调用property_change方法将第二属性信息包括的该属性名和第一属性值拼接成一个字符串,在该字符串中该属性名和第一属性值用预设连接符连接,将该字符串作为第一数据库值。例如,第二属性信息为[sys.boot.animation]:[bootnew],预设连接符为“=”,将第二属性信息包括的属性名sys.boot.animation和第一属性值bootnew拼接成一个字符串为sys.boot.animation=bootnew,该字符串sys.boot.animation=bootnew为第一数据库值。2042:生成携带有预设数据库项和第一数据库值的数据库修改命令。具体的,从终端的操作系统中调用数据库修改命令,确定第一属性信息对应的预设数据库项,将预设数据库项和第一数据库值作为该数据库修改命令的命令参数,生成携带有预设数据库项和第一数据库值的数据库修改命令。其中,终端的操作系统中包括数据库修改命令为“settingsputsystem####”,字段“####”用于携带命令参数。在本实施例中,调用该数据库修改命令,另外,预设数据库项为“property_listener”,第一数据库值为“sys.boot.animation=bootnew”,这样生成的携带有预设数据库项和第一数据库值的数据库修改命令为“settingsputsystemproperty_listenersys.boot.animation=bootnew”。2043:通过该数据库修改命令将预设数据库中的预设数据库项对应的数据库值更新为第一数据库值。可以将该数据库修改命令发送给终端的操作系统,终端的操作系统接收该该数据库修改命令,根据该数据库修改命令携带的预设数据库项,从预设数据库中获取对应的数据库值,将获取的数据库值更新为该数据库修改命令携带的第一数据库值。其中,终端的操作系统当更新预设数据库中的预设数据库项对应的数据库值时,会自动向已注册监听预设数据库中的预设数据库项的应用发送通知事件。注册监听预设数据库中的预设数据库项的应用中包括第一应用,这样第一应用就会接收到该通知事件,根据该通知事件的指示,会自动从预设数据库中获取预设数据库项对应的第一数据库值,从第一数据库值中提取第二属性信息包括的属性名和第一属性值。可选地,终端的操作系统可以根据预设数据库的数据库标识和预设数据库项,从应用标识、数据库标识与数据库项的对应关系中获取注册监听预设数据库中的预设数据库项的应用的应用标识,然后向获取的各应用标识对应的应用发送通知事件。其中,需要说明的是:终端中的各属性信息可能对应预设数据库中的同一个预设数据库项,这样终端的操作系统可能向除需要调用第一属性信息的应用以外的其他应用发送通知事件。该其他应用接收该通知事件,根据该预设数据库项从预设数据库中获取对应的第一数据库值,并从第一数据库值中提取第二属性信息包括的属性名和第一属性值;根据该第二属性信息包括的属性名,发现第二属性信息不是其需要调用的属性信息,就丢弃第二属性信息。例如,将数据库修改命令“settingsputsystemproperty_listenersys.boot.animation=bootnew”发送给终端的操作系统。终端的操作系统接收该数据库修改命令,根据该数据库修改命令携带的预设数据库项“property_listener”,从如表1所示的预设数据库中获取对应的数据库值为0,将获取的数据库值0更新为该数据库修改命令携带的第一数据库值“sys.boot.animation=bootnew”,得到如表3所示的预设数据库。表3数据库项数据库值property_listenersys.boot.animation=bootnew…………然后终端的操作系统,根据预设数据库的数据库标识data1和预设数据库项property_listener,从如表2所示的应用标识、数据库标识与数据库项的对应关系中获取对应的应用标识APP1,向应用标识APP1对应的第一应用发送通知事件。这样第一应用接收该通知事件,根据该通知事件的指示,从如表3所示的预设数据库中获取预设数据库项property_listener对应的第一数据库值sys.boot.animation=bootnew,从第一数据库值sys.boot.animation=bootnew中提取属性名sys.boot.animation和第一属性值bootnew,从而得到修改后的第二属性信息。其中,在本实施例中,也可以设置一个回调程序,通过该回调程序对第一属性信息进行监听,当监听到第一属性信息被修改为第二属性信息时,向调用第一属性信息的第一应用发送通知事件。第一应用接收到该通知事件后,根据预设的属性名调用修改后的第二属性信息。其中,需要说明的是:该回调程序在对第一属性信息进行监听时可以不消耗系统资源或者消耗的系统资源较少。在本实施例中,当第一属性信息修改为第二属性信息时,将预设数据库中的预设数据库项对应的数据库值修改为第一数据库值,第一数据库值包括第二属性信息,这样操作系统就会通知注册监听预设数据库中的预设数据库项的第一应用,使第一应用从预设数据库中获取预设数据库项对应的第一数据库值,从第一数据库值中提取第二属性信息。这样在第一属性信息修改为第二属性信息时,就立即将第二属性信息提供给第一应用,第一应用不需要启动一个属性监听线程,来每隔预设时间轮询一次第一属性信息,降低了资源消耗,也提高了第一应用获取修改后的第二属性信息的实时性。参见图3,本发明实施例提供了一种属性信息处理装置300,所述装置300包括:接收模块301,用于接收第一属性值,所述第一属性值用于修改第一属性信息,第一属性信息包括属性名和第二属性值;修改模块302,用于将所述第一属性信息包括的第二属性值修改为所述第一属性值得到第二属性信息;提供模块303,用于通过第一应用注册监听的预设数据库中的预设数据库项将所述第二属性信息提供给所述第一应用,所述第一应用为需要调用所述第一属性信息的应用。可选地,所述提供模块303通过第一应用注册监听的预设数据库中的预设数据库项将所述第二属性信息提供给所述第一应用,可包括:将所述预设数据库中的所述预设数据库项对应的数据库值更新为第一数据库值,所述第一数据库值包括修改得到的第二属性信息,即包括所述属性名和所述第一属性值,使操作系统控制所述第一应用从所述预设数据库中读取所述预设数据库项对应的第一数据库值。可选地,所述提供模块303将所述预设数据库中的所述预设数据库项对应的数据库值更新为第一数据库值,包括:生成包括所述属性名和所述第一属性值的第一数据库值;生成包括所述预设数据库项和所述第一数据库值的数据库修改命令;通过所述数据库修改命令将所述预设数据库中的所述预设数据库项对应的数据库值更新为第一数据库值。可选地,在所述第一数据库值中所述第二属性信息包括的所述属性名和所述第一属性值用预设连接符隔开。可选地,参见图4,所述装置300还包括:注册模块304,用于在所述第一应用启动时注册所述第一应用监听所述预设数据库中的所述预设数据库项。在本实施例中,当第一属性信息修改为第二属性信息时,通过第一应用注册监听的预设数据库中的预设数据库项将第二属性信息提供给第一应用,这样第一应用不需要启动一个属性监听线程,周期轮询第一属性信息,能够降低资源消耗,也能够使第一应用获取修改后的第二属性信息的实时性。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1