我正在创建一个android应用程序来连接两个传感器并收集一些数据。为了收集到传感器,我运行以下代码:
// Establish BT connection
connectBoard(boardWrist);
connectBoard(boardAnkle);
// Retrieve accelerometers and gyroscopes
accelerometerWrist = retrieveAccelerometer(boardWrist);
accelerometerAnkle = retrieveAccelerometer(boardAnkle);
gyroscopeWrist = retrieveGyroscope(boardWrist);
gyroscopeAnkle = retrieveGyroscope(boardAnkle);
功能在哪里 connectBoard(MetaWeaerBoard board)
建立与电路板(与加速计和陀螺仪相关)的蓝牙连接,实现如下:
private void connectBoard(MetaWearBoard board){
try {
board.connectWithRetryAsync(3).continueWith(new Continuation<Void, Void>() {
@Override
public Void then(Task<Void> task) throws Exception {
if (task.isFaulted()) {
Log.i("IntAt", "Failed to connect to " + " " + board.getMacAddress());
} else {
Log.i("IntAt", "Connected to " + " " + board.getMacAddress());
}
return null;
}
}).waitForCompletion();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
因为我需要在调用函数之前完全建立蓝牙连接 retrieveAccelerometer
及 retrieveGyroscope
我补充说 .waitForCompletion()
在定义中 connectBoard
. 然而,通过这种方式,我发现应用程序并没有并行地连接到电路板,而是顺序地连接到电路板,这意味着它首先连接到 boardWrist
,等待连接成功,然后连接到 boardAnkle
. 这不是我想要达到的,对新手有什么建议吗?
暂无答案!
目前还没有任何答案,快来回答吧!