安卓系统事件处理方法、装置、设备及可读存储介质转让专利

申请号 : CN202211248615.7

文献号 : CN115700467A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 叶剑陈世庆

申请人 : 烽火通信科技股份有限公司

摘要 :

本发明提供一种安卓系统事件处理方法、装置、设备及可读存储介质,安卓系统事件处理方法包括:当安卓系统启动时,解析配置文件得到配置信息,所述配置信息包括一条或多条配置项,所述配置项包括事件类型、事件参数和事件动作;监听安卓系统事件,获取待处理事件的事件类型和事件参数;根据待处理事件的事件类型和事件参数,在配置信息中查找对应的配置项,若查找到,则执行查找到的配置项中的事件动作。通过本发明,实现了通过配置文件,即可实现大部分的安卓系统功能需求,从而避免了在对安卓系统进行开发时,需要对代码进行的大量、频繁及耦合的修改。

权利要求 :

1.一种安卓系统事件处理方法,其特征在于,所述安卓系统事件处理方法包括:当安卓系统启动时,解析配置文件得到配置信息,所述配置信息包括一条或多条配置项,所述配置项包括事件类型、事件参数和事件动作;

监听安卓系统事件,将监听到的安卓系统事件作为待处理事件,获取待处理事件的事件类型和事件参数;

根据待处理事件的事件类型和事件参数,在配置信息中查找对应的配置项,若查找到,则执行查找到的配置项中的事件动作。

2.如权利要求1所述的安卓系统事件处理方法,其特征在于,所述配置项还包括触发条件,所述若查找到,则执行查找到的配置项中的事件动作包括:若查找到,且安卓系统的当前环境满足查找到的配置项中的触发条件,则执行查找到的配置项中的事件动作。

3.如权利要求1所述的安卓系统事件处理方法,其特征在于,所述配置项还包括函数、函数参数、类和包,所述执行查找到的配置项中的事件动作包括:加载查找到的配置项中的类和包,执行配置项中的事件动作,以配置项中的函数参数为参数,执行配置项中的函数。

4.如权利要求1所述的安卓系统事件处理方法,其特征在于,所述配置项还包括处理标志位,在所述若查找到,则执行查找到的配置项中的事件动作之后,包括:若查找到的配置项中的处理标志位的值为第一预设值,则将事件转给安卓系统继续处理;

若查找到的配置项中的处理标志位的值为第二预设值,则结束事件处理。

5.如权利要求1所述的安卓系统事件处理方法,其特征在于,所述事件类型包括按键事件、Intent事件、广播事件和数据读写事件,在所述当安卓系统启动时,解析配置文件得到配置信息之前,包括:根据事件类型对配置文件进行配置。

6.一种安卓系统事件处理装置,其特征在于,所述安卓系统事件处理装置包括:解析模块,用于当安卓系统启动时,解析配置文件得到配置信息,所述配置信息包括一条或多条配置项,所述配置项包括事件类型、事件参数和事件动作;

监听模块,用于监听安卓系统事件,将监听到的安卓系统事件作为待处理事件,获取待处理事件的事件类型和事件参数;

执行模块,用于根据待处理事件的事件类型和事件参数,在配置信息中查找对应的配置项,若查找到,则执行查找到的配置项中的事件动作。

7.如权利要求6所述的安卓系统事件处理装置,其特征在于,所述配置项还包括触发条件,所述执行模块,用于:若查找到,且安卓系统的当前环境满足查找到的配置项中的触发条件,则执行查找到的配置项中的事件动作。

8.如权利要求6所述的安卓系统事件处理装置,其特征在于,所述配置项还包括函数、函数参数、类和包,所述执行模块,还用于:加载查找到的配置项中的类和包,执行配置项中的事件动作,以配置项中的函数参数为参数,执行配置项中的函数。

9.一种安卓系统事件处理设备,其特征在于,所述安卓系统事件处理设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的安卓系统事件处理程序,其中所述安卓系统事件处理程序被所述处理器执行时,实现如权利要求1至5中任一项所述的安卓系统事件处理方法的步骤。

10.一种可读存储介质,其特征在于,所述可读存储介质上存储有安卓系统事件处理程序,其中所述安卓系统事件处理程序被处理器执行时,实现如权利要求1至5中任一项所述的安卓系统事件处理方法的步骤。

说明书 :

安卓系统事件处理方法、装置、设备及可读存储介质

技术领域

[0001] 本发明涉及安卓(Android)系统开发技术领域,尤其涉及一种安卓系统事件处理方法、装置、设备及可读存储介质。

背景技术

[0002] 随着“三网融合”的发展(三网,即电信网、计算机网和有线电视网),Android系统成为智能机顶盒上使用最普遍的系统,机顶盒上承载的业务越来越丰富,运营商对机顶盒系统的功能需求越来越多,机顶盒设备厂商在做系统框架开发和适配的过程中,需要针对不同客户的需求进行代码修改。
[0003] 目前当有新增系统需求时,通常是直接对系统框架代码进行修改,以满足功能需求,然而对Android系统框架代码进行大量、频繁及耦合的修改会影响系统框架的稳定性,同时会导致系统代码的碎片化,进而导致后续的系统代码维护和功能移植工作量较大。

发明内容

[0004] 本发明的主要目的在于提供一种安卓系统事件处理方法、装置、设备及可读存储介质,旨在解决对安卓系统框架代码进行大量、频繁、耦合的修改会影响系统框架的稳定性,同时会导致系统代码的碎片化,进而导致后续的系统代码维护和功能移植工作量较大的技术问题。
[0005] 第一方面,本发明提供一种安卓系统事件处理方法,所述安卓系统事件处理方法包括:
[0006] 当安卓系统启动时,解析配置文件得到配置信息,所述配置信息包括一条或多条配置项,所述配置项包括事件类型、事件参数和事件动作;
[0007] 监听安卓系统事件,将监听到的安卓系统事件作为待处理事件,获取待处理事件的事件类型和事件参数;
[0008] 根据待处理事件的事件类型和事件参数,在配置信息中查找对应的配置项,若查找到,则执行查找到的配置项中的事件动作。
[0009] 可选的,所述配置项还包括触发条件,所述若查找到,则执行查找到的配置项中的事件动作包括:
[0010] 若查找到,且安卓系统的当前环境满足查找到的配置项中的触发条件,则执行查找到的配置项中的事件动作。
[0011] 可选的,所述配置项还包括函数、函数参数、类和包,所述执行查找到的配置项中的事件动作包括:
[0012] 加载查找到的配置项中的类和包,执行配置项中的事件动作,以配置项中的函数参数为参数,执行配置项中的函数。
[0013] 可选的,所述配置项还包括处理标志位,在所述若查找到,则执行查找到的配置项中的事件动作之后,包括:
[0014] 若查找到的配置项中的处理标志位的值为第一预设值,则将事件转给安卓系统继续处理;
[0015] 若查找到的配置项中的处理标志位的值为第二预设值,则结束事件处理。
[0016] 可选的,所述事件类型包括按键事件、Intent事件、广播事件和数据读写事件,在所述当安卓系统启动时,解析配置文件得到配置信息之前,包括:
[0017] 根据事件类型对配置文件进行配置。
[0018] 第二方面,本发明还提供一种安卓系统事件处理装置,所述安卓系统事件处理装置包括:
[0019] 解析模块,用于当安卓系统启动时,解析配置文件得到配置信息,所述配置信息包括一条或多条配置项,所述配置项包括事件类型、事件参数和事件动作;
[0020] 监听模块,用于监听安卓系统事件,将监听到的安卓系统事件作为待处理事件,获取待处理事件的事件类型和事件参数;
[0021] 执行模块,用于根据待处理事件的事件类型和事件参数,在配置信息中查找对应的配置项,若查找到,则执行查找到的配置项中的事件动作。
[0022] 可选的,所述配置项还包括触发条件,所述执行模块,用于:
[0023] 若查找到,且安卓系统的当前环境满足查找到的配置项中的触发条件,则执行查找到的配置项中的事件动作。
[0024] 可选的,所述配置项还包括函数、函数参数、类和包,所述执行模块,还用于:
[0025] 加载查找到的配置项中的类和包,执行配置项中的事件动作,以配置项中的函数参数为参数,执行配置项中的函数。
[0026] 第三方面,本发明还提供一种安卓系统事件处理设备,所述安卓系统事件处理设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的安卓系统事件处理程序,其中所述安卓系统事件处理程序被所述处理器执行时,实现如上述所述的安卓系统事件处理方法的步骤。
[0027] 第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有安卓系统事件处理程序,其中所述安卓系统事件处理程序被处理器执行时,实现如上述所述的安卓系统事件处理方法的步骤。
[0028] 本发明中,当安卓系统启动时,解析配置文件得到配置信息,所述配置信息包括一条或多条配置项,所述配置项包括事件类型、事件参数和事件动作;监听安卓系统事件,将监听到的安卓系统事件作为待处理事件,获取待处理事件的事件类型和事件参数;根据待处理事件的事件类型和事件参数,在配置信息中查找对应的配置项,若查找到,则执行查找到的配置项中的事件动作。本发明通过,在安卓系统启动时,解析配置文件,再监听安卓系统事件,然后根据解析的配置信息中的相应配置项对事件进行处理,实现了通过配置文件,即可实现大部分的安卓系统功能需求,从而避免了在对安卓系统进行开发时,需要对代码进行的大量、频繁及耦合的修改。

附图说明

[0029] 图1为本发明安卓系统事件处理方法一实施例的流程示意图;
[0030] 图2为本发明安卓系统事件处理方法一实施例的配置文件示意图;
[0031] 图3为本发明安卓系统事件处理方法一实施例的事件类型示意图;
[0032] 图4为本发明安卓系统事件处理方法一实施例的事件处理框架示意图;
[0033] 图5为本发明安卓系统事件处理装置一实施例的功能模块示意图。
[0034] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0035] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0036] 第一方面,本发明实施例提供一种安卓系统事件处理设备,所述安卓系统事件处理设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的安卓系统事件处理程序,其中所述安卓系统事件处理程序被所述处理器执行时,实现如上述所述的安卓系统事件处理方法的步骤。
[0037] 第二方面,本发明实施例提供了一种安卓系统事件处理方法。
[0038] 为了更清楚地展示本申请实施例提供的安卓系统事件处理方法,首先介绍一下本申请实施例提供的安卓系统事件处理方法的应用场景。
[0039] 本申请实施例提供的安卓系统事件处理方法应用在随着安卓系统的使用越来越普遍,在根据客户的功能需求对安卓系统进行开发时,需要对安卓系统框架代码进行大量、频繁及耦合的修改会影响系统框架的稳定性,同时会导致系统代码的碎片化,进而导致后续的系统代码维护和功能移植工作量较大。
[0040] 一实施例中,参照图1,图1为本发明安卓系统事件处理方法一实施例的流程示意图,如图1所示,所述安卓系统事件处理方法包括:
[0041] 步骤S10,当安卓系统启动时,解析配置文件得到配置信息,所述配置信息包括一条或多条配置项,所述配置项包括事件类型、事件参数和事件动作。
[0042] 本实施例中,当安卓系统启动时,通过解析配置文件得到配置信息,其中,配置文件可采用XML(Extensible Markup Language,可扩展标记语言,简称XML)格式来进行编辑及保存,参照图2,图2为本发明安卓系统事件处理方法一实施例的配置文件示意图,如图2所示,配置信息通常由多条配置项组成,配置项中包括但不限于事件类型、事件参数和事件动作,参照图3,图3为本发明安卓系统事件处理方法一实施例的事件类型示意图,如图3所示,事件类型包括但不限于如按键事件、Intent事件、广播事件和数据读写事件等事件类型,可根据需要对事件类型进行扩展,以及对事件动作进行相应的自定义的扩展,事件参数是前述事件发生时的相关事件参数,比如按键事件,当前的按键键值即为事件参数,事件动作即当发生相应的类型事件,且产生相应的事件参数时,需要执行的事项,比如若发生的事件类型为按键事件,且当前按键值为3时,执行某函数,具体的事件动作和具体的事件类型相对应,比如若具体的事件类型为发送按键,具体的事件动作相应的为调用预定义接口发送虚拟按键;若具体的事件类型为发起Intent请求,则根据功能配置文件中的参数拉起Activity界面或Service服务;若具体的事件类型为调用系统框架自带函数,则根据配置文件指定需要调用的函数所在类名、函数名、函数参数类型及函数参数值,通过反射调用对应的函数,触发对应的函数执行动作;若具体的事件类型为发送广播,则调用预定义接口发送系统广播;若具体的事件类型为进行数据读写,则根据当前读写的配置文件类型调用对应的数据读写接口,如是数据库,调用数据库读写接口,如是系统属性,调用属性读写接口,如是普通文件,调用文件读写接口,如是Sharepreferences文件,调用Sharepreferences读写接口。
[0043] 步骤S20,监听安卓系统事件,将监听到的安卓系统事件作为待处理事件,获取待处理事件的事件类型和事件参数。
[0044] 本实施例中,对安卓系统事件进行监听,当监听到安卓系统发生事件时,将监听到的安卓系统事件作为待处理事件,获取待处理事件的事件类型和事件参数。
[0045] 步骤S30,根据待处理事件的事件类型和事件参数,在配置信息中查找对应的配置项,若查找到,则执行查找到的配置项中的事件动作。
[0046] 本实施例中,在步骤S20中获取到待处理事件的事件类型和事件参数后,由于配置信息中的配置项中保存着事件类型、事件参数和事件动作,根据待处理事件的事件类型和事件参数,在配置信息中进行查找,若查找到待处理事件的事件类型和事件参数对应的配置项,则执行查找到的配置项中的事件动作,从而实现了根据配置文件中的配置项对监听到的安卓系统事件进行处理,可预见的另外一种情况为,若在配置信息中未查找到待处理事件的事件类型和事件参数对应的配置项,则将当前的待处理事件抛给安卓系统进行处理。
[0047] 本实施例中,参照图4,图4为本发明安卓系统事件处理方法一实施例的事件处理框架示意图,如图4所示,由于安卓系统的用户的大部分行为均是通过事件触发来实现,因此,通过本发明的实施例实现了无需修改代码,通过配置文件,即可实现大部分的安卓系统功能需求,从而避免了在对安卓系统进行开发时,需要对代码进行的大量、频繁及耦合的修改,降低了安卓系统框架代码的修改频率,进而降低后续系统代码维护的工作量,提升功能移植的便捷性,同时保证了系统框架代码的功能稳定性。
[0048] 进一步地,一实施例中,所述配置项还包括触发条件,步骤S30包括:
[0049] 若查找到,且安卓系统的当前环境满足查找到的配置项中的触发条件,则执行查找到的配置项中的事件动作。
[0050] 本实施例中,配置项中还可以包括触发条件,触发条件主要用于对待处理事件进行逻辑判断,当安卓系统的当前环境满足查找到的配置项中的触发条件,才会执行查找到的配置项中的事件动作,其中,触发条件可支持多个子条件的组合,不同的子条件之间可以用&&、||及!的逻辑运算符标识不同子条件之间的关系。
[0051] 进一步地,一实施例中,所述配置项还包括函数、函数参数、类和包,步骤S30包括:
[0052] 加载查找到的配置项中的类和包,执行配置项中的事件动作,以配置项中的函数参数为参数,执行配置项中的函数。
[0053] 本实施例中,配置项中还可以包括函数、函数参数、类和包,由于在安卓系统执行相关的函数时,往往必须要引用相应的类和包,函数才能够得以执行,因此先加载查找到的配置项中的类和包,执行配置项中的事件动作,以配置项中的函数参数为参数,执行配置项中的函数。
[0054] 进一步地,一实施例中,所述配置项还包括处理标志位,在步骤S30之后,包括:
[0055] 若查找到的配置项中的处理标志位的值为第一预设值,则将事件转给安卓系统继续处理;
[0056] 若查找到的配置项中的处理标志位的值为第二预设值,则结束事件处理。
[0057] 本实施例中,由于有些事件需要经过安卓系统进行处理,因此,配置项中还可以包括处理标志位,用于标识本发明实施例中在对待处理事件处理完后是结束事件处理还是转给安卓系统继续处理,比如若查找到的配置项中的处理标志位的值为1,则将事件转给安卓系统继续处理,若查找到的配置项中的处理标志位的值为0,则结束事件处理。
[0058] 进一步地,一实施例中,所述事件类型包括按键事件、Intent事件、广播事件和数据读写事件,在步骤S10之前,包括:
[0059] 根据事件类型对配置文件进行配置。
[0060] 本实施例中,事件类型包括但不限于按键事件、Intent事件、广播事件和数据读写事件,还可以对安卓系统事件进行事件类型扩展,相应的根据事件类型对配置文件进行配置,针对不同的事件类型可以有不同配置,从而实现了针对安卓系统发生的不同类型事件的灵活处理。
[0061] 第三方面,本发明实施例还提供一种安卓系统事件处理装置。
[0062] 参照图5,图5为本发明安卓系统事件处理装置一实施例的功能模块示意图。
[0063] 本实施例中,所述安卓系统事件处理装置包括:
[0064] 解析模块10,用于当安卓系统启动时,解析配置文件得到配置信息,所述配置信息包括一条或多条配置项,所述配置项包括事件类型、事件参数和事件动作;
[0065] 监听模块20,用于监听安卓系统事件,将监听到的安卓系统事件作为待处理事件,获取待处理事件的事件类型和事件参数;
[0066] 执行模块30,用于根据待处理事件的事件类型和事件参数,在配置信息中查找对应的配置项,若查找到,则执行查找到的配置项中的事件动作。
[0067] 进一步地,一实施例中,所述配置项还包括触发条件,所述执行模块30,用于:
[0068] 若查找到,且安卓系统的当前环境满足查找到的配置项中的触发条件,则执行查找到的配置项中的事件动作。
[0069] 进一步地,一实施例中,所述配置项还包括函数、函数参数、类和包,所述执行模块30,还用于:
[0070] 加载查找到的配置项中的类和包,执行配置项中的事件动作,以配置项中的函数参数为参数,执行配置项中的函数。
[0071] 进一步地,一实施例中,所述配置项还包括处理标志位,所述安卓系统事件处理装置还包括处理模块,用于:
[0072] 若查找到的配置项中的处理标志位的值为第一预设值,则将事件转给安卓系统继续处理;
[0073] 若查找到的配置项中的处理标志位的值为第二预设值,则结束事件处理。
[0074] 进一步地,一实施例中,所述事件类型包括按键事件、Intent事件、广播事件和数据读写事件,所述安卓系统事件处理装置还包括配置模块,用于:
[0075] 根据事件类型对配置文件进行配置。
[0076] 其中,上述安卓系统事件处理装置中各个模块的功能实现与上述安卓系统事件处理方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
[0077] 第四方面,本发明实施例还提供一种可读存储介质。
[0078] 本发明可读存储介质上存储有安卓系统事件处理程序,其中所述安卓系统事件处理程序被处理器执行时,实现如上述的安卓系统事件处理方法的步骤。
[0079] 其中,安卓系统事件处理程序被执行时所实现的方法可参照本发明安卓系统事件处理方法的各个实施例,此处不再赘述。
[0080] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0081] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0082] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
[0083] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。