尝试将序列化对象从Android应用程序传输到Servlet时接收NoSuchMethodException

尝试将序列化对象从Android应用程序传输到Servlet时接收NoSuchMethodException,android,serialization,Android,Serialization,我有一个普通的java应用程序,它可以毫无问题地将相同的对象发送到servlet,但当我在android应用程序中尝试使用相同的代码时,它会在以下位置对我产生影响: outputToServlet.writeObject(myobject) 正在抛出NoSuchMethodException 我可以通过Android应用程序发送字符串对象没有问题 我已经看到了“不要在体系结构之间使用序列化”的答案,但我想知道为什么不能 有什么想法吗 -首席关于您的问题“不要在架构之间使用序列化” 基本上是因为

我有一个普通的java应用程序,它可以毫无问题地将相同的对象发送到servlet,但当我在android应用程序中尝试使用相同的代码时,它会在以下位置对我产生影响:

outputToServlet.writeObject(myobject)
正在抛出
NoSuchMethodException

我可以通过Android应用程序发送字符串对象没有问题

我已经看到了“不要在体系结构之间使用序列化”的答案,但我想知道为什么不能

有什么想法吗

-首席

关于您的问题“不要在架构之间使用序列化”

基本上是因为你把东西(客户机和服务器)结合得太紧密了。当您使用序列化时,两边必须有完全相同的对象,这可能很快就会变得非常麻烦。相反,尝试使用其他协议进行通信。我已经成功地在Android上使用XML-RPC进行客户端-服务器通信。一个很好的轻量级lib。我只是修改了一些小东西,它工作得很好。

关于你的问题“不要在架构之间使用序列化”


基本上是因为你把东西(客户机和服务器)结合得太紧密了。当您使用序列化时,两边必须有完全相同的对象,这可能很快就会变得非常麻烦。相反,尝试使用其他协议进行通信。我已经成功地在Android上使用XML-RPC进行客户端-服务器通信。一个很好的轻量级lib。我只是修改了一些小东西,它工作得很好。

我猜您的类定义包含Android中writeObject不支持的数据类型。尝试将您的类限制为仅使用int、string等常见数据类型。。看看它是否有效。

我猜您的类定义包含Android中writeObject不支持的数据类型。尝试将您的类限制为仅使用int、string等常见数据类型。。然后查看它是否有效。

找到了问题。我在我的类中使用了一个非本机数据类型,这是Google应用程序引擎的一个键。删除后,不会抛出异常。谢谢你,道格!还感谢Juri为我的其他问题提供的信息。非常感谢。

发现了问题。我在我的类中使用了一个非本机数据类型,这是Google应用程序引擎的一个键。删除后,不会抛出异常。谢谢你,道格!还感谢Juri为我的其他问题提供的信息。非常感谢。

Android找不到您提供的方法,
writeObject
。你确定该方法存在吗?是的,我可以使用该方法发送字符串。Android找不到你提供的方法,
writeObject
。你确定这个方法存在吗?是的,我可以用这个方法发送字符串。