一种对话框数据传输方法、装置、计算机及存储介质与流程

文档序号:15615183发布日期:2018-10-09 21:11阅读:162来源:国知局

本发明实施例涉及数据传输技术,尤其涉及一种对话框数据传输方法、装置、计算机及存储介质。



背景技术:

对话框页面主要用于显示对话框的相关信息,对话框页面可以是网页中的按键、显示框或者显示页面等。

在android客户端的开发过程中,常遇到对话框技术的应用,例如在斗鱼客户端中充能、抽奖等功能开发过程中需大量应用对话框技术。目前对话框的试图与控制器进行信息传输时需定义大量的借口函数,用于实现对话框不同逻辑层之间的信息传输,且定义的接口函数需要管理员进行手动维护注册和反注册,接口函数的维护工作复杂繁琐,且维护不当容易存在内存泄漏等情况,影响终端性能。



技术实现要素:

本发明提供一种对话框数据传输方法、装置、计算机及存储介质,以实现简化对话框数据的传输过程。

第一方面,本发明实施例提供了一种对话框数据传输方法,该方法包括:桥接器接收对话框数据,并识别所述对话框数据的接收方信息;

所述桥接器根据所述接收方信息将所述对话框数据发送至接收方,以使所述接收方对所述对话框数据进行处理。

第二方面,本发明实施例还提供了一种对话框数据传输装置,该装置设置于桥接器,包括:

数据接收模块,用于接收对话框数据,并识别所述对话框数据的接收方信息;

数据发送模块,用于根据所述接收方信息将所述对话框数据发送至接收方,以使所述接收方对所述对话框数据进行处理。

第三方面,本发明实施例还提供了一种计算机设备,该终端包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例提供的对话框数据传输方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本发明任意实施例提供的对话框数据传输方法。

本发明实施例通过设置桥接器作为对话框视图和对话框控制器之间通信纽带,桥接器接收对话框数据,并识别对话框数据的接收方信息,根据接收方信息将对话框数据发送至接收方,以使接收方对对话框数据进行处理,实现对话框控制器和对话框视图之间的耦合关系,无需定义和维护大量的接口函数,简化了对话框控制器和对话框视图之间的数据传输过程,提高了通信效率和便捷性。

附图说明

图1为本发明实施例的应用场景;

图2是本发明实施例一提供的一种对话框数据传输方法的流程图;

图3是本发明实施例二提供的一种对话框数据传输装置的结构示意图;

图4是本发明实施例三提供的一种计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

参见图1,图1是本发明实施例的应用场景。应用与对话框的视图与控制器进行数据通信过程,包括对话框视图101、对话框控制器102和对话框桥接器103,其中,对话框视图101和对话框桥接器103的通信方式为双向通信,对话框控制器102和对话框桥接器103的通信方式为双向通信,对话框视图101和对话框控制器102不存在直接通信。

实施例一

图2为本发明实施例一提供的一种对话框数据传输方法的流程图,本实施例可适用于简化对话框视图和对话框控制器之间通信的情况,该方法可以由本发明实施例提供的计算机设备来执行,该计算机设备可采用软件和/或硬件的方式实现。该方法具体包括:

s110、桥接器接收对话框数据,并识别对话框数据的接收方信息。

其中,桥接器是对话框视图和对话框控制器之间通信纽带。对话框数据的发送方可以是对话框视图或对话框控制器,相应的,对话框的接收方可以是对话框控制器或对话框视图。

本实施例中,对话框数据中至少包括数据的发送方信息、接收方数据以及数据内容。可选的,桥接器基于预设的通信协议架构进行对话框视图和对话框控制器之间通信,其中,桥接器的通信协议架构可以为:

上述通信协议架构中为桥接器对应与对话框视图和对话框控制器的通信方法,其中,ibridgsender为桥接器的通信协议名称,bridgtoview表示桥接对话框视图的函数名称,bridgtocontrol表示桥接对话框控制器的函数名称。且上述两个桥接函数中均设置有三个参数,callertag为桥接器的调用者信息,即对话框数据的发送方信息,receivertag为桥接器的路由目的地信息,即对话框数据的接收方信息,data为桥接器中所携带的数据信息,即对话框数据的数据内容。

需要说明的是,桥接器中所携带的数据信息的数据类型为object类型,其中,object类型是各种数据类的根类,可接收任意对象数据,实现了桥接器对对话框数据的多元化兼容接收处理。当发送方发送的对话框数据的数量类型不是object类型,可自动转换为object类型。

可选的,发送方信息和接收方信息存储于字符串中,例如可存储于string字符串;其中,桥接器识别对话框数据的接收方信息包括:桥接器当检测到接收方字符串不为空时,根据对接收方字符串进行匹配,根据匹配结果确定接收方信息。

本实施例中,桥接器在接收到对话框数据后,通过字符串匹配的方式确定数据的接收方信息和发送方信息。示例性的,可应用equals函数对字符串进行匹配。其中,对话框数据的接收方信息和发送方信息的匹配过程可以是,判断callertag字符串和receivertag字符串是否为空,若是,则确定该对话框数据为无效数据,通过return函数进行数据返回;若callertag字符串和receivertag字符串均不为空,则将callertag字符串和receivertag字符串与桥接器中预先存储的字符串数组进行匹配,当匹配成功时可确定对话框数据的发送方信息和接收方信息。由于桥接数据需满足上述通信协议架构,因此需对发送的数据进行组装,其中,对话框数据的组装可以是在发送方进行,也可以是在桥接器进行。相应的,桥接器接收的对话框数据为原始数据或者桥接数据;其中,原始数据指的是发送方未进行数据组装时,发送的对话框数据,桥接数据指的是发送方进行数据组装后发送的,满足通信协议架构的对话框数据。

若对话框数据为原始数据,则在桥接器接收对话框数据之后,还包括:桥接器根据预设规则将对话框数据转换为桥接数据,其中桥接数据包括对话框数据的发送方信息、接收方信息和预设格式的信息内容。其中,对数据进行组装包括将发送方信息和接收方信息存储至string字符串中,将数据内容转换为object类型,并封装成满足通信协议架构的桥接数据;相应的,桥接器根据接收方信息将对话框数据发送至接收方,包括:桥接器根据接收方信息将转换得到的桥接数据发送至接收方。

其中,对话框数据的组装在发送方和桥接器均可完成,优选的,在桥接器进行数据组装尤其适用于发送方和接收方分别在不同的终端的情况,可提高对话框数据的传输效率。示例性的,发送方可以是第一设备的对话框视图,接收方为第二设备的对话框控制器。可选的,发送方在发送数据之前,确定数据接收方是否设置在同一终端上,若否,则可直接将原始数据发送至桥接器,使得桥接器对原始数据进行组装,形成桥接数据;若是,则可选择任意组装方式。

本实施例中,通过在发送数据之前,识别接收方与发送方是否位于同一设备,采用不同的数据组装方式,有利于提高对话框数据的传输效率。

s120、桥接器根据接收方信息将对话框数据发送至接收方,以使接收方对对话框数据进行处理。

为了实现桥接器与接收方的通信,接收方与桥接器需满足桥接逻辑,可选的,在接收方的预设字段中桥接方法。示例性的,在对话框控制器的implements字段中复写ibridgsender函数,且bridgtoview函数为空;在对话框视图的implements字段中复写ibridgsender函数,且bridgtocontrol函数为空。

桥接器将对话框数据发送至接收方,实现对话框数据在发送方与接收方之间的传输。本实施例中,通过在对话框控制器和对话框视图之间,增设桥接器,无需定义和维护大量的接口函数,通过桥接器实现对话框控制器和对话框视图之间的耦合关系,简化了对话框控制器和对话框视图之间的数据传输过程,提高了通信效率和便捷性。

可选的,桥接器根据接收方信息将对话框数据发送至接收方,包括:桥接器获取对话框数据的传输类型标识;桥接器根据传输类型标识确定对话框数据的传输方式,并根据传输方式将对话框数据发送至接收方。

本实施例中,桥接器可根据用户对不同数据的传输需求,实现对话框数据的不同方式传输。其中,对话框数据中还携带有传输类型标识,用于区分对话框数据的传输方式。传输类型标识包括第一标识和第二标识。其中,第一标识可对应数据传输方式为数据透传,数据透传指的是,桥接器将满足通信协议架构的对话框数据直接发送至接收方;第二标识可对应数据传输方式为针对性传输针对性传输指的是桥接数据对满足通信协议架构的对话框数据进行预处理,确定对话框数据对应的接口函数,并根据接口函数对对话框数据就进行针对性的传输。

可选的,若传输类型标识为第一标识,则将对话框数据透传至接收方,以使接收方复写桥接函数,并对对话框数据进行处理。其中,数据透传方式不会对数据进行任何形式的修改,不会影响后续对该对话框数据的扩展。相应的,接收方在接收对话框数据之后,依次进行解析处理,无法在数据处理前进行根据需求对数据进行筛选。

若传输类型标识为第二标识,则确定对话框数据的类名和对应的接口函数信息,将携带有类名和接口函数信息的对话框数据发送至接收方,以使接收方根据类名和对应的接口函数进行筛选并处理。其中,类名指的是对话框数据的数据类型,示例性的,若对话框数据的数据内容为姓名信息,则该对话框数据类名可以是“姓名”,若对话框数据的数据内容为身高信息,则该对话框数据类名可以是“身高”等。接口函数指的是用于接收和处理该对话框数据的函数,接口函数信息可以是接口函数名称,或者其他唯一标识。

可选的,接收方根据类名和对应的接口函数进行筛选并处理,包括:接收方根据对话框数据的类名,判断对话框数据是否为需求数据;若是,则接收方复写对话框数据对应的接口函数,并对对话框数据进行处理,若否,则将对话框数据进行另行存储或者丢弃。当对话框数据数量较大时,通过确定每一个对话框数据的类名和接口函数信息,便于接收方在复写函数前对数据进行筛选,避免非必要数据处理导致的时间浪费的问题,提高数据处理效率。当数据筛选后,对筛选出的对话框数据,进行有针对性的函数复写,进一步避免资源的多余消耗。

其中,传输类型标识由发送方根据用户需求设置,若用户需求为保持对话框数据的可扩展性,则设置传输类型标识为第一标识,若用户需求为提高对话框数据的处理效率,则设置传输类型标识为第二标识。第一标识可以是逻辑“1”,第二标识可以是逻辑“0”。

需要说明的是,接收方在接收对话框数据之后,还包括,判断接收方是否可处理object类型数据,若是,则无需对object类型数据进行转换;若否,则将对话框数据中的object类型数据转换为原始数据格式,避免随机格式转换导致的数据异常。可选的,对话框数据中携带有原始数据格式标识。

本实施例的技术方案,通过设置桥接器作为对话框视图和对话框控制器之间通信纽带,桥接器接收对话框数据,并识别对话框数据的接收方信息,根据接收方信息将对话框数据发送至接收方,以使接收方对对话框数据进行处理,实现对话框控制器和对话框视图之间的耦合关系,无需定义和维护大量的接口函数,简化了对话框控制器和对话框视图之间的数据传输过程,提高了通信效率和便捷性。

在上述技术方案的基础上,方法还包括:桥接器监操作系统发送的广播信息,当广播信息为对话框所属页面释放时,调用基础类中的销毁函数,将与对话框对应的对话框数据进行释放。

本实施例中,由于页面存在释放周期,当释放周期满足时,该页面释放。操作系统可实时监测各页面的释放情况,当页面释放时,发送广播信息。桥接器具有广播监听功能,当监听到对话框所属页面释放的广播信息时,可对对话框对应的对话框数据进行释放,避免对话框数据占用大量内存,导致内存泄漏问题。

具体的,在桥接器中定义并封装有basedialog类,并集成系统的dialog类。在basedialog类中继承ibridgsender函数,因此桥接器中的basedialog类中的销毁函数ondestory可主动将ibridgsender对象进行释放处理。

同理,在对话框控制层,封装一个basecontrol类,basecontrol类中的销毁函数ondestory可主动将ibridgsender对象进行释放处理。

在对话框视图的extends字段继承basedialog,使得对话框视图具有自动对资源进行自动释放的功能,即对无效数据进行自动销毁。

本实施例中,在桥接器中设置自动释放逻辑,通过监听操作系统的广播信息,对无效的对话框数据进行自动释放,有效解决了内存泄漏问题,提高系统性能。

实施例二

图3是本发明实施例二提供的一种对话框数据传输装置的结构示意图,该装置设置于桥接器,该装置包括:

数据接收模块210,用于接收对话框数据,并识别对话框数据的接收方信息;

数据发送模块220,用于根据接收方信息将对话框数据发送至接收方,以使接收方对对话框数据进行处理。

可选的,对话框数据为原始数据或者桥接数据;其中,若对话框数据为原始数据,则装置还包括数据转换模块,用于在桥接器接收对话框数据之后根据预设规则将对话框数据转换为桥接数据,其中桥接数据包括对话框数据的发送方信息、接收方信息和预设格式的信息内容;

相应的,数据发送模块220具体用于:桥接器根据接收方信息将转换得到的桥接数据发送至接收方。

可选的,接收方信息存储于字符串中;其中,数据接收模块210包括字符串匹配单元,用于当检测到接收方字符串不为空时,根据对接收方字符串进行匹配,根据匹配结果确定接收方信息。

可选的,数据发送模块220包括:

标识获取单元,用于获取对话框数据的传输类型标识;

数据传输单元,用于根据传输类型标识确定对话框数据的传输方式,并根据传输方式将对话框数据发送至接收方。

可选的,数据传输单元包括:

第一传输子单元,用于若传输类型标识为第一标识,则将对话框数据透传至接收方,以使接收方复写桥接函数,并对对话框数据进行处理;

第二传输子单元,用于若传输类型标识为第二标识,则确定对话框数据的类名和对应的接口函数信息,将携带有类名和接口函数信息的对话框数据发送至接收方,以使接收方根据类名和对应的接口函数进行筛选并处理。

可选的,接收方包括数据判断模块,用于根据对话框数据的类名,判断对话框数据是否为需求数据;

数据处理模块,用于若对话框数据为需求数据,则接收方复写对话框数据对应的接口函数,并对对话框数据进行处理。

装置还包括:

信息监听模块,用于监操作系统发送的广播信息;

数据释放模块,用于当广播信息为对话框所属页面释放时,调用基础类中的销毁函数,将与对话框对应的对话框数据进行释放。

本发明实施例提供的对话框数据传输装置可执行本发明任意实施例所提供的对话框数据传输方法,具备执行对话框数据传输方法相应的功能模块和有益效果。

实施例三

图4是本发明实施例三提供的一种终端的结构示意图。参见图4,该终端包括:

一个或多个处理器310;

存储器320,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器310执行,使得所述一个或多个处理器310实现如本发明实施例提供的对话框数据传输方法。

图4中以一个处理器为例;处理器和存储器可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块。处理器通过运行存储在存储器中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的对话框数据传输方法。

存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

另外,根据终端的不同形式,除了处理器和存储器,控制终端还可以包括其他模块或结构,例如,终端可以具备语音播报功能,则还包括扬声器;又如,终端可以是具有显示功能的设备,则还包括显示屏幕,用于显示地图数据,也可供用户在导航软件界面上进行触控操作。

本实施例提出的终端与本发明实施例提出的对话框数据传输方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。

实施例四

本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提出的对话框数据传输方法。

本实施例提出的计算机可读存储介质与实施例提出的对话框数据传输方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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