gpt4 book ai didi

java - 在 Android Wear OS(即 CSV)上保存和传输智能 watch 传感器数据的最佳方式是什么?

转载 作者:行者123 更新时间:2023-12-05 00:14:41 24 4
gpt4 key购买 nike

我为 Fossil Gen 6 智能 watch 编写了一个 Wear 应用程序,它从板载传感器中提取光体积描记图 (PPG) 数据并不断更新屏幕上的值。这是我的 onSensorChanged 方法,它识别来自 PPG 传感器的事件并相应地更新 TextView 对象。我还尝试使用 FileWriter 对象将每个数据写入 CSV 文件。

@Override
public void onSensorChanged(SensorEvent event) {

// On event from PPG sensor, update text on screen and
// write to CSV file.
if (event.sensor.getType() == 65572) {
sensorData = event.values[0];
String dataString = Float.toString(sensorData);
textView.setText(dataString);
try {
writer.write(dataString);
} catch (IOException e) {
e.printStackTrace();
}
}
}

文件编写器在 MainActivity 的顶部声明:

    private FileWriter writer;

并且在onResume方法中定义:

protected void onResume() {
super.onResume();
try {
writer = new FileWriter("data.csv",true);
} catch (IOException e) {
e.printStackTrace();
}
}

我不确定该怎么做实际上这个文件可以写入,它应该以某种方式存储在 watch 上还是配对的手机上,以及我如何最终检索我的 PC 上的 CSV 数据用于在 MATLAB 等中进行分析(有没有更好的方法来做到这一点?)谢谢!

最佳答案

我只想说,有很多方法可以做到这一点,什么是“最佳”方法在很大程度上取决于您的用例的具体情况(有时还取决于个人偏好)。

要记住的最重要的一点是,与普通手机相比, watch 的资源(电池、内存、CPU)非常有限。

无论您的确切解决方案是什么样子,都需要牢记以下几点:

  1. 写入文件是一项开销很大的操作。对从传感器接收到的每个数据点执行此操作并不理想。考虑将数据保存到数据库 using Room反而。一个更简单的替代方法是将其保存在内存中,只要您认为在应用程序崩溃或设备意外重启时可能会丢失一些数据。这可以使用基本数组或某种 map (时间戳和值)来完成,具体取决于您需要的数据。您还可以混合使用这两种方法并批量保存数据。

  2. 在 watch 和手机之间发送数据也很昂贵。我强烈建议将东西存储在 watch 本身上,仅在需要时将其传输到手机上。这可以是手动触发,每天在特定时间, watch 正在充电时触发,也可以是其他一些巧妙的策略,以尽量减少对 watch 电池生命周期的影响。

  3. 您可以使用 Wearable Data Layer API 将数据发送到手机.您必须根据需要传输的数据量设置 MessageClientChannelClient。如果您坚持使用 Android 支持的数据结构(而不​​是创建自己的数据结构),发送它们应该是相当直接的。

  4. 如果您需要处理数据或设置数据格式以便在 MATLAB 中轻松对其进行分析,请考虑在手机而不是 watch 上执行此操作。当然,可以直接在 watch 上对合理大小的数据集进行更简单的操作。

您决定如何将文件发送到您的计算机的确切方式超出了我在此试图回答的范围。有很多有据可查的方法可以做到这一点。最简单的是手动 transfer it via adb .这也可以直接从 watch 完成,因此您甚至不必将数据发送到手机。

关于java - 在 Android Wear OS(即 CSV)上保存和传输智能 watch 传感器数据的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70250275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com