2012-10-31 35 views
2

我是一名计算机科学本科学生,我正在创建一个使用API​​与执行服务器进行交互的Android应用程序。使用引用JAXBContext的API创建Android应用程序

服务器接受一个xml文件并对其执行各种操作(获取数据,处理数据等),然后返回数据作为输出。输入和输出都通过这个API交换。

问题是API引用javax.xml.bind的代码,例如JAXBContext,而android的核心中没有javax.xml.bind包。 (一个众所周知的问题)

在互联网上的可行解决方案似乎重新包装我需要的代码,但我不知道到底假设是什么。

由于javax.xml.bindjavax.net API参考类,我想我必须从这些2包中提取代码,并使它们的API (I能够访问API源)的一部分,然后重新打包API。不过,我猜javax.xml.bind中的类可能依赖于Android不支持的其他类,javax.net也是如此。 (请原谅我,如果这是愚蠢的想法...)

所以任何人都知道是否有类,哪些代码在javax.xml.bind和javax.net依赖,不支持android?

位真正棘手的问题..

,我将非常感激,如果你能提供一个变通使Android应用程序调用引用内部javax.xml.bind中的代码的API。

回答

0

尝试JiBX(http://jibx.sourceforge.net/),它是一个体积小巧,兼容Android的XML绑定框架。

+0

感谢您的重播,但使用JiBX意味着我需要重新实现那些参考JAXB的API部分,这是一个大量的工作... – CrazyGreenHand

+0

谢谢!关键是:Android的XML绑定! – CrazyGreenHand

0

我最终重新包装了那些存在于标准Java库中但不在Android中的包。基本上,只需获取所有这些缺少的软件包的源代码,然后将它们放入API源中,并将它们重命名为与原始软件包不同的名称,然后在引用这些方法的API中更改相应的代码(必须使用不同的名称,否则在这些封装代码的参考方法仍然会寻找核心库的方法(即Android的API)

不管怎样,希望它可以帮助。如果你有同样的问题。

如果您有任何更好的建议。请分享!

相关问题