Я создаю приложение для измерения звука в Android. Я хочу отображать значения в линейном графике в режиме реального времени. Кто-нибудь, скажите мне, как я могу это сделать?
Как построить линейный график в реальном времени
Ответы (3)
Для операций со временем см. android.text.format.Time http://developer.android.com/reference/android/text/format/Time.html
Это официальный пример кода оттуда:
Time time = new Time();
time.set(4, 10, 2007); // set the date to Nov 4, 2007, 12am
time.normalize(false); // this sets isDst = 1
time.monthDay += 1; // changes the date to Nov 5, 2007, 12am
millis = time.toMillis(false); // millis is Nov 4, 2007, 11pm
millis = time.toMillis(true); // millis is Nov 5, 2007, 12am
Сейчас для отображения графика нет готового класса, поэтому придется рисовать самому, переопределяя функцию Draw()
класса View
, либо искать для этого библиотеку, например: http://android-graphview.org/
person
Paul E
schedule
24.04.2014
При использовании AChartEngine вам просто нужно добавить новые значения в серию и вызвать mChartView.repaint()
, чтобы диаграмма обновлялась с новыми обновлениями.
person
Dan D.
schedule
29.04.2014
в onCreate(...):
GraphView graphView = new LineGraphView(this, "Amplitude");
graphView.setScrollable(true);
graphView.setViewPort(0, 30); // the x range you want to show without scrolling
GraphViewSeries graphSeries = new GraphViewSeries(new GraphViewDataInterface[0]);
graphView.addSeries(graphSeries);
setContentView(graphView);
//or add your graphView to the Activity's view as appropriate
затем, когда вы получите новые значения:
graphSeries.appendData(new GraphView.GraphViewData(xValue, yValue), true, 300);
//where 300 is the maximum number of values to keep
Новые значения появятся справа, и GraphView будет автоматически прокручиваться, чтобы отобразить самые последние данные на диаграмме.
person
Jeb
schedule
23.05.2014