![](/img/trans.png)
[英]is it possible to determine whether the current VM is Java SE or Dalvik?
[英]Dalvik to Java SE communications
我正在计划开发一个Android应用程序,需要后端服务器与应用程序的其他用户同步数据。 我打算在unix服务器上运行的标准java中编写这个服务器。
我曾经直接在两个Android设备之间做过这个,在这种情况下,我只是序列化了两端需要发送的所有数据。
但是我怀疑Dalvik序列化的格式与Java SE的格式不兼容。 是这样的吗? 如果是的话,我的替代方案是什么? 我想到的一件事就是将原始xml发送到套接字上,但如果有更好的选择,我会很高兴听到它们。
谢谢。
如果您正在使用服务器,那么您应该依赖更标准的内容,如XML或JSON。 我个人赞成JSON。 您不应期望所有客户端都是Java友好的。 几乎每个移动设备都支持JSON。 看杰克逊图书馆来生成你的json。 然后你可以再次使用Jackson来反序列化你的对象。
这个解决方案的美妙之处也很简单。 您只需将请求放入浏览器即可查看内容。 二进制数据并不那么容易。
我在Android设备和服务器之间成功使用了数据序列化。
我确实必须将TimeZone
类转换为String并返回,因为TimeZone
类特别是不完全兼容(它尝试在sun.
传输一些东西sun.
在Android上获得ClassNotFoundException
包)。
除此之外,我已经能够从java.util
集合和映射以及java.sql
数据类型java.util
传输对象,当然还有java.lang
类型的String
, Integer
等。
如果您的对象图非常简单,并且您完全熟悉JSON,那么Android会包含JSON支持,并且很容易在Java SE中获得支持。 我倾向于认为JSON是XML或Java序列化似乎“沉重”的一个很好的选择。
协议缓冲区将是一种很好的格式,需要考虑。
我无法谈论Dalvik的序列化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.