2

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

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

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

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

由于 和 中的 API 引用类javax.xml.bindjavax.net我想我必须从这两个包中提取代码并使其成为 API 的一部分(我可以访问 API 源),然后重新打包 API。但是,我猜javax.xml.bind 中的类可能依赖于 Android 不支持的其他类, javax.net 也是如此。(如果这是愚蠢的想法,请原谅我......)

所以有人知道是否有类,javax.xml.bind 和 javax.net 中的哪些代码取决于,android 不支持?

真的有点棘手的问题..

如果您能提供一种解决方法,使 Android 应用程序能够调用引用 javax.xml.bind 中的代码的 API,我将不胜感激。

4

2 回答 2

0

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

于 2012-10-31T19:13:09.237 回答
0

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

无论如何,希望它有所帮助。如果你有同样的问题。

如果你有更好的建议。请分享!

于 2012-11-07T23:05:25.753 回答