我创建了一个远程服务,负责所有客户端 - 服务器通信。 我已经使用过服务,因为很少有分离的应用程序会使用相同的通信套接字,并且没有其他方法可以在应用程序之间“共享”套接字(据我所知)。
该服务运行良好,可以启动套接字连接,发送和获取原始对象(如int,String等...),并且在我的应用程序之间共享相同的套接字时工作得很好。
就目前而言,所有伟大的一切都很好。 问题始于不同的对象类型。 我无法想出让我的服务支持通过套接字传递“对象”。 我看到了一个毫无意义的解决方案 - 使用包裹。 for example
在这种情况下,我需要为我希望我的服务支持的任何对象类型创建.AIDL文件。
在我的服务中使用“对象”类型是否有任何办法? 还有其他想法可以克服我的障碍吗?
谢谢, Lioz。
答案 0 :(得分:0)
Android IPC使用Parcelable接口来编组/解组数据类型。由于Object没有实现它,你不能只传递对象。您可以创建自己的根类型,但由于每种类型的Object都有不同的set属性,因此无用。
请参阅AIDL文档中的passing objects。它应该足以通过那个。