我将通过蓝牙接收的数据保存在readDataA1/B1/A2/B2/A3
和B3
中,这些数据在类级别声明为String全局。
我不知道为什么此功能结尾的readDataA1/B1/A2/B2/A3
和B3
具有最后接收到的字符串的值。最后,这6个变量具有相同的值。 ham1,ham2和ham3始终为零。我不知道它在哪里覆盖。
String[] splitReadMsgA1 = readMessage.split(":");
readDataA1 = splitReadMsgA1[0];
if(splitReadMsgA1[1].equals("A.1")){
String list_data = new String(Arrays.toString(calcSigWindow(mean_acc_data, timeInMilli)));
sendMsg(list_data + ":" + "B.1");
}
else{
String[] splitReadMsgB1 = readMessage.split(":");
readDataB1 = splitReadMsgB1[0];
if(splitReadMsgB1[1].equals("B.1")){
String list_data = new String(Arrays.toString(calcSigWindow(mean_acc_data, timeInMilli)));
sendMsg(list_data + ":" + "A.2");
ham1 = HammingDistance(StringToIntArray(readDataA1), StringToIntArray(readDataB1));
}
else{
String[] splitReadMsgA2 = readMessage.split(":");
readDataA2 = splitReadMsgA2[0];
if(splitReadMsgA2[1].equals("A.2")){
String list_data = new String(Arrays.toString(calcSigWindow(mean_acc_data, timeInMilli)));
sendMsg(list_data + ":" + "B.2");
}
else{
String[] splitReadMsgB2 = readMessage.split(":");
readDataB2 = splitReadMsgB2[0];
if(splitReadMsgB2[1].equals("B.2")){
String list_data = new String(Arrays.toString(calcSigWindow(mean_acc_data, timeInMilli)));
sendMsg(list_data + ":" + "A.3");
ham2 = HammingDistance(StringToIntArray(readDataA2), StringToIntArray(readDataB2));
}
else{
String[] splitReadMsgA3 = readMessage.split(":");
readDataA3 = splitReadMsgA3[0];
if(splitReadMsgA3[1].equals("A.3")){
String list_data = new String(Arrays.toString(calcSigWindow(mean_acc_data, timeInMilli)));
sendMsg(list_data + ":" + "B.3");
}
else{
String[] splitReadMsgB3 = readMessage.split(":");
readDataB3 = splitReadMsgB3[0];
ham3 = HammingDistance(StringToIntArray(readDataA3), StringToIntArray(readDataB3));
}
}
}
}
}