我是计算机科学本科生,我正在创建一个使用API与执行服务器交互的Android应用程序。
服务器获取一个xml文件并用它做各种事情(获取数据,处理数据等),然后将数据作为输出返回。输入和输出都通过此API进行交换。
问题是API引用了来自javax.xml.bind
的代码,例如JAXBContext,而android在其核心中没有javax.xml.bind包。 (一个众所周知的问题)
互联网上的可行解决方案似乎是重新打包我需要的代码,但我不知道究竟是什么假设。
由于javax.xml.bind
和javax.net
中的API引用类,我想我必须从这两个包中提取代码并使它们成为API 的一部分(我可以访问API源代码) 然后重新打包API。但是,我猜javax.xml.bind中的类可能依赖于Android 不支持的其他类,javax.net也是如此。 (如果这是愚蠢的想法,请原谅我......)
所以任何人都知道:是否有类,javax.xml.bind和javax.net中的哪些代码依赖于,android不支持?
真的有点棘手的问题..
如果你能提供一个解决方案让Android应用程序调用引用javax.xml.bind中的代码的API,我将非常感激。
答案 0 :(得分:0)
试试JiBX(http://jibx.sourceforge.net/),它是一个小巧,快速,兼容Android的XML绑定框架。
答案 1 :(得分:0)
我最终重新打包了存在于标准Java库中但不存在于Android中的那些包。基本上,只需获取所有缺少的包的源代码,然后将它们放入API源并将它们重命名为与原始名称不同的名称,然后在API中更改引用这些方法的相应代码(必须使用)一个不同的名称,否则这些包中的代码引用方法仍将在核心库(即Android API)中寻找方法
无论如何,希望它有所帮助。如果你有同样的问题。
如果您有任何更好的建议。请分享!