Android图表库能够在不显示图表之前生成PNG

时间:2015-07-20 21:17:35

标签: android charts offline

让我们开始为什么要这样做: 我公司目前正在进行的项目涉及让我们的客户的一名员工走到世界尽头的可能性,完全无法连接到移动网络,随身携带便携式打印机,并打印他的平板电脑报道。我们目前有一份工作报告已经以这种方式打印,但他们添加了一些细节,造成了很多麻烦,这就是我在这里的原因,我需要在Jasper报告的最后放置3个图表。

在一个非常简单的Web应用程序中,因为Jasper本身提供了这个功能,但由于它是一个移动项目,我们尝试使用PDFReporter。此API从.jrxml文件生成PDF,但它不支持Jasper的每个功能,而图表就是其中之一。在网上搜索我发现我们可以将图表导出到PNG,然后将其添加到报告中,这可以与PDFReporter一起使用。

从今天早上8点开始,我花了一天时间搜索和测试不同的图表生成API,只是为了发现到目前为止,100%的android API都是为了直接在你指定的视图上生成图表。活动,但这根本不适合我。

我也测试了一些Java API,但也遇到了一个问题,因为大多数都使用java.awt资源来操作图像,而且这个包不包含在android的SDK中,也不支持(发现它通过将JFreeChart添加到我的项目中,这使我的构建大约需要15分钟,最后因OOM错误而失败。)

所以我需要帮助的是:是否有一个我可以直接在移动项目上使用的API,没有任何连接,它生成一个饼图作为PNG,而不必在视图上呈现它然后获取图像?

我只想明确表示我对上面提到的大多数事情都不是100%肯定,除了PDFReporter的限制,这些已经确认,所以请,任何形式的帮助都会非常感激,甚至一点点“它不是如何运作”将有所帮助。

如果您至少花时间阅读它,请提前致谢:)

1 个答案:

答案 0 :(得分:0)

我不确定你为什么说" ...直接在你活动中指定的视图上生成图表,但这对我来说根本不起作用#34;。您在Android应用中看到的所有内容都在某个视图中(在您的情况下,它可能是一个ImageView)。

您是否只想将图表生成为内存中的PNG并存储或进一步操作?在这种情况下,您可以首先使用您选择的API在隐藏的ImageView中生成它,然后使用ImageView.getDrawable()提取它。假设API没有隐藏视图的问题。也许this帮助