一种跨应用的对象拖拽方法、装置、终端设备及存储介质制造方法及图纸

技术编号:37809917 阅读:18 留言:0更新日期:2023-06-09 09:39
本申请适用于计算机技术领域,提供了一种跨应用的对象拖拽方法、装置、终端设备及存储介质,包括:在检测到跨应用拖拽事件时,第一应用程序将被拖拽对象的对象数据转换为序列化数据,并将序列化数据写入共享内存中;在序列化数据写入完成后,第二应用程序从共享内存中读取所述序列化数据,并根据序列化数据进行反序列化操作,在第二应用程序中创建对象实例,通过将被拖拽的对象进行序列化操作,并利用共享内存存储序列化数据,放置对象的应用程序通过访问该共享内存中的序列化数据,并进行反序列化操作就能够在第二应用程序中生成一个与被拖拽对象相同的对象实例,实现跨应用的对象拖拽,解决目前难以实现两个应用之间的对象拖拽的问题。拽的问题。拽的问题。

【技术实现步骤摘要】
一种跨应用的对象拖拽方法、装置、终端设备及存储介质


[0001]本申请属于计算机
,尤其涉及一种跨应用的对象拖拽方法、装置、终端设备及存储介质。

技术介绍

[0002]应用开发者在开发和编译应用程序时都是独立的,因此生成的各个应用程序安装包也是独立的。因此,终端在运行各个应用程序时,也就是在独立的进程中运行各个应用程序,从而保证各个应用程序的稳定运行。
[0003]然而,这种独立编译和独立运行的应用程序机制,也造成了各个应用程序的功能模块以及页面跳转逻辑等在开发时已经完全确定,难以实现两个应用之间的对象拖拽。

技术实现思路

[0004]本申请实施例提供了一种跨应用的对象拖拽方法、装置、终端设备及存储介质,能够实现跨应用的对象拖拽。
[0005]第一方面,本申请实施例提供了一种跨应用的对象拖拽方法,包括:
[0006]在检测到跨应用拖拽事件时,第一应用程序将被拖拽对象的对象数据转换为序列化数据,并将所述序列化数据写入共享内存中;
[0007]在序列化数据写入完成后,第二应用程序从所述共享内存中读取所述序列化数据,并根据所述序列化数据进行反序列化操作,在所述第二应用程序中创建对象实例。
[0008]在第一方面的一种可能的实现方式中,所述第一应用程序将被拖拽对象的对象数据转换为序列化数据之前,还包括:
[0009]判断所述被拖拽对象是否为完整性对象;
[0010]若所述被拖拽对象为完整性对象,则将所述被拖拽对象的对象数据转换为序列化数据;否则,反馈无效拖拽信息。
[0011]在第一方面的一种可能的实现方式中,所述在检测到跨应用拖拽事件时,第一应用程序将被拖拽对象的对象数据转换为序列化数据,并将所述序列化数据写入共享内存中,包括:
[0012]在检测到跨应用拖拽事件时,第一应用程序在拖拽标识位为空闲时,将所述拖拽标识位置为拖拽中;
[0013]将写入完成标识位置为未完成写入;
[0014]将所述被拖拽对象的对象数据进行序列化转换,得到序列化数据;
[0015]从所述共享内存中为所述序列化数据分配第一缓存区,将所述序列化数据写入所述第一缓存区中,并在写入完成后将所述写入完成标识位置为完成写入。
[0016]在第一方面的一种可能的实现方式中,所述在从所述共享内存中为所述序列化数据分配第一缓存区,将所述序列化数据写入所述第一缓存区中,并在写入完成后将所述写入完成标识位置为完成写入之后,还包括:
[0017]根据所述序列化数据计算校验码,并将所述校验码写入校验区。
[0018]在第一方面的一种可能的实现方式中,所述在序列化数据写入完成后,第二应用程序从所述共享内存中读取所述序列化数据,并根据所述序列化数据进行反序列化操作,在所述第二应用程序中创建对象实例,包括:
[0019]第二应用程序访问拖拽标识位和写入完成标识位;
[0020]若拖拽标识位为拖拽中,写入完成标识位为写入完成,则将所述拖拽标识位置为占用,并根据序列化信息的数据量在第二应用程度的独享进程内存中创建第二缓存区;
[0021]从所述第一缓存区中读取序列化数据,并将读取的序列化数据写入所述第二缓存区中,在写入完成后,将所述拖拽标识位置为空闲;
[0022]根据所述第二缓存区中的序列化数据进行反序列化操作,得到对象实例。
[0023]在第一方面的一种可能的实现方式中,所述从所述第一缓存区中读取序列化数据,并将读取的序列化数据写入所述第二缓存区中,在写入完成后,将所述拖拽标识位置为空闲之后,还包括:
[0024]读取校验码,并对所述序列化数据进行校验。
[0025]在第一方面的一种可能的实现方式中,在所述在序列化数据写入完成后,第二应用程序从所述共享内存中读取所述序列化数据,并根据所述序列化数据进行反序列化操作,在所述第二应用程序中创建对象实例之后,还包括:
[0026]释放所述共享内存。
[0027]第二方面,本申请实施例提供了一种跨应用的对象拖拽装置,包括:
[0028]转换模块,用于在检测到跨应用拖拽事件时,第一应用程序将被拖拽对象的对象数据转换为序列化数据,并将所述序列化数据写入共享内存中;
[0029]创建模块,用于在序列化数据写入完成后,第二应用程序从所述共享内存中读取所述序列化数据,并根据所述序列化数据进行反序列化操作,在所述第二应用程序中创建对象实例。
[0030]第三方面,本申请实施例提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的方法。
[0031]第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
[0032]第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面所述的方法。
[0033]可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
[0034]本申请实施例与现有技术相比存在的有益效果是:能够通过将被拖拽的对象进行序列化操作,并利用共享内存存储序列化数据,放置对象的应用程序通过访问该共享内存中的序列化数据,并进行反序列化操作就能够在第二应用程序中生成一个与被拖拽对象相同的对象实例,实现跨应用的对象拖拽,解决目前难以实现两个应用之间的对象拖拽的问题。
附图说明
[0035]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1是本申请实施例提供的跨应用的对象拖拽方法的实现流程示意图;
[0037]图2是本申请一实施例提供的跨应用的对象拖拽方法的S101的实现流程示意图;
[0038]图3是本申请一实施例提供的共享内存的结构示意图;
[0039]图4是本申请一实施例提供的跨应用的对象拖拽方法的S102的实现流程示意图;
[0040]图5是本申请实施例提供的跨应用的对象拖拽装置的结构示意图;
[0041]图6是本申请一实施例提供的终端设备的结构示意图。
具体实施方式
[0042]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0043]应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨应用的对象拖拽方法,其特征在于,包括:在检测到跨应用拖拽事件时,第一应用程序将被拖拽对象的对象数据转换为序列化数据,并将所述序列化数据写入共享内存中;在序列化数据写入完成后,第二应用程序从所述共享内存中读取所述序列化数据,并根据所述序列化数据进行反序列化操作,在所述第二应用程序中创建对象实例。2.如权利要求1所述的跨应用的对象拖拽方法,其特征在于,所述第一应用程序将被拖拽对象的对象数据转换为序列化数据之前,还包括:判断所述被拖拽对象是否为完整性对象;若所述被拖拽对象为完整性对象,则将所述被拖拽对象的对象数据转换为序列化数据;否则,反馈无效拖拽信息。3.如权利要求1所述的跨应用的对象拖拽方法,其特征在于,所述在检测到跨应用拖拽事件时,第一应用程序将被拖拽对象的对象数据转换为序列化数据,并将所述序列化数据写入共享内存中,包括:在检测到跨应用拖拽事件时,第一应用程序在拖拽标识位为空闲时,将所述拖拽标识位置为拖拽中;将写入完成标识位置为未完成写入;将所述被拖拽对象的对象数据进行序列化转换,得到序列化数据;从所述共享内存中为所述序列化数据分配第一缓存区,将所述序列化数据写入所述第一缓存区中,并在写入完成后将所述写入完成标识位置为完成写入。4.如权利要求3所述的跨应用的对象拖拽方法,其特征在于,所述在从所述共享内存中为所述序列化数据分配第一缓存区,将所述序列化数据写入所述第一缓存区中,并在写入完成后将所述写入完成标识位置为完成写入之后,还包括:根据所述序列化数据计算校验码,并将所述校验码写入校验区。5.如权利要求3所述的跨应用的对象拖拽方法,其特征在于,所述在序列化数据写入完成后,第二应用程序从所述共享内存中读取所述序列化数据,并根据所述序列化数据进行反序列化操作,在所述第二应用程序中创建对象实例,包括...

【专利技术属性】
技术研发人员:陈凌锋
申请(专利权)人:深圳市优必选科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1