我使用Android设备从加速度计和光传感器中检索数据。我将数据写入OutputStream,通过蓝牙将数据发送到Arduino。我想创建一个类似下面的字符串 - " X值(加速度计),Y值(加速度计),光线传感器值" 但问题是我无法从同一个SensorEvent获得两个值数组。它似乎只包含加速度计值。这就是我现在所拥有的......
@Override
public void onSensorChanged(SensorEvent event) {
actualTime = System.currentTimeMillis();
if(event.sensor.getType() == Sensor.TYPE_GRAVITY) {
int x = (int) event.values[0];
int y = (int) event.values[1];
String grav = x + "," + y;
if (mConnectedThread != null) {
if(actualTime - lastUpdate > 500) {
mConnectedThread.write(grav.getBytes());
lastUpdate = actualTime;
}
}
}
else if(event.sensor.getType() == Sensor.TYPE_LIGHT) {
actualTime = System.currentTimeMillis();
float value = event.values[0];
if(mConnectedThread != null) {
if(actualTime - lastUpdate > 500) {
String val = "" + value;
mConnectedThread.write("click".getBytes());
lastUpdate = actualTime;
}
}
}
答案 0 :(得分:0)
如果您只是从Sensor.TYPE_GRAVITY事件中发送x和y值。
另外,当发生Sensor.TYPE_LIGHT事件时,您将发送“click”一词编码为字节。这似乎不太可能是你想要的
当您触发2个不同的事件时,很难看到如何一次发送所有数据,除非您存储事件,稍后将它们合并然后发送。