一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多活动之间的数据传输方法、装置、系统、计算机设备与流程

2022-02-26 00:00:51 来源:中国专利 TAG:


1.本公开涉及数据传输技术领域,特别是涉及一种多活动之间的数据传输方法、装置、系统、计算机设备。


背景技术:

2.随着安卓应用技术的发展,安卓内存在着四大组件,分别是activity活动,service服务,content provider内容提供,broadcastreceiver广播接收器。
3.activity活动是安卓内重要的组成部分,activity活动是一个android的应用组件,它提供屏幕进行交互,每个activity活动都会获得一个用于绘制其用户界面的窗口,窗口可以充满屏幕也可以小于屏幕并浮动在其他窗口之上。而activity活动启动时需要使用intent,intent中携带了各个activity活动之间需要传输的数据,当activity活动之间需要进行交互或传输数据时,需要通过intent传输。
4.然而,目前的activity活动之间通过intent传输的方法,intent无法携带视图传输,且通过intent传输时限制传输数据的大小,无法传输较大的数据。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够在多活动之间传输视图且不限制传输数据大小的多活动之间的数据传输方法、装置、系统、计算机设备。
6.第一方面,本公开提供了一种多活动之间的数据传输方法,所述方法包括:
7.利用共享内存映射生成消息传递对象携带的多活动之间的跳转标识,所述多活动包括源活动和目标活动;
8.利用所述共享内存映射将存储传输数据的存储文件映射至内存中,其中,所述存储文件的名称是根据所述跳转标识和所述传输数据确定的;
9.根据所述消息传递对象启动所述目标活动,以使得所述目标活动根据所述消息传递对象携带的跳转标识、所述存储文件的名称获取所述存储文件中所述传输数据。
10.在其中一个实施例中,所述利用共享内存映射生成消息传递对象携带的多活动的跳转标识,包括:
11.利用所述共享内存映射将至少一项属性信息数据通过信息摘要算法加密后生成所述消息传递对象携带的多活动的跳转标识,所述属性信息数据包括:所述源活动和所述目标活动的对应的类名、时间戳、所述传输数据对应的视图的特性值。
12.在其中一个实施例中,所述存储文件存储传输数据的方式,包括:
13.根据所述传输数据的类别将所述传输数据存储至所述存储文件中,所述传输数据包括:需要传输的视图的指针值、需要传输的视图的属性值、图片数据。
14.在其中一个实施例中,所述存储文件的名称包括采用下述方式确定:
15.根据所述跳转标识和所述传输数据对应的类别确定类别名称;
16.根据所述类别名称确定的每个类别的所述传输数据对应的所述存储文件的名称。
17.在其中一个实施例中,所述方法还包括:
18.在所述源活动和所述目标活动属于同一进程的情况下,利用所述需要传输的视图的指针值获取需要传输的视图;
19.将所述需要传输的视图从所述源活动中移至所述目标活动中;
20.将所述传输数据映射至所述目标活动中的所述需要传输的视图中。
21.在其中一个实施例中,所述方法还包括:
22.在所述源活动和所述目标活动不属于同一进程的情况下,在所述目标活动中创建与所述需要传输的视图类型相同的视图;
23.将所述传输数据映射至创建后得到的视图中。
24.第二方面,本公开还提供了一种多活动之间的数据传输方法,所述方法包括:
25.接收消息传递对象,获取所述消息传递对象携带的多活动之间的跳转标识,所述跳转标识包括利用共享内存映射生成;
26.根据消息传递对象携带的跳转标识匹配存储文件,获取所述存储文件中传输数据;
27.将所述传输数据映射到与源活动中相对应的视图上,所述与源活动中相对应的视图至少包括预先创建的与源活动中需要传输的视图类型相同的视图和从所述源活动中移至目标活动的视图中的一种。
28.在其中一个实施例中,所述根据消息传递对象携带的跳转标识匹配存储文件,获取所述存储文件中传输数据,包括:
29.根据所述跳转标识以及与源活动中相对应的视图中需要映射的数据名称确定存储文件的名称;
30.在共享内存映射中匹配与所述存储文件的名称对应的所述存储文件;
31.获取所述存储文件中所述传输数据。
32.第三方面,本公开还提供了一种多活动之间的数据传输装置,所述装置包括:
33.跳转标识生成模块,用于利用共享内存映射生成消息传递对象携带的多活动之间的跳转标识,所述多活动包括源活动和目标活动;
34.传输数据存储模块,用于将传输数据存储至共享内存映射的存储文件中,其中,所述存储文件的名称是根据所述跳转标识和所述传输数据确定的;
35.目标活动启动模块,用于根据所述消息传递对象启动所述目标活动,以使得所述目标活动根据所述消息传递对象携带的跳转标识、所述存储文件的名称获取所述存储文件中所述传输数据。
36.第四方面,本公开还提供了一种多活动之间的数据传输装置,所述装置包括:
37.跳转标识接收模块,用于接收消息传递对象,获取所述消息传递对象携带的多活动之间的跳转标识,所述跳转标识包括利用共享内存映射生成;
38.传输数据获取模块,用于根据消息传递对象携带的跳转标识匹配存储文件,获取所述存储文件中传输数据;
39.传输数据映射模块,用于将所述传输数据映射到与源活动中相对应的视图上,所述与源活动中相对应的视图至少包括预先创建的与源活动中需要传输的视图类型相同的视图和从所述源活动中移至目标活动的视图中的一种。
40.第五方面,本公开还提供了一种多活动之间的数据传输系统,所述系统包括:
41.源活动,用于利用共享内存映射生成消息传递对象携带的多活动之间的跳转标识,所述多活动包括源活动和目标活动,利用所述共享内存映射将存储传输数据的存储文件映射至内存中,其中,所述存储文件的名称是根据所述跳转标识和所述传输数据确定的,根据所述消息传递对象启动所述目标活动;
42.目标活动,用于接收消息传递对象,获取所述消息传递对象中携带的多活动之间的跳转标识,所述跳转标识包括利用共享内存映射生成,根据消息传递对象携带的跳转标识匹配存储文件,获取所述存储文件中传输数据;将所述传输数据映射到与源活动中相对应的视图上,所述与源活动中相对应的视图包括创建的与源活动中需要传输的视图类型相同的视图,或,从所述源活动中移至目标活动的视图。
43.第六方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
44.第七方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
45.第八方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
46.上述多活动之间的数据传输方法、装置、系统、计算机设备,利用共享内存映射将存储传输数据的存储文件映射至内存中,而传输时通过intent传输的仅仅是跳转标识,所以不存在数据较大时intent无法传输的问题。因为存储文件的名称是根据跳转标识和需要传输数据确定的,后续在内存中获取需要的传输数据时可以直接根据跳转标识和存储文件的名称获取内存中的需要的传输数据,且传输数据是通过利用共享内存映射在内存中的,所以在获取传输数据时获取能够从内存中获取对应的传输数据,解决了通过intent传输时限制传输数据大小的问题,又因为传输数据中可以包括视图对应的数据,所以能够在多活动之间传输视图。
附图说明
47.图1为一个实施例中多活动之间的数据传输方法的应用环境示意图;
48.图2为一个实施例中多活动之间的数据传输方法的流程示意图;
49.图3为一个实施例中确定存储文件名称步骤的流程示意图;
50.图4为一个实施例中多活动属于同一进程情况下的流程示意图;
51.图5为一个实施例中多活动不属于同一进程情况下的流程示意图;
52.图6为另一个实施例中多活动之间的数据传输方法的流程示意图;
53.图7为另一个实施例中s602步骤的流程示意图;
54.图8为一个实施例中多活动之间的数据传输装置的结构示意框图;
55.图9为另一个实施例中多活动之间的数据传输装置的结构示意框图;
56.图10为一个实施例中多活动之间的数据传输系统的处理流程示意图;
57.图11为一个实施例中计算机设备的内部结构示意图。
具体实施方式
58.为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
59.需要说明的是,本文的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
60.目前安卓的activity活动之间进行交互或者传输数据的方式通常存在以下几种:1、利用android的intent来在各个activity之间传输数据,这也是android比较官方的一种数据传输的方式。2、在activity之间使用静态变量传输数据。3、使用全局变量来传输数据。4、利用剪切板传输数据。
61.但是上述几种传输数据的方式均无法携带视图传输,且目前较为常用以及推荐的方式还是通过intent进行传递数据,但是intent传递不同大小数据时的存在如下问题:1、传512k以下的数据可以正常传递。2、传512k~1024k的数据会出错,闪退。3、传1024k以上的数据会报错。且考虑到intent还包括要启动的activity等信息,实际可以传的数据略小于512k。而一般的视图对应的数据中可能会存在出现图片等大文件,从而使得需要传输的数据超过1m,导致该大于1m的数据无法通过intent进行传输数据。
62.因此,为解决上述问题,本公开实施例提供了一种多活动之间的数据传输方法,可以应用于如图1所示的应用环境中。其中,终端中包括源活动单元102和目标活动单元104。源活动单元102利用共享内存映射生成消息传递对象携带的多活动之间的跳转标识,可以将跳转标识存储在终端中。多活动包括源活动和目标活动,源活动可以设置在源活动单元102中,目标活动可以设置在目标活动单元104中。源活动单元102可以利用所述共享内存映射将存储传输数据的存储文件映射至内存106中。其中存储文件的名称是根据跳转标识和传输数据确定的。源活动单元102根据消息传递对象启动目标活动单元104中的目标活动。使得目标活动单元104中目标活动可以根据消息传递对象中的跳转标识、所述存储文件的名称获取内存106中所述存储文件中的所述传输数据。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等。
63.在一个实施例中,如图2所示,提供了一种多活动之间的数据传输方法,以该方法应用于图1中的源活动单元102为例进行说明,包括以下步骤:
64.s202,利用共享内存映射生成消息传递对象携带的多活动之间的跳转标识,所述多活动包括源活动和目标活动。
65.其中,共享内存映射通常可以是安卓系统中linux内核中提供的mmap方法,mmap方法使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间后,进程或者活动可以像访问普通内存一样对文件进行访问。消息传递对象通常可以是intent,通常是不同组件或活动之间通信的“媒介”或者“信使”。跳转标识通常可以是跳转id(identity document),该跳转id具有唯一性,且能够通过该跳转id存储和获取传输数据。源活动通常可以指的是目前在安卓系统中启动的activity。目标活动通常可以是安卓系统中需要被启动的activity。
66.具体地,基于mmap方法创建view的传输管理类,传输管理类可以是管理多活动之间传输的视图的方法。因为多活动之间的传输视图可能会存在多个,所以通过传输管理类能够统一管理该多活动之间需要传输的多个视图。通过传输管理类生成intent携带的用于在源活动和目标活动之间传输的跳转标识。源活动和目标多动均可以包括一个或多个activity活动。
67.s204,利用所述共享内存映射将存储传输数据的存储文件映射至内存中,其中,所述存储文件的名称是根据所述跳转标识和所述传输数据确定的。
68.其中,传输数据通常可以是源活动和目标活动之间需要传输的视图数据。
69.具体地,将传输数据存储在存储文件中,根据跳转标识和传输数据确定存储文件的名称,每个不同名称的存储文件中存储不同的传输数据,利用mmap方法把存储传输数据并确定存储文件名称后的存储文件映射到内存中,实现数据的读取和存储功能。
70.在一些实施方式中,根据跳转标识和传输数据确定存储文件的名称可以是跳转标识和传输数据进行组合方式,如跳转标识 传输数据、跳转标识-传输数据等,也可以是本领域技术人员根据预设的规则进行组装跳转标识和传输数据。在本实施例中不进行显示存储文件名称的具体确定方式,只要能够通过跳转标识和传输数据确定存储文件名称,以及通过存储文件名称能够识别到跳转标识和传输数据的命名方式均可。
71.s206,根据所述消息传递对象启动所述目标活动,以使得所述目标活动根据所述消息传递对象携带的跳转标识、所述存储文件的名称获取所述存储文件中所述传输数据。
72.具体地,源活动可以根据intent启动目标活动,启动目标活动之后目标活动需要获取源活动之中需要传输的数据,所以目标活动可以根据intent携带的跳转标识和需要获取的传输数据进行组装存储文件的名称,进而可以根据存储文件的名称在内存中找到对应的存储文件,获取存储文件中的存储的传输数据。
73.上述多活动之间的数据传输方法中,利用所述共享内存映射将存储传输数据的存储文件映射至内存中,而传输时仅仅通过intent传输的是跳转标识,所以不存在数据较大intent无法传输的问题。因为存储文件的名称是根据跳转标识和需要传输数据确定的,后续在内存中获取需要的传输数据时可以直接根据跳转标识和存储文件的名称获取内存中的需要的传输数据,且传输数据是通过利用共享内存映射在内存中的,所以在获取传输数据时获取能够从内存中获取对应的传输数据,所以解决了通过intent传输时限制传输数据大小的问题,又因为传输数据中包括了视图数据,所以通过该方法能够在多活动之间传输视图。
74.在一个实施例中,所述利用共享内存映射生成消息传递对象携带的多活动的跳转标识,包括:
75.利用所述共享内存映射将至少一项属性信息数据通过信息摘要算法加密后生成所述消息传递对象携带的多活动的跳转标识,所述属性信息数据包括:所述源活动和所述目标活动的对应的类名、时间戳、所述传输数据对应的视图的特性值。
76.其中,信息摘要算法通常可以是md5加密算法,是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。源活动和所述目标活动的对应的类名通常指的是在java中定义的源活动和目标活动的名称。时间戳通常可以是使用数字签名技术产生的数据。传输数据对应的视图的特性值是传
输数据中需要传输的视图的特征值,如视图的长、宽、高信息、视图的上下文信息、视图的业务信息等。
77.具体地,可以将一项属性信息数据通过md5加密算法后生成消息传递对象携带的多活动的跳转标识。还可以将至少一项属性信息数据中每项属性信息数据拼接在一起,将拼接后的属性信息数据通过md5加密算法生成消息传递对象携带的多活动的跳转标识。通过md5加密算法生成的跳转标识通常可以是唯一性的字符串。
78.本实施例中,通过使用不同的属性信息并且使用md5加密算法生成唯一性的字符串,能够防止跳转标识重复,保证跳转标识的唯一性。
79.在一个实施例中,所述存储文件存储传输数据的方式,包括:
80.根据所述传输数据的类别将所述传输数据存储至所述存储文件中,所述传输数据包括:需要传输的视图的指针值、需要传输的视图的属性值、图片数据。
81.具体地,传输文件可以包括不同的类别,如:视图的长度属性值、视图的宽度属性值、视图的高度属性值、指针类别、图片类别。所以根据不同传输数据的类别将不同类型的传输数据存储至不同的存储文件中。传输数据可以包括:需要传输的视图的指针值;需要传输的视图的属性值,如视图长、宽、高、自定义的属性值、别名等;视图中的图片数据等。
82.在本实施例中,传输数据中包括需要传输的视图的指针值、需要传输的视图的属性值等数据能够通过该数据获取到对应的视图,不同的传输数据存储在不同存储文件中,根据不同的存储文件能够获取对应的传输数据,能够通过获取到的不同类型传输数据解决intent无法传输视图的问题。
83.在一个实施例中,如图3所示,所述存储文件的名称包括采用下述方式确定:
84.s302,根据所述跳转标识和所述传输数据对应的类别确定类别名称。
85.s304,根据所述类别名称确定的每个类别的所述传输数据对应的所述存储文件的名称。
86.具体地,在一些实施方式中,如传输数据对应的类别为:视图的宽度属性值,去固定名称可以为width,则类别名称可以为:跳转标识加上固定名称width。进而根据确定跳转标识width确定存储视图的宽度属性值的对应的存储文件的名称为跳转标识width。
87.在本实施例中,通过跳转标识和传输数据的类别确定存储文件的名称能够便于后续查找与调用,当需要调用某种属性值时,组装跳转标识和固定名称可以得到存储view对应属性值的文件名,从而获取到对应的存储文件中的数据。
88.在一个实施例中,如图4所示,所述方法还包括:
89.s402,在所述源活动和所述目标活动属于同一进程的情况下,利用所述需要传输的视图的指针值获取需要传输的视图。
90.其中,视图的指针值通常可以是视图的地址值,能够通过该地址值获取到对应的视图。
91.具体地,在源活动和目标活动属于同一进程的情况下,该同一进程中的各种资源可以相互调用,可以进行共享资源,所以可以直接利用传输数据中需要传输的视图指针获取需要传输的视图。
92.s404,将所述需要传输的视图从所述源活动中移至所述目标活动中。
93.具体地,因为源活动和目标活动属于同一进程,能够共享资源,所以可以直接将需
要传输的视图从源活动移至目标活动中。
94.s406,将所述传输数据映射至所述目标活动中的所述需要传输的视图中。
95.具体地,可以把传输数据中的属性值和其他值映射在移动至目标活动中需要传输的视图中,完成源活动和目标活动之间的视图传输。
96.在本实施例中,在源活动和所述目标活动属于同一进程的情况下,只需要将视图进行转移,从而将内存的存储文件中的数据映射到需要传输的视图中,提升传输的视图的效率。
97.在一个实施例中,如图5所示,所述方法还包括:
98.s502,在所述源活动和所述目标活动不属于同一进程的情况下,在所述目标活动中创建与所述需要传输的视图类型相同的视图。
99.s504,将所述传输数据映射至创建后得到的视图中。
100.具体地,在源活动和所述目标活动不属于同一进程的情况,此时如果需要传输视图至目标活动中则需要在目标活动创建与源活动中需要传输的视图类型相同的视图,这样才可以将传输数据中的数据映射到目标活动中,从而实现视图的传输。创建相同类型的视图后,可以将传输数据,如指针、属性值以及其他值映射到目标活动中创建后得到的相同类型的视图中,完成源活动和目标活动之间的视图传输。
101.在本实施例中,通过在目标活动中创建需要传输的视图类型相同的视图,在不属于同一进程的情况也能够实现多活动之间传输视图。
102.在另一个实施例中,本公开还提供了一种多活动之间的数据传输方法,以该方法应用于图1中的目标活动单元104进行说明,如图6所示,所述方法包括:
103.s602,接收消息传递对象,获取所述消息传递对象携带的多活动之间的跳转标识,所述跳转标识包括利用共享内存映射生成;
104.具体地,当源活动根据消息传递对象启动目标活动后,目标活动接收该消息传递对象,并获取该消息传递对象携带的多活动之间的跳转标识。该跳转标识可以是源活动利用共享内存映射生成的。
105.s604,根据消息传递对象携带的跳转标识匹配存储文件,获取所述存储文件中传输数据。
106.具体地,可以根据跳转标识和源活动中需要传输的视图数据进行匹配内存中的存储文件,当匹配到存储文件后获取存储文件中的传输数据。
107.s606,将所述传输数据映射到与源活动中相对应的视图上,所述与源活动中相对应的视图至少包括预先创建的与源活动中需要传输的视图类型相同的视图和从所述源活动中移至目标活动的视图中的一种。
108.具体地,获取到对应的存储文件中的传输数据后,将该传输数据映射到与源活动中相对应的视图上,映射传输数据后得到的视图相当于将源活动的视图数据传输至目标活动中。与源活动中相对应的视图可以是预先创建的与源活动中需要传输的视图类型相同的视图和从所述源活动中移至目标活动的视图中的一种。在目标活动与源活动属于同一进程的情况下,与源活动中相对应的视图可以是从所述源活动中移至目标活动的视图。在目标活动与源活动不属于同一进程的情况下,与源活动中相对应的视图可以是预先创建的与源活动中需要传输的视图类型相同的视图。
109.在本实施例中,目标活动可以根据跳转标识匹配需要获取数据的存储文件,根据将该存储文件中的传输数据映射至与源活动中相对应的视图上,进而实现多活动之间的数据传输。
110.在一个实施例中,如图7所示,所述根据消息传递对象携带的跳转标识匹配存储文件,获取所述存储文件中传输数据,包括:
111.s702,根据所述跳转标识以及与源活动中相对应的视图中需要映射的数据名称确定存储文件的名称。
112.s704,在共享内存映射中匹配与所述存储文件的名称对应的所述存储文件。
113.s706,获取所述存储文件中所述传输数据。
114.具体地,与源活动相对应的视图中可能会存在如视图的属性值,需要放置的图片等传输数据。但这些传输数据都存储在存储文件中。所以可以根据跳转标识和需要映射的数据名称确定存储文件的名称,确定存储文件名称中该存储文件名称对应的存储文件中包括需要映射的数据。所以可以在共享内存映射中匹配与所述存储文件的名称对应的所述存储文件。进而获取存储文件中的传输数据。
115.在本实施例中,通过需要映射的数据和跳转标识能够匹配到存储文件的名称,进而获取到对应的数据,在映射时只需获取文件名称即可,无需一个个匹配识别,提升了多活动之间的数据传输效率。
116.可以理解的是,上述实施例中的s402、s404、s406步骤以及s502、s504步骤也可通过本实施例中的目标活动单元104进行实现,具体实施方式可参照上述实施例,在此不进行重复赘述。
117.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
118.基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的多活动之间的数据传输方法的多活动之间的数据传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个多活动之间的数据传输装置实施例中的具体限定和实施方式可以参见上文中对于多活动之间的数据传输方法的实施例,在此不再赘述。
119.在一个实施例中,如图8所示,提供了一种多活动之间的数据传输装置800,包括:跳转标识生成模块802、传输数据存储模块804和目标活动启动模块806,其中:
120.跳转标识生成模块802,用于利用共享内存映射生成消息传递对象携带的多活动之间的跳转标识,所述多活动包括源活动和目标活动。
121.传输数据存储模块804,用于将传输数据存储至共享内存映射的存储文件中,其中,所述存储文件的名称是根据所述跳转标识和所述传输数据确定的。
122.目标活动启动模块806,用于根据所述消息传递对象启动所述目标活动,以使得所
述目标活动根据所述消息传递对象携带的跳转标识、所述存储文件的名称获取所述存储文件中所述传输数据。
123.在所述装置的一个实施例中,所述跳转标识生成模块802包括:算法加密模块,用于利用所述共享内存映射将至少一项属性信息数据通过信息摘要算法加密后生成所述消息传递对象携带的多活动的跳转标识,所述属性信息数据包括:所述源活动和所述目标活动的对应的类名、时间戳、所述传输数据对应的视图的特性值。
124.在所述装置的一个实施例中,所述传输数据存储模块804包括类别存储模块,用于根据所述传输数据的类别将所述传输数据存储至所述存储文件中,所述传输数据包括:需要传输的视图的指针值、需要传输的视图的属性值、图片数据
125.在所述装置的一个实施例中,所述装置还包括:第一名称确定模块,用于根据所述跳转标识和所述传输数据对应的类别确定类别名称。根据所述类别名称确定的每个类别的所述传输数据对应的所述存储文件的名称。
126.在所述装置的一个实施例中,所述装置还包括:视图获取模块、视图转移模块;
127.视图获取模块,用于在所述源活动和所述目标活动属于同一进程的情况下,利用所述需要传输的视图的指针值获取需要传输的视图。
128.视图转移模块,用于将所述需要传输的视图从所述源活动中移至所述目标活动中。
129.在所述装置的一个实施例中,所述装置还包括:视图创建模块,传输数据映射模块;
130.视图创建模块,用于在所述源活动和所述目标活动不属于同一进程的情况下,在所述目标活动中创建与所述需要传输的视图类型相同的视图。
131.传输数据映射模块,用于将所述传输数据映射至所述目标活动中的所述需要传输的视图中以及将所述传输数据映射至创建后得到的视图中。
132.在另一个实施例中,如图9所示,提供了一种多活动之间的数据传输装置900,包括:
133.跳转标识接收模块902,用于接收消息传递对象,获取所述消息传递对象中携带的多活动之间的跳转标识,所述跳转标识包括利用共享内存映射生成;
134.传输数据获取模块904,用于根据消息传递对象携带的跳转标识匹配存储文件,获取所述存储文件中传输数据。
135.传输数据映射模块906,用于将所述传输数据映射到与源活动中相对应的视图上,所述与源活动中相对应的视图至少包括预先创建的与源活动中需要传输的视图类型相同的视图和从所述源活动中移至目标活动的视图中的一种。
136.在所述装置的一个实施例中,所述传输数据获取模块904包括:第二名称确定模块、视图映射模块;
137.第二名称确定模块,用于根据消息传递对象携带的跳转标识匹配存储文件,获取所述存储文件中传输数据。
138.视图映射模块,用于将所述传输数据映射到与源活动中相对应的视图上,所述与源活动中相对应的视图至少包括预先创建的与源活动中需要传输的视图类型相同的视图和从所述源活动中移至目标活动的视图中的一种。
139.上述多活动之间的数据传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
140.基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的多活动之间的数据传输方法的多活动之间的数据传输系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个多活动之间的数据传输系统实施例中的具体限定和实施方式可以参见上文中对于多活动之间的数据传输方法的实施例,在此不再赘述。
141.在一个实施例中,如图10所示,提供了一种多活动之间的数据传输系统,所述系统包括:
142.源活动,用于利用共享内存映射生成消息传递对象携带的多活动之间的跳转标识,所述多活动包括源活动和目标活动,利用所述共享内存映射将存储传输数据的存储文件映射至内存中,其中,所述存储文件的名称是根据所述跳转标识和所述传输数据确定的,根据所述消息传递对象启动所述目标活动;
143.目标活动,用于接收消息传递对象,获取所述消息传递对象中携带的多活动之间的跳转标识,所述跳转标识包括利用共享内存映射生成,根据消息传递对象携带的跳转标识匹配存储文件,获取所述存储文件中传输数据;将所述传输数据映射到与源活动中相对应的视图上,所述与源活动中相对应的视图包括创建的与源活动中需要传输的视图类型相同的视图,或,从所述源活动中移至目标活动的视图。
144.源活动,还用于利用所述共享内存映射将至少一项属性信息数据通过信息摘要算法加密后生成所述消息传递对象携带的多活动的跳转标识,所述属性信息数据包括:所述源活动和所述目标活动的对应的类名、时间戳、所述传输数据对应的视图的特性值。
145.源活动,还用于根据所述传输数据的类别将所述传输数据存储至所述存储文件中,所述传输数据包括:需要传输的视图的指针值、需要传输的视图的属性值、图片数据。
146.源活动,还用于根据所述跳转标识和所述传输数据对应的类别确定类别名称;根据所述类别名称确定的每个类别的所述传输数据对应的所述存储文件的名称。
147.源活动或目标活动,还可以用于在所述源活动和所述目标活动属于同一进程的情况下,利用所述需要传输的视图的指针值获取需要传输的视图;将所述需要传输的视图从所述源活动中移至所述目标活动中;将所述传输数据映射至所述目标活动中的所述需要传输的视图中。
148.源活动或目标活动,还可以用于在所述源活动和所述目标活动不属于同一进程的情况下,在所述目标活动中创建与所述需要传输的视图类型相同的视图;将所述传输数据映射至创建后得到的视图中。
149.目标活动,还用于根据所述跳转标识以及与源活动中相对应的视图中需要映射的数据名称确定存储文件的名称;在共享内存映射中匹配与所述存储文件的名称对应的所述存储文件;获取所述存储文件中所述传输数据。
150.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构示意图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接
口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种多活动之间的数据传输方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
151.本领域技术人员可以理解,图11中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
152.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
153.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
154.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
155.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本公开所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本公开所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
156.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
157.以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本公开专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献