从心率传感器创建值数组
create array of values from heart rate sensor
我创建了一个在 SENSOR_HEART_RATE 中使用的应用程序。
我的应用程序有一个显示心率值的标签,但问题是我每次都会得到很多值,而且这些值变化不频繁。
是否可以从传感器中保存一些值并创建数组?
这是我的部分代码:
public void onSensorChanged(SensorEvent sensorEvent) {
showHeartRate.setText("my heart rate:" + sensorEvent.values[0]);
int i=0;
while(i<10){
arrayHeartRateValues[i]= sensorEvent.values[0];
i++;
}
}
问题是我的数组只有一个值,而不是不同的值。
我没有玩过 android 的传感器,但我看到一些可能会影响预期结果的事情。
首先,您使用的是预设数组 (arrayHeartRateValues),它将被预先构建为设定大小。因为您不确定要捕获的 sensorEvents 的数量,所以我建议使用更灵活的选项。就个人而言,我将 ArrayList class 用于其中的大部分内容,下面的代码示例也将包含它,但您可以使用任何您喜欢的东西。
其次,您(如评论中所述)只是将 arrayHeartRateValues 的所有值设置为 sensorEvent.values[0] 的值。
这是我的处理方式。
在你的代码中的某处(无论你在哪里初始化 arrayHeartRateValues)试试这个
ArrayList<SensorEvent> arrayHeartRateValues = new ArrayList<>();
然后在捕获更改的方法中尝试这个
public void onSensorChanged(SensorEvent sensorEvent) {
showHeartRate.setText("my heart rate:" + sensorEvent.values[0]);
arrayHeartValues.add(sensorEvent);
}
这应该有预期的结果。
我创建了一个在 SENSOR_HEART_RATE 中使用的应用程序。 我的应用程序有一个显示心率值的标签,但问题是我每次都会得到很多值,而且这些值变化不频繁。 是否可以从传感器中保存一些值并创建数组?
这是我的部分代码:
public void onSensorChanged(SensorEvent sensorEvent) {
showHeartRate.setText("my heart rate:" + sensorEvent.values[0]);
int i=0;
while(i<10){
arrayHeartRateValues[i]= sensorEvent.values[0];
i++;
}
}
问题是我的数组只有一个值,而不是不同的值。
我没有玩过 android 的传感器,但我看到一些可能会影响预期结果的事情。
首先,您使用的是预设数组 (arrayHeartRateValues),它将被预先构建为设定大小。因为您不确定要捕获的 sensorEvents 的数量,所以我建议使用更灵活的选项。就个人而言,我将 ArrayList class 用于其中的大部分内容,下面的代码示例也将包含它,但您可以使用任何您喜欢的东西。
其次,您(如评论中所述)只是将 arrayHeartRateValues 的所有值设置为 sensorEvent.values[0] 的值。
这是我的处理方式。
在你的代码中的某处(无论你在哪里初始化 arrayHeartRateValues)试试这个
ArrayList<SensorEvent> arrayHeartRateValues = new ArrayList<>();
然后在捕获更改的方法中尝试这个
public void onSensorChanged(SensorEvent sensorEvent) {
showHeartRate.setText("my heart rate:" + sensorEvent.values[0]);
arrayHeartValues.add(sensorEvent);
}
这应该有预期的结果。