利索能及
我要发布
收藏
专利号: 201510296509X
申请人: 上海斐讯数据通信技术有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-06-27
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种Android系统中的View间的通信方法,其特征在于:包括:

1)定义与View相对应的View消息ID,采用View消息ID附带View状态变化信息的方式构造View消息;

2)建立View消息和View实体的相对应的哈希表,实现View中的View消息的注册;当View从界面中移除时,从哈希表中注销该View所注册的所有View消息;

3)创建处理线程,并采用处理线程对View消息进行处理。

2.根据权利要求1所述的Android系统中的View间的通信方法,其特征在于:所述View消息ID采用int类型。

3.根据权利要求1所述的Android系统中的View间的通信方法,其特征在于:所述View消息对应的数据包采用Android系统的Intent数据结构。

4.根据权利要求1所述的Android系统中的View间的通信方法,其特征在于:所述2)中,实现View中的View消息的注册包括以下步骤:步骤S31、从View的View消息列表中依次读取一个View消息;

步骤S32、判断读取的View消息是否为空;若是,注册完成,流程结束;若否,转入步骤S33;

步骤S33、根据View消息ID搜索View消息所注册的哈希表;

步骤S34、判断是否有其他View注册过该View消息;若是,转入步骤S35;若否,转入步骤S36;

步骤S35、直接将View添加到哈希表中该View消息所对应的View列表中,并转入步骤S31;

步骤S36、在哈希表中创建View消息ID和相对应的View列表;

步骤S37、将View添加到哈希表中新建的View列表中,并转入步骤S31。

5.根据权利要求1所述的Android系统中的View间的通信方法,其特征在于:所述2)中,从哈希表中注销该View所注册的View消息包括以下步骤:步骤S41、从View的View消息列表中依次读取一个View消息;

步骤S42、判断读取的View消息是否为空;若是,注销完成,流程结束;若否,转入步骤S43;

步骤S43、根据View消息ID搜索View消息所注册的哈希表;

步骤S44、从哈希表中读取该View消息所对应的View列表;

步骤S45、从该View列表中删除需要注销的View,转入步骤S41。

6.根据权利要求1所述的Android系统中的View间的通信方法,其特征在于:所述处理线程采取View消息驱动方式,当View的状态发生变化并发出View消息时,所述处理线程开始运行。

7.根据权利要求1所述的Android系统中的View间的通信方法,其特征在于:所述3)中,所述处理线程包括以下步骤:步骤S51、从View消息列表中读取View消息ID;

步骤S52、将该View消息转发给Acitivity进行预处理;

步骤S53、若Activity不允许处理该View消息,不执行任何操作,流程结束;否则转入步骤S54;

步骤S54、根据View消息ID搜索View消息所注册的哈希表;

步骤S55、判断是否有View注册过该View消息;若否,不执行任何操作,流程结束;否则转入步骤S56;

步骤S56、读取View消息所对应的View列表;

步骤S57、依次调用每个View实体对应的View消息处理函数。

8.根据权利要求1所述的Android系统中的View间的通信方法,其特征在于:若没有接收到View消息,所述处理线程进入睡眠状态。

9.根据权利要求1所述的Android系统中的View间的通信方法,其特征在于:所述View消息统一定义在Android系统的Intent.java文件中。