2015-02-04 4 views
0

Я пытаюсь использовать представление Android Graph для рисования двух линейных графиков, это не проблема, но, к сожалению, один из линейных графиков динамически считывает данные с аппаратного датчика. Это похоже на проблему, поскольку GraphView использует массивы фиксированной длины. К каким сложным добавить новые данные.Нарисуйте линейный график с постоянным обновлением данных?

Чтобы уточнить, у меня есть фиксированная форма волны, и я знаю все точки данных. В каком-то реальном времени я получаю температуру, читающую каждую секунду. Я хотел добавить все больше и больше данных на второй график строк и посмотреть, как он «растет» и, надеюсь, следует за фиксированным «целевым» сигналом или близким приближением к нему.

Каков наилучший способ обработки этих «динамических» данных в GraphView. Я не думаю, что каждый раз уничтожая массив с фиксированной длительностью, увеличивая его размер и переполняя его из ArrayList, я могу добавить значения на лету.

Возможно, есть лучшая альтернатива?

+0

Вы можете сделать это самостоятельно с помощью SurfaceView. Больше работы, но менее рестриктивный. – mjstam

ответ

1

Альтернативой GraphView является AndroidPlot. Он поддерживает данные в реальном времени в линейной диаграмме. Существует sample app in the play store. Взгляните на пример графика ориентации в реальном времени в приложении.

+0

Я смотрел AndroidPlot, но в отличие от графика я пытался найти [Документацию по API] (http://jjoe64.github.io/GraphView/javadoc/). Сказав, что глядя на это приложение, это прекрасно! Необходимо найти код или документы. – jwhitmore

+0

Нашел! [данные датчика] (http://androidplot.com/docs/dynamically-plotting-sensor-data/) благодаря миллиону за ваш ответ. Я смотрел на вид gifib и не было ссылки на документацию. Google продолжал направлять меня туда. – jwhitmore