2012-02-08 115 views
1

在Android上使用基于SOAP的服务的最常见方式似乎是通过kSOAP2,因为它经常在stackoverflow上推荐。自从我一直在使用JAX-WS一段时间以来,我就是SOAP的粉丝。Android上使用哪种webservice技术?

但即使是kSOAP2背后的人也不会推荐它用于移动设备。我知道SOAP在你的移动设备上产生了很多你不想拥有的开销。你有没有使用Android基于SOAP的服务的经验,这是否真的有问题?什么是主要瓶颈,带宽或内存/ CPU?

我需要传输文本和二进制数据,REST是这里的最佳选择吗?

感谢

编辑:如果可能,我想避免自己建立一个解析器,应该没有自己的解析器工作。也许GSON?

+0

尝试仅发送Web服务中的文本,并且如果要发送类似图像或视频等二进制文件,则可以将这些URL放入Web服务中,并在需要时使用此URL。如果您在Web服务中使用了二进制图像和视频,那么在设备上获取这些数据时,您的设备可能会给您提供内存不足的错误。所以总之尽量避免二进制,如果可以的话。 – 2012-02-08 10:59:27

+0

数据流始终是“设备 - >服务”,所以我想从设备发送二进制数据到服务,但反之亦然。 – ceran 2012-02-08 11:01:55

回答

1

我需要传输文本和二进制数据,是REST最好的替代品 在这里?

肯定。您可以通过HTTP POST发送二进制数据,并且使用REST发送文本很简单。我建议你使用JSON格式,因为它重量轻,并且通过开发人员高度接受,所以你可以找到很多例子。

请参阅http://www.springsource.org/spring-android适用于Android的库,以将JSON自动化为对象,反之亦然。

0

用于文本数据的JSON或XML over Http。 Http POST用于二进制数据。它是否应该是REST取决于你。

相关问题