我想通过TCP套接字将复杂的数据从我的android发送到远程服务器。我知道我需要序列化对象。在Android中,这是通过parcelable完成的。但这是一个特定于android的接口,服务器只知道可序列化的接口。反之亦然android不知道可序列化的接口。
android和服务器都必须“知道”该对象,但它们以两种不同的方式实现(服务器 - > serializable,android - > parcelable)
如何正确使用这些接口,以便我可以通过TCP成功将对象发送到服务器?
答案 0 :(得分:2)
为什么不使用Simple XML序列化,适用于Android和Java 1.5+。它位于以下站点。
此外,该框架相当小,适用于移动平台(约270K,没有依赖)。它比大多数XML序列化或绑定框架更具性能。
答案 1 :(得分:1)
我们在工作中遇到了同样的问题,我们切换到了JSON。也许你应该考虑做同样的事情?!
编辑:Android确实知道Serializable接口。我怎么会忘记......
答案 2 :(得分:0)
根据http://developer.android.com/reference/android/os/Parcel.html,使用parcel进行持久性(或网络)序列化是不合适的:
Parcel不是通用序列化机制。这个班 (以及用于放置任意对象的相应Parcelable API 成为一个包裹)被设计为高性能的IPC运输。如 因此,将任何Parcel数据放入持久性数据库是不合适的 存储:任何数据的底层实现的更改 在包中可以使旧数据无法读取。