【问题标题】:How to get sensor data using timer in Flutter如何在 Flutter 中使用计时器获取传感器数据
【发布时间】:2020-06-29 10:46:55
【问题描述】:

我正在尝试使用计时器收集传感器数据,但它无法正常工作。当它达到十个条目时,它应该对列表进行排序(我只是排序以便有一个可以调试的操作),这应该是十秒。但它在大约三秒后到达这一点,奇怪的是通常有 16 个条目。我认为监听事件没有对计时器做出正确反应。

我的代码是:

List<SensorAccelerometer> accList;
  Timer timer;

  void startRecording() {
    accList = new List<SensorAccelerometer>();
    timer = Timer.periodic(Duration(seconds: 1), (timer) {
      accelerometerEvents.listen((AccelerometerEvent event) {
        SensorAccelerometer sensorAccelerometer =
            new SensorAccelerometer(event.x, event.y, event.z);
        accList.add(sensorAccelerometer);
      });
      if(accList.length > 10){
        accList.sort();
      }
    });
  }

SensorAccelerometer 只是一个包含 x、y、z 的三个双精度值的对象。

有人可以帮忙吗?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    啊,我傻了。因此,在聆听中添加添加就像疯了一样。我将它从那里移除,放在下面,它现在可以工作了。

      void startRecording() {
        accList = new List<SensorAccelerometer>();
        SensorAccelerometer sensorAccelerometer;
        timer = Timer.periodic(Duration(seconds: 1), (timer) {
          accelerometerEvents.listen((AccelerometerEvent event) {
            sensorAccelerometer = new SensorAccelerometer(event.x, event.y, event.z);
          });
          accList.add(sensorAccelerometer);
          if(accList.length > 10){
            accList.sort();
          }
        });
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 2019-04-11
      • 1970-01-01
      相关资源
      最近更新 更多