Как построить данные в реальном времени с помощью GraphView в Android

#java #android #android-studio #android-graphview #androidplot

Вопрос:

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

Вот приведенный ниже код, который я использовал для построения графиков данных:

 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main5);
                              .
                              .
       Code that receives the real time data    
                              .
                              .
    processData(data);

    GraphView move = (GraphView) findViewById(R.id.move);

    series = new LineGraphSeries<DataPoint>();
    move.addSeries(series);

    Viewport vp = move.getViewport();
    vp.setXAxisBoundsManual(true);
    vp.setMinX(0);
    vp.setMaxX(System.currentTimeMillis());
    series.setColor(Color.GREEN);
    series.setDrawDataPoints(true);
    series.setAnimated(true);
    series.setDrawBackground(true);

    move.setTitle("Movement");
    move.setTitleTextSize(90);
    move.setTitleColor(Color.WHITE);
}

private void processData(float data){
    series.appendData(new DataPoint(count  ,data), true, 10000);
}
 

Точки нанесены на график, но значение y привязано к значению x на оси x. Значения не меняются по мере изменения данных. Мне все еще нужен цикл для добавления отправляемых данных, даже если данные отправляются в режиме реального времени?

Как я могу отображать данные датчиков в режиме реального времени?

Я никогда раньше не создавал приложения и не знаком с библиотекой GraphView. Кто-нибудь может мне помочь? Спасибо