Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过泛型类将对象包裹起来_Java_Android_Parcelable_Android Handler - Fatal编程技术网

Java 如何通过泛型类将对象包裹起来

Java 如何通过泛型类将对象包裹起来,java,android,parcelable,android-handler,Java,Android,Parcelable,Android Handler,我必须通过蓝牙在智能手机和远程桌面(运行Java)之间发送和接收对象。智能手机和台式机都共享一系列构成应用程序数据模型的类 我需要在智能手机应用程序上实现Parcelable接口,以便在从桌面应用程序接收对象时,我可以通过处理程序将其发送回主活动。不幸的是,这不起作用,因为它会使这些类在桌面应用程序上不可用 因此,我的问题是:我是否可以将没有实现Parcelable接口的对象发送到桌面应用程序,然后在接收它们时通过泛型类将它们打包 诸如此类: Object orgObject = new Obj

我必须通过蓝牙在智能手机和远程桌面(运行Java)之间发送和接收对象。智能手机和台式机都共享一系列构成应用程序数据模型的类

我需要在智能手机应用程序上实现Parcelable接口,以便在从桌面应用程序接收对象时,我可以通过处理程序将其发送回主活动。不幸的是,这不起作用,因为它会使这些类在桌面应用程序上不可用

因此,我的问题是:我是否可以将没有实现Parcelable接口的对象发送到桌面应用程序,然后在接收它们时通过泛型类将它们打包

诸如此类:

Object orgObject = new Object();

//Make an object Parcelable
ObjectParcelable objPble = GenericClass.makeParcelable(orgObject);

//Remove the Parcelable implementation
orgObject = GenericClass.undoParcelable(objPble);

对于这个问题,我的首选解决方案是将对象序列化为JSON(例如,使用Gson库)并将其作为字符串发送。另一方面,您可以使用首选库将JSON反序列化为对象。

您需要将要发送的对象转换为某种中间格式,例如JSON或xml。然后,您可以从android端发送此序列化消息,并在java端对其进行反序列化,反之亦然。例如,您可以使用一个在android和java上以相同方式工作的库。通过这种方式,您可以在两个应用程序中为您的模型使用相同的java类文件

使用序列化如何。您可以以流的形式发送和接收。