一种更新操作界面的更新系统及更新方法与流程

文档序号:12120241阅读:262来源:国知局
一种更新操作界面的更新系统及更新方法与流程

本发明涉及计算机操作界面技术领域,具体涉及一种更新操作界面的更新系统及更新方法。



背景技术:

传统的操作系统变化通知方式是通过广播监听器去监听操作系统环境的变化情况,当操作系统环境发生变化的时候只能够在广播接收器中接受到相应的操作系统环境变化信息,如操作系统网络类型变化。在实际使用过程中,通常系统环境变化一般都会引起操作界面的一些变化,常规做法是自己在广播接收器中再次将操作系统环境变化的广播再次进行转发处理,转发广播消息到主线程后,主线程再对操作界面的展示进行更新。

通过上述描述发现,常规方法对于通过监听操作系统环境变化广播来更新操作界面的方式上存在多次转发的问题,在这样的使用情况下由于对广播进行了多次转发,导致更新过程效率低下,且多次转发使得操作界面的代码结构复杂难以维护。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种更新操作界面的更新系统及更新方法,操作界面的更新效率更高。

为达到以上目的,本发明采取的技术方案是:一种更新操作界面的更新系统,包括:广播监听模块,用于在操作系统中注册监听事件;在广播监听模块中为需要广播的操作界面进行接口注册;当发生监听事件时,接收操作系统发送的监听事件的广播;对接收的广播进行解析,解析出监听事件的具体信息;将监听事件的具体信息通过已注册的接口发送到各操作界面;

界面更新模块,用于根据广播监听模块发送的监听事件的具体信息更新操作界面。

在上述技术方案的基础上,所述广播监听模块包括:

广播监听单元,在操作系统中注册监听事件;当发生监听事件时,接收操作系统发送的监听事件的广播;

广播解析单元,对广播监听单元接收的广播进行解析,解析出监听事件的具体信息;

接口注册单元,在广播监听模块中为需要广播的操作界面进行接口注册;

接口发送单元,用于将监听事件的具体信息通过已注册的接口发送到各操作界面。

在上述技术方案的基础上,操作系统将监听事件通过静态广播发送至广播监听模块。

在上述技术方案的基础上,操作系统将监听事件通过动态广播发送至广播监听模块。

本发明还公开了一种采用所述更新操作界面的更新系统的更新方法:

广播监听模块在操作系统中注册监听事件;

在广播监听模块中为需要广播的操作界面进行接口注册;

当发生监听事件时,广播监听模块接收操作系统发送的监听事件的广播;

广播监听模块对接收的广播进行解析,解析出监听事件的具体信息;

广播监听模块将监听事件的具体信息通过已注册的接口发送到各操作界面;

界面更新模块根据广播监听模块发送的监听事件的具体信息更新操作界面。

在上述技术方案的基础上,所述监听事件为当前网络类型。

在上述技术方案的基础上,广播监听模块在操作系统中注册监听事件包括:在操作系统的清单文件中添加广播接收标签、广播类型过滤标签和广播事件过滤标签,所述广播接收标签指向所述广播监听模块,用于当发生监听事件时,操作系统将发送的监听事件的广播发送至所述广播监听模块,所述广播类型过滤标签用于过滤出广播监听模块接收的广播类型,所述广播事件过滤标签用于过滤出广播监听模块接收的广播事件。

在上述技术方案的基础上,在广播监听模块中为需要广播的操作界面进行接口注册包括:

在需要接收监听事件的具体信息的操作界面中创建接口;

将全部接口加入接口集合中。

在上述技术方案的基础上,广播监听模块对接收的广播进行解析,解析出监听事件的具体信息包括:

获取到当前操作系统的连接管理者;

获取连接管理者中监听事件的具体信息结构体,获取到的监听事件的具体信息结构体中包含了监听事件的具体信息的描述信息;

获取监听事件的具体信息结构体中监听事件的具体信息的描述信息。

在上述技术方案的基础上,广播监听模块将监听事件的具体信息通过已注册的接口发送到各操作界面包括:遍历接口集合,然后通过各接口将监听事件的具体信息发送给需要接收监听事件的具体信息的操作界面。

与现有技术相比,本发明的优点在于:

(1)本发明中直接通过操作界面的接口向操作界面发送监听事件的具体信息,界面更新模块回调多个接口中的监听事件的具体信息来实现对多个操作界面进行同时更新。接口的回调是实时响应的,当监听事件的具体信息解析完成后可以立即发送至界面更新模块处理,期间没有类似于广播的延时问题,所以接口回调速度相比于广播转发速度有大幅度的提升,操作界面的更新效率更高。

(2)本发明中广播监听模块向操作界面发送的是解析后的监听事件的具体信息,界面更新模块可直接根据监听事件的具体信息进行更新,无须再次解析,提升了数据获取速度。

附图说明

图1为本发明实施例中更新操作界面的更新系统的结构示意图;

图2为本发明实施例中更新操作界面的更新方法的结构示意图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例提供一种更新操作界面的更新系统,包括:广播监听模块,用于在操作系统中注册监听事件;在广播监听模块中为需要广播的操作界面进行接口注册;当发生监听事件时,接收操作系统发送的监听事件的广播;对接收的广播进行解析,解析出监听事件的具体信息;将监听事件的具体信息通过已注册的接口发送到各操作界面;界面更新模块,用于根据广播监听模块发送的监听事件的具体信息更新操作界面。本发明中直接通过操作界面的接口向操作界面发送监听事件的具体信息,界面更新模块回调多个接口中的监听事件的具体信息来实现对多个操作界面进行同时更新。接口的回调是实时响应的,当监听事件的具体信息解析完成后可以立即发送至界面更新模块处理,期间没有类似于广播的延时问题,所以接口回调速度相比于广播转发速度有大幅度的提升,操作界面的更新效率更高。同时,广播监听模块向操作界面发送的是解析后的监听事件的具体信息,界面更新模块可直接根据监听事件的具体信息进行更新,无须再次解析,提升了数据获取速度。

所述广播监听模块包括:

广播监听单元,在操作系统中注册监听事件;当发生监听事件时,接收操作系统发送的监听事件的广播;

广播解析单元,对广播监听单元接收的广播进行解析,解析出监听事件的具体信息;

接口注册单元,在广播监听模块中为需要广播的操作界面进行接口注册;

接口发送单元,用于将监听事件的具体信息通过已注册的接口发送到各操作界面。

操作系统将监听事件通过静态广播发送至广播监听模块。操作系统将监听事件通过动态广播发送至广播监听模块。本发明中对于静态广播和动态广播都能够适用。静态广播和动态广播最大的区别点在于静态广播可以不启动应用程序的情况下接受到广播消息。动态广播必须得启动应用程序的情况下才能够接受到广播消息。

参见图2所示,本发明还公开了一种采用更新操作界面的更新系统的更新方法,包括以下步骤:

S1,广播监听模块在操作系统中注册监听事件;

S2,在广播监听模块中为需要广播的操作界面进行接口注册;

S3,当发生监听事件时,广播监听模块接收操作系统发送的监听事件的广播;

S4,广播监听模块对接收的广播进行解析,解析出监听事件的具体信息;

S5,广播监听模块将监听事件的具体信息通过已注册的接口发送到各操作界面;

S6,界面更新模块根据广播监听模块发送的监听事件的具体信息更新操作界面。

广播监听模块在操作系统中注册监听事件包括:在操作系统的清单文件AndroidManifest.xml中添加广播接收标签、广播类型过滤标签和广播事件过滤标签,所述广播接收标签指向所述广播监听模块,用于当发生监听事件时,操作系统将发送的监听事件的广播发送至所述广播监听模块,所述广播类型过滤标签用于过滤出广播监听模块接收的广播类型,所述广播事件过滤标签用于过滤出广播监听模块接收的广播事件。

例如,广播监听模块在操作系统中注册监听事件具体添加内容如下所示:

<receiver android:name="com.android.test.NetBroadcastReceiver">

<intent-filter>

<actionandroid:name="android.net.conn.CONNECTIVITY_CHAN GE"/>

</intent-filter>

</receiver>

其中:

Receiver标签表示操作系统的广播接收标签,这个标签标表示接下来的信息是一个广播接收装置。

NetBroadcastReceiver是用户自定义的广播接收器。用户自定义的广播接收器NetBroadcastReceiver用于接受操作系统的网络变化广播信息。广播接收器设于广播监听模块中。

intent-filter标签表示广播类型过滤标签,操作系统的广播种类有非常多,只有广播类型过滤标签中标注的广播类型才能够进行接受。

action标签表示广播事件过滤标签,具体事件内容是android.net.conn.CONNECTIVITY_CHANGE,其中android.net.conn.CONNECTIVITY_CHANGE这个表示监听事件。广播监听模块在操作系统中注册监听事件后,当发生监听事件时,广播监听模块就能接收操作系统发送的监听事件的广播了。

NetBroadcastReceiver继承自系统的BroadcastReceiver,且需重写其中的onReceive方法,重写onReceive方法后当操作系统网络发生变化的时候后操作系统会将网络变化的广播消息发送给广播接收器NetBroadcastReceiver中的onReceive方法中,这样就能够在onReceive方法中将广播消息通过接口的方式通知给操作界面去更新操作界面。在通知操作界面之前,需要接收监听事件的具体信息的操作界面首先得在广播监听模块中进行接口注册,只有已注册的接口的操作界面才会接到通知。

在广播监听模块中为需要广播的操作界面进行接口注册包括:在需要接收监听事件的具体信息的操作界面中创建接口;将全部接口加入广播监听模块中的接口集合中。

例如,监听事件为当前网络类型,在操作界面中创建一个接口:

public interface ReceiverBroadcast{

public void netChange(int netType);}

接口名称是ReceiverBroadcast,里面有一个函数是netChange,这个函数用于通知当前网络类型的信息的。netType表示当前网络类型。

广播监听模块对接收的广播进行解析,解析出监听事件的具体信息包括:获取到当前操作系统的连接管理者;获取连接管理者中当前网络信息结构体,获取到的当前网络信息结构体中包含了监听事件的具体信息的描述信息;获取当前网络信息结构体中监听事件的具体信息的描述信息。

例如,监听事件为当前网络类型,广播监听模块对接收的广播进行解析,解析出监听事件的具体信息包括:

通过函数getSystemService(Context.CONNECTIVITY_SERVICE)来获取到当前操作系统的ConnectivityManager连接管理者。

调用管理者类中的getActiveNetworkInfo函数来获取当前网络信息结构体NetInfo,获取到的当前网络信息结构体NetInfo中包含了当前网络类型的描述信息。

调研当前网络信息结构体NetInfo中的getType函数,返回当前网络类型的信息,根据getType返回的信息来确定当前网络类型。

网络类型分为下面几类:

NETWORK_CLASS_2_G:当前网络是2G网络

NETWORK_CLASS_3_G:当前网络是3G网络

NETWORK_CLASS_4_G:当前网络是4G网络

TYPE_WIFI:当前网络是WIFI网络

广播监听模块将监听事件的具体信息通过已注册的接口发送到各操作界面包括:遍历接口集合,然后通过各接口将监听事件的具体信息发送给需要接收监听事件的具体信息的操作界面。

例如,监听事件为当前网络类型,界面更新模块根据广播监听模块发送的监听事件的具体信息更新操作界面包括:界面更新模块回调接口中的netChange函数中的netType信息,可以根据netType区分当前网络环境的类型。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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