Я сохраняю данные, полученные через Bluetooth, в readDataA1/B1/A2/B2/A3
и B3
, которые объявлены как строковые глобальные, на уровне класса.Я не знаю, почему 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));
}
}
}
}
}