Выводите на график данные в реальном времени

#android #bluetooth-lowenergy

Вопрос:

Я получил данные BLE в режиме реального времени и хотел бы отобразить данные на графике. Вот мой код:

 @Override
protected void onResume() {
    super.onResume();
    registerReceiver(mGattUpdateReceiver, makeGattUpdateIntentFilter());
    if (mBluetoothLeService != null) {
        boolean result = mBluetoothLeService.connect(mDeviceAddress0,0);
        boolean result1 = mBluetoothLeService.connect(mDeviceAddress1, 1);
    }

    
    // The Runnable interface should be implemented by any class whose instances are intended
    // to be executed by a thread. The class must define a method of no arguments called run.
    mTimer = new Runnable()
    {
        @Override
        public void run()
        {
            graphLastXValue  = 1.0;
            mSeries0.appendData(new DataPoint(graphLastXValue, getDeviceData0()),true, 150);
            mSeries1.appendData(new DataPoint(graphLastXValue, getDeviceData1()),true, 150);
            mHandler.postDelayed(this, 1);
        }
    };
    mHandler.postDelayed(mTimer, 100);
}
 

Мои вопросы таковы:

  1. Какова функция для 2 postDelayed() в коде соответственно? В моем коде я задержал в общей сложности 200 мс, верно?
  2. Как добавить новые данные BLE на график, как только поступят новые данные, вместо использования фиксированного периода времени postdelay (), пожалуйста?