Flutter - приложение Activity Tracker - шаги, вверх / вниз, стационарные - PullRequest
0 голосов
/ 13 марта 2020

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

Я новичок в разработке программного обеспечения. Я хотел бы использовать телефонные датчики: гироскоп, акселерометр и барометр. Могу ли я знать, с чего начать? Например, полезные пакеты и API, каналы платформы?

1 Ответ

0 голосов
/ 13 марта 2020

Вы можете использовать пакет https://pub.dev/packages/sensors
пример кода https://github.com/flutter/plugins/blob/master/packages/sensors/example/lib/main.dart

фрагмент кода

@override
  Widget build(BuildContext context) {
    final List<String> accelerometer =
        _accelerometerValues?.map((double v) => v.toStringAsFixed(1))?.toList();
    final List<String> gyroscope =
        _gyroscopeValues?.map((double v) => v.toStringAsFixed(1))?.toList();
    final List<String> userAccelerometer = _userAccelerometerValues
        ?.map((double v) => v.toStringAsFixed(1))
        ?.toList();

@override
  void initState() {
    super.initState();
    _streamSubscriptions
        .add(accelerometerEvents.listen((AccelerometerEvent event) {
      setState(() {
        _accelerometerValues = <double>[event.x, event.y, event.z];
      });
    }));
    _streamSubscriptions.add(gyroscopeEvents.listen((GyroscopeEvent event) {
      setState(() {
        _gyroscopeValues = <double>[event.x, event.y, event.z];
      });
    }));
    _streamSubscriptions
        .add(userAccelerometerEvents.listen((UserAccelerometerEvent event) {
      setState(() {
        _userAccelerometerValues = <double>[event.x, event.y, event.z];
      });
    }));
  }     
...