伙计们,我有一个问题:
我有一个使用蓝牙连接到外部设备的应用程序。我从此设备读取数据(例如Acceleration)并保存在数组中。这些数据是数据流,例如:
36,-562,-839,36,-563,-839,35,-562,-841,36,-562,-842,36,-562,-843,36,-562,-843...(这是console.log的结果)

我会做的是,为acc变量的每三个值添加变量时间(时间以秒为单位)。喜欢:

时间+加速度
因此结果应为:

1 (sec) : 36,-562,-839,

10 (sec) : 36,-563,-839,

20 (sec) : 35,-562,-841,

30 (sec) : 36,-562,-842,..

这就是我所拥有的:

47840 : -1,-565,-839,-1,-566,-839,0,-565,-839,...

47840是最后时间(当我按下停止按钮以读取数据时的时间)。其他数据是关于加速度的数据。

这是关于此部分的代码。

constructor(props) {
this.state = {
time: null,
acc: [],
array_acc_sx: []}}

async setupNotifications1(device) {
const time = parseInt(
          Buffer.from(characteristic.value, "base64")
            .readUInt16LE(0)
            .toString(16),
          16
        );
const acc = [2, 4, 6].map(index => {
          const hex = Buffer.from(characteristic.value, "base64")
            .readInt16LE(index)
            .toString(16);
          return Number.parseInt(hex, 16);
        });
        const accUpdate_acc_sx = [...this.state.array_acc_sx, ...acc]
        this.setState({ array_acc_sx:  accUpdate_acc_sx})
}

 stopConnection(time, array_acc_sx) {
    return new Promise((resolve, reject) => {
      console.log("Inizio stopConnection");
      Actions.registerattivita({
        time: this.state.time,
        array_acc_sx: this.state.array_acc_sx,})
      resolve("Connessione Interrotta");
      reject("Connessione non interrotta.");
    });
  }
render() {
    return (
      <View>
        <Text>Scarpa Sinistra: </Text>
        <Text>{"Time:" + this.state.time}</Text>
        <Text>{"Acc:" + this.state.acc.join(" ")}</Text>
      </View>
        <View>
          <TouchableOpacity
            style={[style.button, style.buttonOK]}
            onPress={() =>
              this.stopConnection(
                this.state.time,
                this.state.array_acc_sx
              )
            }
          >
            <Text style={style.buttonTesto}>Stop</Text>
          </TouchableOpacity>
        </View>
      </View>
// ......



并在页面RegisterAttivita

    dataReceived(time,array_acc_sx){

        console.log("data acc_sx: " + this.props.time + this.props.array_acc_sx)
      }



我能怎么做??谢谢

最佳答案

我已经解决了用这种方式做的事情:

const accUpdate_acc_sx = [...this.state.array_acc_sx, {time: this.state.time, acc: this.state.acc}]

09-25 19:23