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文件中。