1

我是 Android 新手,需要在我的应用中绘制实时数据。

在阅读了一些相关主题后,我发现适合我的解决方案可能是“achartengine”或“Androidplot”。

我知道这两个库都带有我正在寻找的绘图功能,只是有点困惑哪个可能更适合我的要求。因此,如果有人在开发具有类似用途的应用程序方面经验丰富,请提供您的建议,这将对我有很大帮助!

这是我计划在我的 Android 应用程序中执行的操作:

  1. 我的目标 SDK 是 Android 4.2。

  2. 我会通过蓝牙接收到 3 组实时数据,我需要 3 个动态 XY 散点图来显示这些数据。

  3. 采样频率为 1024。

  4. 我将使用导航类型为“可滚动标签+滑动”的活动来显示这3 个动态图表,一个标签对应一个图表。

  5. 允许捏到缩放在动态图表上工作。

提前致谢!

4

3 回答 3

3

我建议使用 Androidplot 获取动态数据。全面披露:我是 Androidplot 的主要开发人员,所以我有点偏见,但我会尽力捍卫我的建议:

Androidplot 的核心关注点之一是动态数据的准确表示,而其他库似乎专注于静态数据或缺乏更好的术语半动态数据。可以对其他绘图库中的绘图进行动画处理以获得“动态”显示,但数据模型和显示数据之间存在竞争条件的可能性很大,特别是在您上面提到的模型以更高频率更新的场景中比显示器。

使用主线程以高频率绘制大量数据甚至少量数据也存在问题。这会通过增加 UI 交互的延迟,甚至可能占用主线程足够长的时间让操作系统假定应用程序已挂起,从而影响 UX。Androidplot 通过提供在后台线程中进行所有渲染的选项来解决这个问题,从而保持主线程没有延迟。这是一个功能(从后台线程渲染)(据我目前所知)仅适用于 Androidplot。

我不会说 Androidplot 是 Android 的终极图表库,当然还有其他几个很好的库,但您的特殊要求特别适合 Androidplot 设计的主要用例之一。

/销售推销:)

编辑:就动态数据的滚动/缩放而言:就像使用 XYPlotZoomPan 类而不是 XYPlot 一样简单 :-)

于 2013-06-25T15:00:08.603 回答
1

对于实时数据绘图,我使用 jjoe64。我自己对这个库很新,但我让它运行起来,因为它符合我的要求,我相信它也会使你受益..

于 2013-06-24T06:05:47.850 回答
1

如果是主要开发人员在此线程上游行,那么我必须说几句话。适合您需求的最佳库是您的选择。

AChartEngine 提供了开箱即用的缩放和拖动功能。您还可以启用用于放大、缩小和重置的内置按钮,或者您可以为此创建自定义按钮。

动态图表就像修改数据集的内容并repaint()在图表视图上调用一样简单。

我还建议您查看这些使用统计信息。

于 2013-06-25T19:26:26.173 回答