2012-03-16 69 views
2

据我所知,目前没有JAXB实现可以在Android平台上运行。Android的JAXB实现中是否需要?

我想问一个简单的问题 - 是否有需要JAXB在Android?

作为一名JAXB爱好者,我考虑为Android编写一个JAXB实现。我可能不会移植JAXB RI,因为它对移动应用程序来说太肥了,我宁愿从头开始编写它。我写了一个JAXB port for JavaScript,所以我知道这是可以管理的。

但你们是否需要它?或者你喜欢SimpleXML等其他工具吗?

回答

3

作为一名Android开发人员,他在几乎所有开发的应用程序中都进行了大量的XML和JSON解析和构建,我的答案是:不,在Android上不需要JAXB。其他工具完美符合法案。要么是这样,要么我们的Android开发人员已经习惯了缺乏JAXB,并且我们每个人都已经习惯了其中一种选择。

就我而言,我甚至通过在服务器上用我最喜欢的Android XML序列化库替换JAXB来实现代码重用。

+3

如果您使用需要JAXB的库,该怎么办?我们是否应该重写那个库?并且当图书馆发布安全漏洞修复程序时,让我们的叉子保持最新状态?我的编程时间有更多有用的问题需要解决。 – 2013-03-04 14:04:26

2

JAXB似乎几乎是在Android上的事情。至少,如果this question thread的内容是可信的。

似乎需求量很大,因为Dalvik虚拟机无法支持依赖反射的JAXB组件。所以,毕竟这可能是有用的。 :)

+0

我觉得那个线程指出JAXB实际上是不支持Android的,或者我错了吗? – lexicore 2012-03-23 08:18:21

+0

它没有预装Android,但该线程表示可以将它载入您的[APK](http://en.wikipedia.org/wiki/APK_(file_format))。复杂性:进一步下降,并且在谷歌各地,Dalvik虚拟机无法处理反射组件的投诉有很多种创新。因此,第二个想法是:即使标准库在某种程度上被使用,至少一个在Android中工作的_tutorial_和一个罐头实现似乎也非常需要。 :) – MrGomez 2012-03-23 08:30:38

+0

请参阅http://www.docx4java.org/blog/2012/05/jaxb-can-be-made-to-run-on-android/了解如何使参考实现在Android上运行。 – JasonPlutext 2012-05-18 01:50:18

2

事实证明,JAXB并非由Android本机支持。另一种方法是包括图书馆并使用它,但这会招致大量浪费资源(JAXB图书馆非常大)。

在快速搜索中,IBM Developerworks发现了一篇有趣的文章。我浏览了文档。我认为这个图书馆不像JAXB那样强大或多功能,但它应该适合大多数意图和目的的账单。而且,它本身是由Android支持的,因此应该是合理高效的。

链接到文件是: http://www.ibm.com/developerworks/opensource/library/x-android/

有哪些值得高度许多建议另一个库。 SF的链接是:http://sourceforge.net/projects/simple/ 这个拉链包只重2.5M,这意味着它的重量很轻。

+0

我并不是真的在寻找JAXB的替代品。我的问题是,具体来说,如果JAXB实现Andorid是人们喜欢的东西。 – lexicore 2012-03-25 23:30:38

8

lexicore有需要JAXB在Android上,SimpleXML的是伟大的,我把它喜欢JAXB在某些方面,但是JAXB是一个标准,被广泛使用。

,这将是真正伟大的一个有用的例子是,如果一个Android应用程序可以共享一个装满的JAXB POJO的与EE应用程序和REST风格调用的应用程序EE使用这些。

+0

我重新包装了JAXB RI。 Android不支持包注释,因此需要采取以下解决方法:http://code.google.com/p/android/issues/detail?id=16149 – JasonPlutext 2012-05-14 08:21:08

1

JAXB参考实现需要大约3.5MB的空间,并使用Android中缺少的功能。因此,Android兼容的实现将更大,因为它需要额外提供这些功能的实现。

大量Android手机的内部存储空间不足40MB或更少。这就是OEM版本,在网络通过添加额外的应用程序和无法卸载的免费试用“定制”它们之前。只要你希望拥有这些手机的人安装你的应用程序,那么你就不会想这么大。而大多数应用程序开发人员希望他们的应用程序尽可能广泛地使用。因此,在我看来,对Android实施大型图书馆感兴趣的人数将非常有限。

+0

我的JavaScript的JAXB端口为ca. 140KB。注释和反思绝对是一个问题,但我认为它可以通过特殊的XJC插件来解决。一般来说,我刚刚得出的结论是,这项工作不值得。 – lexicore 2013-04-16 21:38:25